开发指引

更新时间:2025.10.16

1、开发前准备

1.1、设置安全联系人

微信支付日常安全监测发现技术异常时,会向安全联系人和超级管理员发送风险提醒。请商户超级管理员尽快设置技术同事为安全联系人,确保能及时接收异常信息评估业务风险,详见安全联系人设置指引

1.2、熟悉微信支付接口规则

正式进入开发前,开发者需要先阅读基本规则开发参数申请和配置了解调用微信支付接口的基本规则和签名规则。

1.3、准备开发参数

在发起接口请求时,开发者还需传入一些必要参数,如服务商商户号、子商户号(也叫特约商户号)、sp_appid、证书私钥、公钥等,获取方式详见:服务商模式开发必要参数说明

2、整体业务开发流程概览

注意:

  • 如果用户选择的是非微信分付支付,时序与普通支付的流程一致

  • 微信分付支付不支持H5支付和Native支付方式

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

 

  1. 当用户查看商品详情页时,商户系统会查询微信支付系统以获取支付方式的曝光建议(步骤1.2,参考获取微信分付曝光建议),根据结果决定是否前置曝光微信分付。

  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期免息传递参数如下:

1{
2  "subsidy_info": {
3    "subsidy_detail": [
4      {
5        "subsidy_period_type": "PERIOD",
6        "subsidy_plan": [
7          {
8            "subsidy_installment_num": 3,
9            "subsidy_percent": 100
10          },
11          {
12            "subsidy_installment_num": 6,
13            "subsidy_percent": 100
14          }
15        ]
16      }
17    ]
18  }
19}
  1. 商户在调起微信支付(步骤1.8,参考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  填用户选择的还款期数。

  2. 微信支付通知支付结果时包括商户贴息信息(步骤1.11,参考JSAPI支付通知小程序支付通知APP支付通知合单支付通知),在resource解密后字段中新增如下字段表示支付时使用的商户贴息信息。

字段名

类型

是否必填

描述

installment_info

object

为商户贴息的订单并且支付成功才有以下字段。

installment_info 结构如下

字段名

类型

是否必填

描述

use_subsidy

bool

是否使用了商户贴息

selected_installment_number

int

用户实际选择分期期数

商户也可以通过商户订单号查询支付结果(步骤1.14,参考JSAPI支付查单小程序支付查单APP支付查单合单查单),并返回如下字段表示支付时使用的商户贴息信息。

字段名

类型

是否必填

描述

installment_info

object

为商户贴息的订单并且支付成功才有以下字段。

installment_info 结构如下

字段名

类型

是否必填

描述

use_subsidy

bool

是否使用了商户贴息

selected_installment_number

int

用户实际选择分期期数