跳到主要内容

微信小程序支付(b2b)

通过 统一支付API 下单,trade_type=WXMAB2B

请求的sence_info

参数必填类型说明
app_keyString(128)小程序现网AppKey(AppKey查看入口:微信B2B小程序门店助手 -> 支付管理 -> 商户号管理查看详情 -> 基本配置)
session_keyString(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支付,包含四个关键参数:

属性类型必填描述
signDataObject具体支付参数,后台下单返回
modeString固定传retail_pay_goods
paySigString支付签名,后台下单返回
signatureString用户态签名,后台下单返回

通过后台支付下单成功返回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
}
})