间连B2B小程序门店助手接入


 

一、目标接入场景

针对已经在微信建立自己的B2B小程序的品牌商/经销商/批发商,在小程序上已完成门店认证的小B向大B进行支付时,可在原有微信订单资金管控的基础上,对符合微信要求的B2B交易实现实时资金解冻。

 

二、接入方案和流程说明

1、接入准备

大B商户/小程序开发者需在小程序完成

1. 完成B2b类目认证

登陆小程序管理后台(https://mp.weixin.qq.com/), 找到「设置基本信息服务类目」,添加[商家自营-B2b(商品批发门店管理)]类目

2.  开通门店助手服务

左侧导航栏[行业能力]下找到[B2b门店助手],在页面点击[开通]后,填写小程序基本信息,点击[提交]即可完成开通

3.  引入门店认证插件

a.  添加插件:登录小程序后台(mp.weixin.qq.com), 点击左下方头像,“账号设置第三方设置_插件管理-添加插件”,搜索“小程序门]店助手”并申请添加,也可以使用开发者工具运行小程序,并引入插件,在调试器中会提示‘添加插件"”,点击添加插件,前往小程序管理后台确认

b.  配置插件:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/B2b_store_assistant.html#_1-2-%E9%85%8D%E7%BD%AE%E6%8F%92%E4%BB%B6

c.  小程序前端改造在小程序的流程设计中,需引导用户进入”小程序店助手“插件页面,完成店认证授权流程。只有完成门店认证授权的用户,方可获取用户的门店信息、使用模板消息功能以及享受优惠费率。案例如下:

d.  完成门店信息预录入:支持微信后台录入或API录入(https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/B2b_store_assistant.html#_2-5-%E3%80%90%E8%BF%9B%E9%98%B6%E5%8A%9F%E8%83%BD%E3%80%91%E9%A2%84%E5%BD%95%E5%85%A5%E9%97%A8%E5%BA%97%E4%BF%A1%E6%81%AFapi

4.  引导交易用户完成门店认证

5.  完成B2B 专用支付接口接入(见下文第三点对接指引)

 

2、交易商户号配置

1.  启用专用商户号

微信建议专号专用,使用专用的商户号来进行B2B交易,未完成门店认证的用户,建议使用其他商户号以及普通支付接口进行行支付,避免微信风控。

2.  完成商户微信开户意愿确认

3.  配置小程序APPID

对专用商户号配置B2B对应的小程序APPID

注意:

1)  APPID必须是资金管控的APPID

2)  专用商户号不能配置其他不符合B2B要求的APPID,否则无法完成活动报名

4.  完成活动报名

为实现免账期,还需要在交易之前完成大B商户号优惠费率活动报名:《线上批发小程序活动》

报名路径:

1)页面报名:请联系通联支付分公司客户经理操作。(企业微信-商户服务-其他服务-热门活动)

2)API报名:接口地址https://prodoc.allinpay.com/doc/1456/

 

3、交易说明

1.  交易类型说明

B2B交易对应的交易类型是【微信订单预消费】paytype=W11,本质上与微信订单预消费资金管控逻辑一致,只是符合B2B要求的交易,在交易后很快会补登【微信订单预消费完成交易】,达到资金的快速解冻。

详见云商通各版本的支付模式中,关于“微信小程序支付”的说明。

2.  使用专用支付接口

交易时,小程序需要提前判断用户是否为已经完成门店认证的小B,对于是的情况,需使用 B2B 专用支付接口代替常规的支付接口。对于未认证的门店,需使用微信小程序支付。

3.  业务时序图

大B小程序需要判断用户是否完成门店认证后,使用不同的商户号发起支付,并注意红色部分,在发起支付时使用对应的接口。

 

4.  其他提

如果微信认为商户发生风险情况变化,仍会对商户进行账期管控。以微信实际管控为准。

 

 

三、B2B 间连专用支付小程序接口说明

小程序接口 wx.requestCommonPayment(Object object)

基础库3.8.6版本后支持(说明:由于该接口仍未向旧版本基础库进行覆盖,因此对接期间,请使用该版本进行开发。待开发验证无问题后,平台将进行旧版本基础库覆盖,此时方可正式对外使用)

请求参数

属性

类型

[长度限制]

必填

描述

signData

Object

具体支付参数,详见signData,该参数以string传递。

mode

string

支付类型,固定填retail_pay_indirect_goods

示例值:retail_pay_indirect_goods

success

function

接口调用成功的回调函数

fail

function

接口调用失败的回调函数

complete

function

接口调用结束的回调函数(调用成功、失败都会执行)

1) signData

参数名

变量

类型

[长度限制]

必填

描述

微信支付参数

requestPaymentInfo

object

支付信息,格式见requestPaymentInfo

2)requestPaymentInfo

变量

类型

[长度限制]

必填

描述

timeStamp

string

时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间

nonceStr

string

随机字符串,长度为32个字符以下

package

string

统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=***

signType

string

签名算法,应与后台下单时的值一致

paySign

string

签名,具体见微信支付文档

 

请求示例

 

 
const signDataObj = {
requestPaymentInfo: {
timeStamp: "1747019232",
nonceStr: "120899265cce4c39b95e4f31dff5ddc2",
package: "prepay_id=wx12110712204599f3186256a53fbfa90001",
signType: "RSA",
paySign:
"hqMkkLJr4wXqIoPfM5M2JLC51pFWRXSMwXwT0jsDxND+Jch7NNKylc8RC/JTyh+bYe5ALbm0Zru9bDeeGWFGvnRxtfWJ7K73LZ6RsvgVij7dE1uZNNtkjtYXqOTSXQAL5DsnQkZkru01XGqQbAFIda5qsUR3jc4Bx5D9bT4M6ogIrNlWbijkOybsoNn099IQAQbdtbO+HmGgkDAW07SdL1BLr7glyZVI0c2tuD+ssaM0PmHbCJq7M3v5gj8VX2GtGQEj85j67ZWAwtJTSoLbiT/y9Zy/xTLN9RxZ/WZ4hM1I21syfuLGKNw8azc08+LE2YgOGyUlWaQnQmFDxwwYfA==",
},
};
 
console.log("\n\n\n\n\n请求参数");
console.log(signDataObj);
// @ts-expect-error
wx.requestCommonPayment({
signData: JSON.stringify(signDataObj),
mode: "retail_pay_indirect_goods",
success: (res: any) => {
},
fail: (e: any) => {
},
});

 

返回参数

object.success 回调函数

属性

类型

说明

errMsg

string

调用成功信息

object.fail 回调函数

属性

类型

说明

errMsg

string

错误信息

errCode

number

错误码

错误码

错误码

说明

1000

系统错误

702009

B2b授权关系校验不通过

 


wuxl2 2025年7月23日 09:50 25 0 条评论 收藏文档