首先,商人应在微信商人平台上开设商户帐户,并且可以自由开设商户帐户。
网站
如果您的付款申请是一个Mini计划,则在打开商家帐户时需要绑定Mini计划。
激活后,您可以在迷你程序中编程。当然,云开发需要绑定并设置在后台。有关详细过程,请参阅文章末尾的图片。
1。云开发代码案例
在业务页面上启动云功能调用
//.js
doPay:function(){
wx.cloud.callFunction({
name: 'payFunction',
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,
})
}
这是您自己定义的云功能
/.js
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
let now = new Date().getTime()
const res = await cloud.cloudPay.unifiedOrder({
"body" : "一个测试商品",
"outTradeNo" : "test" + now,
"spbillCreateIp" : "192.168.1.1",
"subMchId" : "商户号", //你的商户号
"totalFee" : 0.1, //支付金额
"envId": "cloud1-evnid", //你的云开发cloudid
"nonceStr":"test" + now,
"functionName": "payCallback"//回调自定义云函数
})
return res
}
如果付款成功,则将调用自定义的云功能来处理您自己的业务逻辑。
/.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
//主要用于看日志,可以删除
event: event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
//以上可以删除
//必须写,否则会一直回调
errcode:0
}
}
:0必须写下它,这是平台所需的反馈,否则微信支付平台将不断回电。
云开发中的付款非常简单且非常安全。对于许多小型迷你节目,例如花店,宠物店等以及预订等迷你节目,这都是非常易于使用的,这都是非常好的场景。
2。遇到的问题:接受关系不存在
在业务页面付款过程中遇到的此问题是因为绑定到微信支付商人帐户的迷你程序后端需要启用微信支付配置,并且需要绑定状态。
您可以使用Mini程序开发工具打开云开发窗口并找到“其他设置”以绑定。
请参阅上面的图片,只需绑定商人号码并授权它。
绑定后,如果出现“等待模板消息确认”,请放心,请确保您遵循移动微信上的官方帐户“微信支付商人助理”。大约10-15分钟,您将在移动微信上收到模板消息。点击确认。
然后它被束缚和授权。
如果您再次启动付款,它将成功。
3。撤回过程
这样,您的微信商人帐户将从Mini计划中获得付款金额,而Mini计划商人帐户将在第一个工作日自动将收据和现金撤回相应的银行卡。
此时,整个付款和提款过程已经完成。