AD:靠谱的微信小程序外包开发

admin

admin

发表于 2017-07-26 21:05:07

摘要:微信小程序开发者社区(www.mntuku.cn)为您提供:微信小程序支付
相关的资讯,希望对您有帮助。

微信小程序支付

分享者:冉然,来自原文地址调支付接口的时,先需要服务器先进行签名,签名中获取服务器地址时有个小坑,要注意!第一步调用https://api.weixin.qq.com/sns/jscode2sessionwx.request({ url: https://api.weixin.qq ...

分享者:冉然,来自原文地址 
调支付接口的时,先需要服务器先进行签名,签名中获取服务器地址时有个小坑,要注意! 
第一步调用https://api.weixin.qq.com/sns/jscode2session

  1. wx.request({
  2. url: https://api.weixin.qq.com/sns/jscode2session,
  3. data: {
  4. appid: wxf**************,
  5. secret: ****************,
  6. js_code: that.globalData.code,
  7. grant_type: authorization_code
  8. },
  9. })

第二步调用:自己服务端调用的接口,获取timeStamp、nonceStr、package、signType、paySign

  1. url: https://360fast-edu.com/api/weixin/quaPay.do,
  2. data: {
  3. totalAmount: 10.0,
  4. description: ****,
  5. openid: openid,
  6. token: token,
  7. question: e.detail.value.userName,
  8. },

第三步获取到这些信息之后再直接调用接口

  1. wx.request{
  2. },

第四步微信小程序异步通知服务端

支付中我们需要获取openid,openid需要在登录的接口中获取。

最后-----------------------------------------总结--------------------------------

  1. Page({
  2. data: {
  3. height: 20,
  4. focus: false,
  5. tip: ,
  6. userName: ,
  7. price2: 10.0
  8. },
  9. //全局数据
  10. globalData: {
  11. userInfo: null,
  12. code: ,
  13. },
  14. bindFormSubmit: function (e) {
  15. if (e.detail.value.userName.length == 0) {
  16. this.setData({
  17. tip: 提示:提交的问题不能为空!,
  18. userName: ,
  19. psw:
  20. })
  21. } else {
  22. var token2 = wx.getStorageSync(token)
  23. var that = this;
  24. wx.login({
  25. success: function (res) {
  26. that.globalData.code = res.code
  27. wx.request({
  28. url: https://api.weixin.qq.com/sns/jscode2session,
  29. data: {
  30. appid: *********,
  31. secret: ********,
  32. js_code: that.globalData.code,
  33. grant_type: authorization_code
  34. },
  35. method: GET,
  36. success: function (res) {
  37. console.log(res.data.openid);
  38. //拼接签名
  39. var openid2 = res.data.openid;//用户标示
  40. wx.request({
  41. url: https://服务端提供的接口,
  42. data: {
  43. totalAmount: 10.0,
  44. description: 描述,
  45. openid: openid2,
  46. token: token2,
  47. question: e.detail.value.userName,
  48. },
  49. method: GET,
  50. success: function (res) {
  51. console.log(res);
  52. var orderNumber2 = res.data.orderNumber;
  53. wx.requestPayment({
  54. timeStamp: res.data.timeStamp,
  55. nonceStr: res.data.nonceStr,
  56. package: res.data.package,
  57. signType: res.data.signType,
  58. paySign: res.data.paySign,
  59. success: function (res) {
  60. //成功之后微信服务号回异步通知服务器是否支付成功
  61. },
  62. fail: function (res) {
  63. },
  64. complete: function (res) {
  65. }
  66. })
  67. },
  68. fail: function (res) {
  69. console.log(!!!!提问付款失败!!!!);
  70. },
  71. complete: function (res) {
  72. }
  73. })
  74. },
  75. fail: function (res) {
  76. },
  77. complete: function (res) {
  78. }
  79. })
  80. },
  81. fail: function (res) {
  82. },
  83. complete: function (res) {
  84. }
  85. })
  86. this.setData({
  87. tip: ,
  88. userName: 问题: + e.detail.value.userName,
  89. })
  90. }
  91. },
  92. })

73阅读 | 0评论
你的回应