pay.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import Notify from '../miniprogram_npm/@vant/weapp/notify/notify';
  2. const api = require('../api/index')
  3. const config = {
  4. };
  5. function getPages(){
  6. var obj = {
  7. type: 'danger'
  8. }
  9. if(wx.getStorageSync('isComponent')){
  10. obj.top = wx.getStorageSync('height')
  11. }
  12. return obj
  13. }
  14. function payMoney(data){
  15. return new Promise((resolve, reject) => {
  16. api.weixinpay(data).then(res=>{
  17. console.log(res)
  18. if(res.code == 200){
  19. var obj = res.data.data
  20. wx.hideLoading()
  21. wx.requestPayment
  22. (
  23. {
  24. "timeStamp": `${obj.timestamp}`,
  25. "nonceStr": obj.nonceStr,
  26. "package": "prepay_id="+obj.prepayId,
  27. "signType":obj.signType,
  28. "paySign": obj.signature,
  29. "success":function(res){
  30. // console.log(res)
  31. // resolve(res);
  32. },
  33. "fail":function(res){
  34. var obj = getPages()
  35. if(res.errMsg == 'requestPayment:fail cancel'){
  36. obj.message = '取消支付'
  37. }else{
  38. obj.message = '支付失败'
  39. }
  40. if(obj.message){
  41. Notify(obj)
  42. }
  43. // console.log(res)
  44. // resolve(res);
  45. },
  46. "complete":function(res){
  47. // console.log(res)
  48. resolve(res);
  49. }
  50. }
  51. )
  52. }else if(res.code == 901){
  53. var obj = {
  54. errMsg: 'requestPayment:ok'
  55. }
  56. resolve(obj);
  57. }
  58. }).catch(error=>{
  59. reject(error || '未知错误');
  60. })
  61. })
  62. }
  63. function open(data,selector='myPay'){
  64. var pages = getCurrentPages()
  65. const actionSheetRef = pages[pages.length-1].selectComponent('#'+selector)
  66. actionSheetRef.show(data)
  67. }
  68. // 导出请求方法
  69. module.exports = {
  70. payMoney: (data) => payMoney(data),
  71. openPay: (data,selector) => open(data,selector)
  72. };