当前位置:   article > 正文

微信小程序如何调用微信支付接口?_小程序唤起微信支付

小程序唤起微信支付

开发前准备

小程序appid,商户id,商户密钥(key),付款用户的(openid)

调用微信支付接口

(流程:首先调用微信统一下单接口,之后在调用wx.requestPayment(OBJECT)发起微信支付)

获取openid

  1. wx.login({
  2. success (res) {
  3. if (res.code) {
  4. //发起网络请求
  5. wx.request({
  6. url: 'https://example.com/onLogin',
  7. data: {
  8. code: res.code
  9. }
  10. })
  11. } else {
  12. console.log('登录失败!' + res.errMsg)
  13. }
  14. }
  15. })

其中这个接口是需要后端开发的,code是用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session 接口,使用 code 换取 openid、unionid、session_key 等信息

获取到openid后,我们下面请求支付接口,我们来看一下简单的小程序端请求支付接口的完整代码:

 

  1. payment(openid) {
  2. var that = this;
  3. wx.request({
  4. url: ‘https://example.com/onLogin‘,
  5. data: {
  6. "openid": openid
  7. },
  8. header: {
  9. "Content-Type": "application/json",
  10. },
  11. success: function (ress) {
  12. wx.requestPayment({
  13. timeStamp: ress.data.data.timeStamp,
  14. nonceStr: ress.data.data.nonceStr,
  15. package: ress.data.data.package,
  16. signType: 'MD5',
  17. paySign: ress.data.data.paySign,
  18. success: function (e) {
  19. console.log(e.data);
  20. },
  21. fail: function (e) {
  22. console.log("失败");
  23. }
  24. })
  25. }
  26. })
  27. }

好了 ,现在可能有人会问package和paysign后端如何获取?

其实在获取到openid后然后后端就请求订单数据到微信支付的jsapi统一下单接口获取到prepay_id,然后package的值就是prepay_id=wx21201855730335ac86f8c43d1889123400

paysign就是签名,使用字段appId、timeStamp、nonceStr、package 计算得出签名值

注意:signtype这个分MD5和RSA,V2版本的支付接口使用MD5,V3使用RSA

至此,支付顺利成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/149279?site
推荐阅读
相关标签
  

闽ICP备14008679号