按照微信支付的云开发文档提供的代码:
// 云函数代码
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const res = await cloud.cloudPay.unifiedOrder({
"body" : "小秋TIT店-超市", // 商品描述
"outTradeNo" : "1217752501201407033233368018", // 商户订单号
"spbillCreateIp" : "请传入终端 ip 地址,支持 ipv6", // 终端 IP
"subMchId" : "1900009231", // 商户号
"totalFee" : 1, // 总金额
"envId": "test-f0b102", // 云函数环境名称
"functionName": "payNotify" // 支付结果通知回调云函数名
})
return res
}
// 小程序代码
wx.cloud.callFunction({
name: '函数名',
data: {
// ...
},
success: res => {
const payment = res.result.payment
wx.requestPayment({
...payment,
success (res) {
console.log('pay success', res)
},
fail (err) {
console.error('pay fail', err)
}
})
},
fail: console.error,
})
写了functionName为payNotify,也添加并上传了payNotify云函数,但是支付成功后没有调用payNotify云函数,请问什么原因?
payNotify
云函数已经正确部署并绑定到了正确的环境。你可以在云函数控制台查看云函数的部署状态和环境信息。name
属性是否与payNotify
云函数的名称一致。data
对象包含了支付所需的所有参数,如商品描述、商户订单号等。wx.requestPayment
方法是否正确调用。如果调用过程中出现错误,可以在控制台查看详细的错误信息。payNotify
云函数。