更新时间:2024-11-21 15:10:22
商户可以通过请求此接口唤起微信委托代扣的页面,页面样例见案例与规范。
用户在微信的页面中完成代扣签约后,微信会同时将签约信息通过异步通知的方式通知给商户后台。如果用户放弃签约或签约失败则不通知。
pay/partner/authsign
POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
sub_appid | String | 32 | N | 微信子商户appid |
request_serial | String | 12 | Y | 请求序列号.商户请求签约时的序列号,商户侧须唯一。序列号主要用于排序,不作为查询条件,纯数字。长度不超过12位 |
plan_id | String | 28 | Y | 模板id |
contract_code | String | 32 | Y | 签约协议号,商户侧的签约协议号,由商户生成 |
contract_display_account | String | 32 | Y | 用户账户展示名称,签约用户的名称,用于页面展示,参数值不支持UTF8非3字节编码的字符,例如表情符号,所以请勿传微信昵称到该字段 |
sign_channel | String | 1 | Y | 签约渠道:0 公众号 1 小程序 |
notify_url | String | 128 | Y | 回调通知url,并urlEncode(get请求拼接需要urlEncode,签名拼接不需要urlEncode) |
return_web | String | 1 | N | 返回web,1表示返回签约页面的referer url, 0 或不填或获取不到referer则不返回; 跳转referer url时会自动带上参数from_wxpay=1 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
result_code | String | 2 | N | 业务处理响应码,01成功 02失败 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
sign_channel为0时返回下列参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
sign_url | String | 128 | Y | 公众号签约地址 |
sign_channel为1时返回下列参数
注意:
请求完这个接口得到的下列返回参数直接去调微信小程序免密签约,参数值不用做变化
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
appid | String | 32 | Y | 微信签约小程序appid |
mch_id | String | 32 | Y | 商户号 |
sub_mch_id | String | 32 | Y | 子商户号 |
sub_appid | String | 32 | N | 微信子商户appid |
plan_id | String | 28 | Y | 模板id |
contract_code | String | 32 | Y | 签约协议号,商户侧的签约协议号,由商户生成 |
contract_display_account | String | 32 | Y | 用户账户展示名称,签约用户的名称,用于页面展示,参数值不支持UTF8非3字节编码的字符,例如表情符号,所以请勿传微信昵称到该字段 |
notify_url | String | 128 | Y | HTTP或者HTTPS开头的回调通知url ,不需要对值进行urlencode |
request_serial | String | 12 | Y | 商户请求签约时的序列号。序列号主要用于排序,不作为查询条件,纯数字。长度不超过12位 |
timestamp | String | 32 | Y | 时间戳,系统当前时间,定义规则详见时间戳,示例:1414488825 |
sign | String | 32 | Y | 签名 |
Method: POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
result_code | String | 2 | Y | 业务处理响应码,01成功 02失败 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
merchant_name | String | 32 | Y | 商户名称 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
plan_id | String | 28 | Y | 模板id |
contract_code | String | 32 | Y | 签约协议号,商户侧的签约协议号,由商户生成 |
openid | String | 32 | Y | 用户标识,Appid下,用户的唯一标识 |
sub_openid | String | 32 | N | 用户子标识,sub_appid下,用户的唯一标识 |
change_type | String | 32 | Y | 变更类型ADD--签约 DELETE--解约,商户可通过该字段判断是签约回调还是解约回调 |
contract_id | String | 32 | Y | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
contract_expired_time | String | 19 | N | 协议到期时间,协议到期时间,当change_type为ADD时有返回,示例:2016-07-01 10:00:00 |
contract_termination_mode | String | 1 | N | 协议解约方式,当change_type为DELETE时有返回 0-未解约 1-有效期过自动解约 2-用户主动解约 3-商户API解约 4-商户平台解约 5-注销 |
request_serial | String | 12 | Y | 请求序列号.商户请求签约时的序列号,商户侧须唯一。序列号主要用于排序,不作为查询条件,纯数字。长度不超过12位 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 返回信息提示,“签名失败”,“参数格式校验错误"等 |
查询签约关系接口提供单笔签约关系查询,共支持三种模式的查询:
查询方式一:使用微信返回的委托代扣协议contract_id进行查询
查询方式二:plan_id+contract_code模式:传入模板id和委托代扣协议号进行查询
pay/partner/querycontract
POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
sub_appid | String | 32 | N | 微信子商户appid |
plan_id | String | 28 | N | 模板id |
contract_code | String | 32 | N | 签约协议号,商户侧的签约协议号,由商户生成 |
contract_id | String | 32 | N | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
result_code | String | 2 | Y | 业务处理响应码,01成功 02失败 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
merchant_name | String | 32 | Y | 商户名称 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
request_serial | String | 12 | Y | 请求序列号.商户请求签约时的序列号,商户侧须唯一。序列号主要用于排序,不作为查询条件,纯数字。长度不超过12位 |
contract_id | String | 32 | Y | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
plan_id | String | 28 | Y | 模板id |
contract_code | String | 32 | Y | 签约协议号,商户侧的签约协议号,由商户生成 |
contract_display_account | String | 40 | Y | 用户账户展示名称,签约用户的名称,用于页面展示 |
contract_state | String | 1 | Y | 协议状态,0-已签约 1-未签约 |
contract_signed_time | String | 19 | Y | 协议签署时间 yyyy-MM-dd HH:mm:ss |
contract_expired_time | String | 19 | N | 协议到期时间yyyy-MM-dd HH:mm:ss |
contract_terminated_time | String | 1 | N | 协议解约时间yyyy-MM-dd HH:mm:ss当contract_state=1时,该值有效 |
contract_termination_mode | String | 1 | N | 当contract_state=1时,该值有效 0-未解约 1-有效期过自动解约 2-用户主动解约 3-商户API解约 4-商户平台解约 5-注销 |
contract_termination_remark | String | 1 | N | 解约备注,当contract_state=1时,该值有效 |
openid | String | 32 | Y | 用户标识,Appid下,用户的唯一标识 |
sub_openid | String | 32 | N | 用户子标识,sub_appid下,用户的唯一标识 |
商户与用户的签约关系有误或者商户主动要求与用户解除之前的签约协议时可调用此接口完成解约。目前商户侧支持两种模式的解约:
1)contract_id模式:使用委托代扣协议id完成解约
2)plan_id+contract_code模式:使用模板id和委托代扣协议号完成解约
URL:pay/partner/deletecontract
Method: POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
sub_appid | String | 32 | N | 微信子商户appid |
plan_id | String | 28 | N | 模板id |
contract_code | String | 32 | N | 签约协议号,商户侧的签约协议号,由商户生成 |
contract_id | String | 32 | N | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
contract_termination_remark | String | 256 | Y | 解约备注,解约原因的备注说明,如:签约信息有误,须重新签约 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
result_code | String | 2 | Y | 业务处理响应码,01成功 02失败 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
merchant_name | String | 32 | Y | 商户名称 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
contract_id | String | 32 | Y | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
plan_id | String | 28 | Y | 模板id |
contract_code | String | 32 | Y | 签约协议号,商户侧的签约协议号,由商户生成 |
委托代扣可应用于定期扣款或需事后扣款以期提高效率的场景。例如但不限于,会员制缴费、水电煤缴费、黄钻绿钻增值服务、打车类软件、停车场或高速公路无人缴费、理财通基金定投、信用卡还款等通过用户授权给商户,进行委托扣款的场景。
注:扣费请求首先按签约协议中记录的优先支付方式扣费,否则依次按以下顺序扣费:零钱、信用卡、借记卡
注意:对于自动续费的代扣申请,微信将延迟24小时进行扣款(首次签约可在签约后12小时内立即扣款成功,不受此规则限制)
pay/partner/pappayapply
POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss |
sub_appid | String | 32 | N | 微信子商户appid |
total_fee | String | 12 | Y | 金额,单位分 |
order_body | String | 128 | Y | 订单描述 |
goods_tag | String | 32 | N | 订单优惠标记,代金券或立减优惠功能的参数 |
attach | String | 128 | N | 附加数据,原样返回 |
contract_id | String | 32 | Y | 委托代扣协议id,签约成功后,微信返回的委托代扣协议id |
receipt | String | 8 | N | 电子发票入口开放标识,Y,传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 |
notify_url | String | 128 | Y | 外部系统通知地址 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
result_code | String | 2 | N | 业务处理响应码,01成功 02失败 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | Y商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
attach | String | 128 | N | 附加数据,原样返回 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
Method: POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
result_code | String | 2 | Y | 业务处理响应码,01成功 02失败 |
pay_type | String | 3 | Y | 请求类型,010微信,当前只支持微信 |
pay_ver | String | 3 | Y | 版本号 201 |
user_id | String | 40 | Y | 付款方用户id,“微信openid”、 |
merchant_name | String | 32 | Y | 商户名称 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
total_fee | String | 12 | Y | 金额,单位分 |
end_time | String | 12 | Y | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | Y | 利楚唯一订单号 |
channel_trade_no | String | 32 | Y | 微信官方订单号 |
attach | String | 32 | Y | 附加数据,原样返回 |
trade_state | String | 12 | N | 交易状态 SUCCESS:支付成功;REFUND:转入退款;ACCEPTED:已受理,未支付;PAY_FAIL支付失败(其他原因,如银行返回失败); PAY_BACK:用户归还欠款(仅当本单由微信支付预先垫付资金,即bank_type=BPA时有可能发生) 【pay_ver=201时返回该字段】 |
bank_type | String | 32 | N | 银行类型,扣款成功时返回,注:使用BPA表示本笔订单由微信支付预先垫付资金 【pay_ver=201时返回该字段】 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 返回信息提示,“签名失败”,“参数格式校验错误"等 |
pay/partner/queryorder
POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
out_trade_no | String | 32 | Y | 订单号,查询凭据,填利楚订单号、微信订单号任意一个 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
result_code | String | 2 | N | 业务处理响应码,01成功 02失败 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
trade_state | String | 12 | N | 交易状态 SUCCESS:支付成功;REFUND:转入退款;ACCEPTED:已受理,未支付;PAY_FAIL支付失败(其他原因,如银行返回失败); PAY_BACK:用户归还欠款(仅当本单由微信支付预先垫付资金,即bank_type=BPA时有可能发生) |
bank_type | String | 32 | N | 银行类型,扣款成功时返回,注:使用BPA表示本笔订单由微信支付预先垫付资金 【pay_ver=201时返回该字段】 |
receipt_fee | String | 12 | N | 实收金额,单位分【pay_ver=201时返回该字段】 |
total_fee | String | 12 | N | 金额,单位分 |
end_time | String | 12 | N | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
channel_trade_no | String | 32 | N | 微信官方订单号 |
attach | String | 32 | N | 附加数据,原样返回 |
pay/partner/refund
POST
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 请求类型,010微信,020 支付宝,当前只支持微信 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
out_trade_no | String | 32 | Y | 订单号,查询凭据,填利楚订单号、微信订单号任意一个 |
refund_fee | String | 12 | Y | 退款金额,单位分 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
返回参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 业务响应码,01成功 02失败 |
return_msg | String | 128 | Y | 业务响应描述 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
result_code | String | 2 | N | 业务处理响应码,01成功 02失败 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
refund_fee | String | 12 | N | 退款金额,单位分 |
end_time | String | 12 | N | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 唯一订单号 |
out_refund_no | String | 32 | N | 唯一退款单号 |