request-payment.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const paymentUrl = require('../../../../config').paymentUrl
  2. const app = getApp()
  3. Page({
  4. onShareAppMessage() {
  5. return {
  6. title: '发起支付',
  7. path: 'page/API/pages/request-payment/request-payment'
  8. }
  9. },
  10. onLoad() {},
  11. requestPayment() {
  12. const self = this
  13. self.setData({
  14. loading: true
  15. })
  16. // 此处需要先调用wx.login方法获取code,然后在服务端调用微信接口使用code换取下单用户的openId
  17. // 具体文档参考https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161230#wxloginobject
  18. app.getUserOpenId(function (err, openid) {
  19. if (!err) {
  20. wx.request({
  21. url: paymentUrl,
  22. data: {
  23. openid
  24. },
  25. method: 'POST',
  26. success(res) {
  27. console.log('unified order success, response is:', res)
  28. const payargs = res.data.payargs
  29. wx.requestPayment({
  30. timeStamp: payargs.timeStamp,
  31. nonceStr: payargs.nonceStr,
  32. package: payargs.package,
  33. signType: payargs.signType,
  34. paySign: payargs.paySign
  35. })
  36. self.setData({
  37. loading: false
  38. })
  39. }
  40. })
  41. } else {
  42. console.log('err:', err)
  43. self.setData({
  44. loading: false
  45. })
  46. }
  47. })
  48. }
  49. })