微信小程序支付(b2b)
通过 统一支付API 下单,trade_type=WXMAB2B
请求的sence_info
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| app_key | 是 | String(128) | 小程序现网AppKey(AppKey查看入口:微信B2B小程序门店助手 -> 支付管理 -> 商户号管理查看详情 -> 基本配置) |
| session_key | 是 | String(128) | 小程序会话密钥,通过小程序登录jscode2session接口获取 |
如何调起微信B2B支付
参考以下流程,业务侧商城小程序可成功调用微信B2B门店助手支付。
1. 获取小程序登录ccode
通过wx.login()获取code
wx.login({
success: loginRes => {
return loginRes.code
}
})
2. 获取session_key和app_key
session_key当前用户有效的会话密钥 可通过登录code获取session_key,参考auth.code2Session这个接口: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html
小程序现网app_key获取:微信B2B小程序MP查看:门店助手 -> 支付管理 -> 商户号管理查看详情->基本配置中的沙箱AppKey和现网AppKey
3. 后台支付下单
详见统一下单支付 payment=WXPAY,trade_type=WXMAB2B,is_wxapp=Y,sence_info传入session_key和app_key pay_info返回值直接透传到前端小程序
4. 小程序调起B2B支付
商城小程序调用wx.requestCommonPayment()组件发起B2B支付,包含四个关键参数:
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| signData | Object | 是 | 具体支付参数,后台下单返回 |
| mode | String | 是 | 固定传retail_pay_goods |
| paySig | String | 是 | 支付签名,后台下单返回 |
| signature | String | 是 | 用户态签名,后台下单返回 |
通过后台支付下单成功返回pay_info,Json格式,形如:
{
"signData": "{\"amount\":{\"order_amount\":1},\"attach\":\"2025-03-1918:46:01\",\"description\":\"商城订单\",\"env\":0,\"mchid\":\"1987654321\",\"out_trade_no\":\"250319184601594155264\"}",
"paySig": "66d1e1a44972f14a0b56102bcb8e28c06c39e9cb84c00afe426bac90f84b32f5",
"signature": "8fdb50cffb663e322726fa5047b668da86f211214724ab9c47dfb4569ad6589b"
}
调用微信支付组件,实例代码:
wx.requestCommonPayment({
signData: pay_info.signData,
mode: 'retail_pay_goods',
paySig: pay_info.paySig,
signature: pay_info.signature,
success: () => {
//微信支付成功回调
//do something
},
fail: () => {
//微信支付失败回调
//do something
}
})