微信前言:
本文主要总结开发过程中遇到的问题,这些问题在百度上难以寻找答案的问题,希望遇到与我相同问题的哥们儿可以通过这篇文章有所启示;主要从云函数和微信支付两部分描述;对应的源码微信小程序支付、https、post、get、云函数-Javascript文档类资源-CSDN下载
云函数部分:
主要的流程百度搜索”微信小程序云函数开发“就行了,按照流程操作,并结合本文连接的源码应该就没什么问题,主要的坑有两点,一是如果要https访问自己的服务器,那么需要在微信公众平台登录的微信小程序(开发->开发管理->开发设置->服务器域名),设置好对应的https://...域名
其次需要在代码对应位置添加云环境
微信支付部分:
支付部分的代码说实话不复杂,主要是整个流程繁杂而且可能不同开发环境不同而操作不同;具体的流程可以抖音上面搜索编程小石头的微信支付视频教程,源码参考我上传的代码;其中我遇到的问题是上传到云函数的数据结构问题,参考代码吧!
//云函数小程序代码
var _this = this;
this.setData({
orderNumber:this.data.merchantNumber+new Date().getTime()
});
//需要上传给云函数的数据
var tempPrice = parseInt(this.data.totalPrice/10) ;
let uploadData = {
totalFee : tempPrice,//商品支付的金额,单位是‘分’
subMchId : this.data.merchantNumber,//微信支付商户号
outTradeNo : this.data.orderNumber,//new Date().getTime(),//订单号
body : this.data.chooseItem,//商品名称
}
console.log("请求云支付...");
wx.cloud.callFunction({
name: 'pay0611',
data:uploadData,
success: res => {
const payment = res.result.payment
console.log(res)
//调用支付
wx.requestPayment({
...payment,
success: (res) =>{
console.log('支付成功', res);
this.setData({
payState:true
});
_this.sendToService();
},
fail: (res) => {
console.log('支付失败...')
this.setData({
payState:false
});
// _this.sendToService();//调试使用
}
})
wx.showToast({
title: '处理中,请稍后...',
icon: "none",
duration: 2500,
mask: true
})
},
fail:res=>{
console.log("支付失败;参数:",res)
},
})