开发指引
更新时间:2026.04.091、整体业务开发流程概览
商户后端调用下单接口(参考JSAPI/小程序下单,APP下单,JSAPI合单下单,小程序合单下单,APP合单下单,Native支付下单),获取预支付ID prepay_id ,调起微信支付(参考JSAPI调起支付,小程序调起支付,APP调起支付,JSAPI合单调起支付,小程序合单调起支付,APP合单调起支付),唤起微信支付收银台。
当用户在收银台完成支付后点击完成按钮,或中途取消支付,页面会从收银台跳转到商户页内,同时商户页前端将收到回调,此时商户后端需调用查单接口确认订单状态,并根据订单状态进行相应的业务逻辑处理(在商户页面向用户展示查询到的订单支付状态、在商户内部系统更新订单状态等),如果订单支付成功,微信支付系统还会发送支付成功回调通知给商户。
最后商户可通过下载交易账单进行对账。需要退款的订单,也可调用退款接口完成退款。

2、详细步骤说明
|
用户选择微信分付支付的时序图如下所示(如果用户选择的是微信支付,时序保持不变,没有在下图展示),在当前接入微信支付的时序上新增1个交互接口,修改4个交互接口,以红线标识。

2.1、 查询曝光建议
当用户查看商品详情页时,商户系统会查询微信支付系统以获取支付方式的曝光建议(步骤1.2,参考获取微信分付曝光建议),根据结果决定是否前置曝光微信分付。
2.2、商户下单
用户选择微信分付支付方式付款,商户系统调用微信支付系统下单(步骤1.6,参考JSAPI/小程序下单,APP下单,JSAPI合单下单,小程序合单下单,APP合单下单,Native支付下单),获取预支付交易会话标识 prepay_id 。下单时可以传递一个参数 subsidy_info 表示商户支持的贴息方案,定义如下。如果商户决定不贴息就不需要传该参数。
字段名 | 类型 | 是否必填 | 如何传递 | 描述 |
|---|---|---|---|---|
subsidy_info | object | 否 | Body | 贴息信息 |
subsidy_info 结构如下
字段名 | 类型 | 是否必填 | 如何传递 | 描述 |
|---|---|---|---|---|
subsidy_detail | array | 否 | Body | 贴息详情 |
subsidy_detail 结构如下
字段名 | 类型 | 是否必填 | 如何传递 | 描述 |
|---|---|---|---|---|
subsidy_period_type | string | 是 | Body | 必填 "PERIOD" |
subsidy_plan | array | 是 | Body | 贴息方案 |
subsidy_plan 结构如下
字段名 | 类型 | 是否必填 | 如何传递 | 描述 |
|---|---|---|---|---|
subsidy_installment_num | int | 是 | Body | 贴息期数,只能填3、6或12. |
subsidy_percent | int | 是 | Body | 贴息比例,只能填0或者100。0表示不贴息,100表示免息。 |
例如,商户支持对3期和6期免息传递参数如下:
对于Native支付,还应该传如下两个参数(在subsidy_info下),表示用户选择的还款方式:
selected_installment_period_type(字符串类型):用户选择的还款类型,DAILY表示随时还,PERIOD表示分期还。
selected_installment_number(整数类型):如果用户选择分期还,填用户选择的还款期数;否则不填。
举例如下:
2.3、商户调起支付
商户在调起微信支付(步骤1.8,参考JSAPI调起支付,小程序调起支付,APP调起支付,JSAPI合单调起支付,小程序合单调起支付,APP合单调起支付)时,需通过一个扩展参数传递用户选择的支付方式,具体传参规则如下:
JSAPI支付和小程序支付场景:
若用户选择的是微信分付的随时还,参数 package为prepay_id=*&subsidy_period_type=DAILY,其中 prepay_id 的值传下单接口获取的“预支付交易会话标识”;
若用户选择的是微信分付的分期还,参数 package为prepay_id=*&subsidy_period_type=PERIOD&selected_installment_number=*, 其中 selected_installment_number 填用户选择的还款期数。
APP支付场景:
若用户选择的是微信分付的随时还,参数 packageValue为Sign=WXPay&SubsidyPeriodType=DAILY;
若用户选择的是微信分付的分期还,参数 packageValue为Sign=WXPay&SubsidyPeriodType=PERIOD&SelectedInstallmentNumber=*, 其中 SelectedInstallmentNumber 填用户选择的还款期数。
Native支付场景:与普通支付一致
2.4、用户支付
用户在微信收银台完成支付/取消支付,返回商户前端页面后,微信浏览器内置对象方法会收到回调,此时商户需要调用查单接口(参考JSAPI支付查单,小程序支付查单,APP支付查单,合单支付查单,Native支付查单)确认订单状态,并返回如下字段表示支付时使用的商户贴息信息。
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
installment_info | object | 否 | 为商户贴息的订单并且支付成功才有以下字段。 |
installment_info 结构如下
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
use_subsidy | bool | 是 | 是否使用了商户贴息 |
selected_installment_number | int | 是 | 用户实际选择分期期数 |
同时,如果用户支付成功,微信支付系统会向商户发送支付通知(参考JSAPI支付通知,小程序支付通知,APP支付通知,合单支付通知,Native支付通知),在resource解密后字段中新增如下字段表示支付时使用的商户贴息信息。
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
installment_info | object | 否 | 为商户贴息的订单并且支付成功才有以下字段。 |
installment_info 结构如下
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
use_subsidy | bool | 是 | 是否使用了商户贴息 |
selected_installment_number | int | 是 | 用户实际选择分期期数 |
2.5、商户对账
详细参考:账单产品介绍
样例如下:
分期技术服务费的扣费会新增一条记录
分期技术服务费的退费会在“退款”的备注中注明

2.6、订单退款
详细参考:退款产品介绍
关于分期技术服务费的退费:15个自然日内的订单原路退回,否则不退。

