微信小程序支付遇到的坑

1,微信公众号支付和微信小程序支付有差异

 微信公众号:可以直接跳转走h5的微信支付

微信小程序:在测试环境、沙箱环境使用微信公众号的跳转支付没有问题,在线上存在支付异常

最后商讨的解决方法

 openid获取的方法------appid----code----apenid,accestoken

通过appenid拿到对应的验签--

{"code":0,"data":{"onlyCardPay":false,"paramStr":"{"appId":"wx42717f54417ecce1","nonceStr":"jf3nrssre50imqiw7odgrg37l2xbd0kd","package":"prepay_id=wx081219379987660ba709d52d3193336979","paySign":"C60C1DB483CD8C9A7DA518C3CE11CAD8","signType":"MD5","timeStamp":"1546921178"}","payChannel":"wx_xcx","payOrderId":"281975780250193921","paySuccessUrl":"https://minisite.daojia.com/pt/topic/collage2/index.html?productId=237&orderId=615469211711148832&groupId=154341#/orderdetail","result":true},"message":"成功","success":true} 

 业务线给我们传递OPENID---进入收银台

 去支付——收银台判断当前是微信小程序,跳转业务方提供的原声小程序链接,进行跳转,支付他们去支付

let url = data.paySuccessUrl
let signData = data.paramStr
Window.wx.miniProgram.getEnv(function (res) {
let sd = encodeURIComponent(signData)
url = `/pages/h5-weapp-pay/h5-weapp-pay?signData=${sd}&url=${url}`
if (res.miniprogram) {
if (signData.length === 0) {
// alert("signData不能为空")
return false
}
Window.wx.miniProgram.navigateTo({
url: url
})
}
})

wx.requestPayment(
{
'timeStamp''',
'nonceStr''',
'package''',
'signType''MD5',
'paySign''',
'success':function(res){
},
'fail':function(res){},
'complete':function(res){
}
})

 二、第二天遇到一个bug问题,在不同微信的账号上,登录的统一的账号的,其中一个手机提示,支付账单和账单账号不匹配,他们传的openid是一致的。

原文地址:https://www.cnblogs.com/yayaxuping/p/10241688.html