微信公众号支付的笔记

爬出了这个坑 留点记录防止以后重蹈覆辙

流程
用户选择产品 购买->
我生成订单记录 把订单号发给微信->
微信即刻返回微信的支付订单号->
我拿着这个微信的支付订单号 返回前端页面 然后调用一段js->
用户手机就弹出支付框->用户支付完成后->
微信自动访问我在网站上留给微信的回调地址->
如果我不理微信,他就会一直发 一直发,直到我告诉他我收到了才罢休

微信支付的文档其实也还好,完整了 看着文档来 一步一步就没事了

注意点生成sign 大小写 大小写 大小写
支付的sign参数
后端

     chooseWXPayMap.put("appId", info.getAppId());
      chooseWXPayMap.put("nonceStr", info.getNonceStr());
      chooseWXPayMap.put("package", info.getPackageValue());
      chooseWXPayMap.put("signType", info.getSignType());
      chooseWXPayMap.put("timeStamp", info.getTimeStamp());

前端js

wx.chooseWXPay({
                    timestamp: timeStamp, 
                    nonceStr: obj.nonceStr, // 支付签名随机串,不长于 32 位
                    package: obj.packageValue, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
                    signType: obj.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
                    paySign: obj.paySign, // 支付签名
                    success: function (res) {
                        CommonPerson.Base.showTips.FullScreenShow("支付成功");
                        setTimeout(function(){
                            location.reload();
                        }, 1000);
                    }
                });

建议先使用 微信的这个getBrandWCPayRequest方法
chooseWXPay错了就只会告诉我 chooseWXPay:fail 不会说原因,getBrandWCPayRequest相对详细一点

config的 signature参数
后端

    configMap.put("jsapi_ticket", jsapi_ticket);
    configMap.put("noncestr", info.getNonceStr());
    configMap.put("timestamp", info.getTimeStamp());
    configMap.put("url", topUrl);

前端

wx.config({
                debug: false, // 开启调试模式
                appId: obj.appId, // 必填,公众号的唯一标识
                timestamp:timeStamp , // 必填,生成签名的时间戳
                nonceStr: obj.nonceStr, // 必填,生成签名的随机串
                signature: obj.configSign,// 必填,签名,见附录1
                jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
            });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值