云托管后台调用统一下单接口https://api.weixin.qq.com/_/pay/unifiedorder成功,前端小程序拿到后台接口返回的timeStamp、nonceStr、package、signType、paySign调用wx.requestPayment后,能成功唤起支付页面,但当输入支付密码,点击确认支付后,返回requestpayment:fail cancel ,试过多次都是返回同样结果,请问是啥原因呢?调用wx.requestPayment参数如下:{"timeStamp":"1664348287","nonceStr":"f9fXqXHz30sOdyHe","package":"prepay_id=wx281458072062678807e560dd9166de0000","signType":"MD5","paySign":"ED1228577A3907222D185D069ABFB6AD"}
云托管统一支付的接口对底层做了封装,path字段猜测应该是和其他字段比如域名组合映射到微信支付底层notify_url字段的,官方文档path要求是string(64),但我只填了20多个字符就超了,notify_url的要求是String(256)。遇到相同问题的小伙伴可以把path尽量设置短一点试试
请按以下几点检查:
2、金额字段填了100,没有问题
3、参数全部都一个个检查了几遍,确认没有问题
"body": "微信云托管支付测试",
"callback_type": 2,
"container": {
"path": "/api/callback",
"service": "minigram"
},
"env_id": "prod-43534634gsgdf",
"openid": "oDUTr5C-F5vmIV-DufQaezBVmret",
"out_trade_no": "1234592032328",
"spbill_create_ip": "127.0.0.1",
"sub_mch_id": "16293xxxxx",
"total_fee": 100
}