微信公众号支付JSAPI,提示:2支付缺少参数:appId

因为demo中支付金额是定死的,所以需要调整。

所以在使用的JS上添加了参数传入。

//调用微信JS api 支付
    function jsApiCall(jsStr) {
        WeixinJSBridge.invoke(
        ‘getBrandWCPayRequest‘,
         jsStr,//存在问题的
         //jsStr,//josn串
         function (res) {
             WeixinJSBridge.log(res.err_msg);
             //由于官方申明:使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。
             //所以在返回ok的时候,只进行成功提示(即使是支付失败,但是返回是ok)
             $(".flsclose03").click();
             if (res.err_msg == "get_brand_wcpay_request:ok") {
                 $(".cmact_blackbg1").stop(true, true).fadeIn("fast");
                 $("#tip_success").stop(true, true).fadeIn("fast");
             } else {
                 $(".cmact_blackbg1").stop(true, true).fadeIn("fast");
                 $("#tip_fail").stop(true, true).fadeIn("fast");
             }
         }
         );
    }

    function callpay(jsStr) {
        if (typeof WeixinJSBridge == "undefined") {
            if (document.addEventListener) {
                document.addEventListener(‘WeixinJSBridgeReady‘, jsApiCall(jsStr), false);
            }
            else if (document.attachEvent) {
                document.attachEvent(‘WeixinJSBridgeReady‘, jsApiCall(jsStr));
                document.attachEvent(‘onWeixinJSBridgeReady‘, jsApiCall(jsStr));
            }
        }
        else {
            jsApiCall(jsStr);
        }
    }

微信Demo中的模式是直接返回string parameters = jsApiParam.ToJson();字符串的,在前端<%=parameters%>直接调取的

项目中测试的时候,也是照着这种模式来的,只不过这个字符串,不是直接调用,而是作为js方法中的参数传入的。导致无法访问到这一串参数。一直报的是缺少参数appId,但就是不知道原因,改了访问目录,亦或是统一下单的参数,耗了几个小时。

百度查的时候,实际上最早就有这种说法,JSON格式问题,自然也试了一下,不过只是将传入的那一串打印出来罢了,并没有真正改。

知道后来实在没办法了,就报着试试的心态,将最近的一个数据放到js中

{
             "appId": "",
             "nonceStr":"",
             "package": "",
             "paySign": "",
             "signType": "",
             "timeStamp": ""
         }

结果自然,成功了。因为不清楚到底是怎么产生变化的,所以干脆就如下写了,传个对象,总没有问题。

时间: 2024-10-07 10:35:56

微信公众号支付JSAPI,提示:2支付缺少参数:appId的相关文章

SpringCloud : 接入 微信公众号平台(三)、获取JsSDK配置参数

Java: import com.phpdragon.wechat.proxy.config.WeChatConfig; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.bean.WxJsapiSignature; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService;

微信公众号开发(三)生成带参数的二维码

微信公众号开发之生成带参数的二维码 做微信公众号开发的人员都知道用户海报作为公众号吸引用户是常见的渠道,那么我就说说这个海报的生成. 看了好多公众号发现他们的海报都是大同小异,一个漂亮的背景+自己的头像+专属二维码. 背景就不阐述了,用户的头像可以由公众号开发文档提供的方式获取(根据用户的openId),今天主要讲用户的专属二维码 所谓专属即便是一对一的. 二维码分为两种,临时二维码和永久二维码 /*生成永久二维码*/ public static String getPerpetualQR(St

微信公众号在线生成二维码带参数怎么搞?

带参数二维码是微信公众号渠道二维码的一种实现 微信的带参数二维码有两种,一种是临时二维码,一种是永久二维码,但是永久二维码的生成是有个数限制的,微号帮功能实现生成二维码海报.渠道二维码生成,确保公众号在合适的场景使用合适的功能 渠道二维码功能 推广员二维码 推广员二维码生成后 海报二维码功能 海报二维码效果数据 海报二维码推广员(即参加海报二维码推广的人) 用户通过二维码进入,自动回复信息支持文字.图片.单图文.小程序等信息格式,图文信息可以指向任意URL:推送给用户,实时监控到二维码来源的所有

微信公众号卡券接口提示签名错误解决办法

现有的微信卡券接口文档中,签名是用api_ticket作为加密参数,但使用api_ticket会提示“签名错误”,导致卡券无法正常领取, 解决办法是把api_ticket替换为公众号的appSecret即可,如下: $signature  = sha1($timestamp.$api_ticket.$card_id); 改为: $signature  = sha1($timestamp.$appSecret.$card_id); 此为老版本的加密方式,虽说微信官方已经发布了新版本,但目前依旧无法

微信公众号jssdk分享接口onMenuShareAppMessage自定义的参数无效,微信分享失败原因

使用jssdk为jweixin-1.4.0.js updateTimelineShareData,安全域名接口也设置正确,可就是分享,转发朋友圈不成功. 解决方案:采用<script src="https://res2.wx.qq.com/open/js/jweixin-1.2.0.js"></script>,wx.onMenuShareTimeline,wx.onMenuShareAppMessage就成功了.--------------------- 原文:

微信授权登录+微信公众号支付

记录工作备忘 采用TP3.2.3来二开--主要是微信授权登录.js自定义分享.支付+回调 1)先在公众号获取相关配置参数,配置公众号的网页授权域名.js接口域名 // 微信配置参数 'wechat_option' => array( 'appid' => 'w****a769023a', 'appsecret' => 'c****0accc10d19e5f85541b9' ), // 微信支付配置 'WEIXINPAY_CONFIG' => array( 'APPID' =>

微信公众号开发_如何接入微信支付?[网页发起支付]

开发背景 在微信公众号中,需要获取支付功能 前提 公众号已经开通支付功能[未开通的自行百度] 实现步骤 接入JSSDK JSSDK使用步骤 参考微信JS-SDK说明文档 使用JSSDK中的 微信支付 API wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写.但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: 'abc', // 支付签名随机串,不长于 32

信用卡微信公众号或服务号解除绑定-实录

目前主流的信用卡发卡行均已推出基于微信公众号服务号的便民服务若是需要解除绑定呢 新测还是比较简单的基本的方法都是发送"解除绑定"或者类似字样到发卡行的微信公众号再根据提示就可以进行解除绑定操作了. 以下是实际操作记录供参考 招商银行 M.E 取消绑定 招商银行信用卡 您是需要选择以下哪项功能 6. 开通微信持卡人验证 7. 取消微信持卡人验证 8. 掌上生活如何关联或删除卡片 9. 掌上生活注册.绑卡攻略 10. 取消微信支付功能 11. 设置自动扣款功能 请您对本次回复做出评价感谢您

java 扫描微信公众号二维码,关注并登录逻辑

场景:户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: 系统生成带参数的临时二维码:参数 scene_str 自定义为唯一值(可以是uuid),临时二维码的生成方式参照官方接口的开发文档 用户使用微信扫描该二维码,关注后微信服务器会将关注事件的响应数据返回给我们的应用服务器:微信通过我们在公众号配置的“服务器地址(URL)”,将响应数据返回给我们的应用服务器,响应数据包括 参数 scene_str 和 openid 应用服务器将接收到的openid再次向微信服务器发起请