各位高手看下我传的参数是不是写法错了(我想用户付款完成后才把用户信息插入到表里)
(1)提交调起支付
wx.cloud.callFunction({
name: 'payq',
data: {
outTradeNo: _this.data.orderCodehao, //订单号
totalFee: _this.data.zjiner,
openidbl:wx.getStorageSync('_openid'), //付款的openid
openidbeichouqubl:_this.data.beichouquren_Openid,//被付款的对象openid
}
(2)付款
exports.main = async (event, context) => {
const res = await cloud.cloudPay.unifiedOrder({
"body":'名称', //商品名称或商品描述
"outTradeNo": event.outTradeNo, //订单号
"spbillCreateIp": "127.0.0.1",
"subMchId": "XXXXXX", //****** 微信支付商户号
"totalFee": event.totalFee * 100,
"envId": "cloud1-6gojmXXXXXXX",
"functionName": "payCallBack", //支付成功的回调
"openidbl":event.openidbl,//这里这样写对吗?传openid到回调那边
"openidbeichouqubl":event.openidbeichouqubl//这里这样写对吗?传openid到回调那边
})
return res
}
(3)回调函数payCallBack
exports.main = async (event, context) => {
//订单号 event.outTradeNo
const returnCode = event.returnCode; // 是否支付成功
const resultCode = event.resultCode ; // 是否支付成功
if (returnCode == 'SUCCESS' && resultCode == 'SUCCESS' ) {
return await cloud.database().collection('表名').add({
data: {
_openid:event.openidbl, //写不到表里。。。有问题(空的)
_openid_beichouqu:event.openidbeichouqubl, //写不到表里,,有问题(空的)
outTradeNo:event.outTradeNo //这个是可以写到表里的(成功)
}
})
.then(res => {
return { errcode: 0, errmsg: 'SUCCESS' }
}).catch(res => {
return { errcode: 0, errmsg: '' }
})
}
}
但凡在payCallBack里加一句console.log(even),都不会来发贴。
这样的程序员的基操。