开发指引
更新时间:2026.04.091、开发前准备
1.1、设置安全联系人
微信支付日常安全监测发现技术异常时,会向安全联系人和超级管理员发送风险提醒。请商户超级管理员尽快设置技术同事为安全联系人,确保能及时接收异常信息评估业务风险,详见安全联系人设置指引。
1.2、熟悉微信支付接口规则
1.3、准备开发参数
在发起接口请求时,开发者还需传入一些必要参数,如服务商商户号、子商户号(也叫特约商户号)、sp_appid、证书私钥、公钥等,获取方式详见:服务商模式开发必要参数说明。
2、整体业务开发流程概览
|
服务商后端调用下单接口,获取预支付ID prepay_id ,调起微信支付,唤起微信支付收银台。
当用户在收银台完成支付后点击完成按钮,或中途取消支付,页面会从收银台跳转到商户页内,同时服务商/子商户前端将收到回调,此时服务商后端需调用查单接口确认订单状态,并根据订单状态进行相应的业务逻辑处理(在服务商/子商户页面向用户展示查询到的订单支付状态、在服务商内部系统更新订单状态等),如果订单支付成功,微信支付系统还会发送支付成功回调通知给服务商。
最后服务商可通过下载交易账单进行对账。需要退款的订单,也可调用退款接口完成退款。

3、详细步骤说明
用户选择微信分付支付的时序图如下所示(如果用户选择的是微信支付,时序保持不变,没有在下图展示),在当前接入微信支付的时序上新增1个交互接口,修改4个交互接口,以红线标识。
3.1、查询曝光建议
当用户查看商品详情页时,商户系统会查询微信支付系统以获取支付方式的曝光建议(步骤1.2,参考 获取微信分付曝光建议 ),根据结果决定是否前置曝光微信分付。分付。
3.2、服务商下单
用户选择微信分付支付方式付款,商户系统调用微信支付系统下单(步骤1.6,参考JSAPI/小程序下单,APP下单,JSAPI/小程序合单下单,APP合单下单),获取预支付交易会话标识 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期免息传递参数如下:
3.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 填用户选择的还款期数。
3.4、用户支付
用户在微信收银台完成支付/取消支付,返回商户前端页面后,微信浏览器内置对象方法会收到回调,此时服务商需要调用查单接口(步骤1.14,参考JSAPI支付查单,小程序支付查单,APP支付查单,合单查单)确认订单状态,并返回如下字段表示支付时使用的商户贴息信息。
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
installment_info | object | 否 | 为商户贴息的订单并且支付成功才有以下字段。 |
installment_info 结构如下
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
use_subsidy | bool | 是 | 是否使用了商户贴息 |
selected_installment_number | int | 是 | 用户实际选择分期期数 |
同时,如果用户支付成功,微信支付系统会向服务商发送支付通知(步骤1.11,参考JSAPI支付通知,小程序支付通知,APP支付通知,合单支付通知),在resource解密后字段中新增如下字段表示支付时使用的商户贴息信息。
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
installment_info | object | 否 | 为商户贴息的订单并且支付成功才有以下字段。 |
installment_info 结构如下
字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
use_subsidy | bool | 是 | 是否使用了商户贴息 |
selected_installment_number | int | 是 | 用户实际选择分期期数 |
3.5、商户对账
详细参考:账单产品介绍
样例如下:
分期技术服务费的扣费会新增一条记录
分期技术服务费的退费会在“退款”的备注中注明

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

