写在前面
已经开通微信支付商户号,并且小程序绑定了此商户号。
实现
创建小程序,填写appid,选择云开发...不做赘述。
新建云函数 pay ,参考 示例代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
// 生成32位大写随机字符串
const randomString = function (length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
return result;
}
const res = await cloud.cloudPay.unifiedOrder({
"body" : "测试",
"outTradeNo" : `${Date.now().toString().slice(3)}`,
"spbillCreateIp" : "127.0.0.1",
"subMchId" : "1565000000",
"subAppid" : "wx080a191278000000",
"totalFee" : 1,
"functionName" : 'callback',
"envId:" : 'miniapp-env',
"nonceStr" : randomString(32, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ').toUpperCase(),
"tradeType": 'JSAPI',
})
return res
}
点击后
btnPay() {
wx.cloud.callFunction({
name: 'pay',
success: res => {
const payment = res.result.payment
console.log(payment)
wx.requestPayment({
...payment,
success (res) {
console.log('pay success', res)
// ...todo
},
fail (err) {
console.error('pay fail', err)
}
})
},
fail: console.error,
})
}
ok
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。