参考资料

QQ小程序官方对于微信支付的说明:
https://q.qq.com/wiki/develop/miniprogram/server/virtual-payment/wx_pay.html

QQ小程序唤醒微信支付的api:
https://q.qq.com/wiki/develop/miniprogram/API/open_port/port_pay.html#qq-requestwxpayment

使用步骤

①开通微信支付H5支付

https://pay.weixin.qq.com/
image.png

这里假设你绑定的域名是 www.abc.com
后面会用到这个域名

② QQ小程序后台,配置微信支付信息

https://q.qq.com/

image.png

商户号填写你的微信支付的商户号
回调地址填写:
https://api.it120.cc/**gooking**/pay/wx/payBack
其中 gooking 请换成你自己的专属域名
《什么是专属域名?》

③ 调用接口,生成支付信息

https://api.it120.cc/doc.html#/%E5%89%8D%E7%AB%AFapi%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3/%E5%9C%A8%E7%BA%BF%E6%94%AF%E4%BB%98/qh5UsingPOST

接口提交支付金额,会返回h5的微信支付地址:

  1. {
  2. "code": 0,
  3. "data": {
  4. "outTradeId": "ZF2104252002525561",
  5. "nonce_str": "cO72uG9dETmRWJzp",
  6. "mweb_url": "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx251624501891612d14824df19470cd0000&package=593014821",
  7. "appid": "111111111",
  8. "sign": "222222",
  9. "trade_type": "MWEB",
  10. "return_msg": "OK",
  11. "result_code": "SUCCESS",
  12. "mch_id": "1605629913",
  13. "return_code": "SUCCESS",
  14. "prepay_id": "wx251624501891612d14824df19470cd0001"
  15. },
  16. "msg": "success"
  17. }

④ 唤醒微信支付完成支付

  1. qq.requestWxPayment({
  2. url: '上面接口返回的 mweb_url',
  3. referer: 'http://www.abc.com',
  4. fail: function (aaa) {
  5. console.error(aaa)
  6. wx.showToast({
  7. title: '支付失败:' + aaa
  8. })
  9. },
  10. success: function () {
  11. // 提示支付成功
  12. wx.showToast({
  13. title: '支付成功'
  14. })
  15. }
  16. })

上述例子中,h5支付,绑定的域名为 www.abc.com
所以 referer 参数为 http://www.abc.com