支付中签约

最新更新时间:2020.04.17 版本说明


支付的同时完成代扣协议的签约。

开发流程介绍:

步骤1 请求支付中签约接口(参数见请求参数),获取预支付id (对应参数:prepay_id). 此步骤需要根据不同支付方式选择不同的trade_type(trade_type详细介绍请参见交易类型规则).


步骤2 按照不同支付方式的不同规则,按要求唤起微信支付收银台.不同的支付方式,对于唤起微信支付收银台的方法要求不同,具体可以参见以下表格:


扫码支付(NATIVE)详见: 扫码支付(NATIVE)在线文档
公众号支付(JSAPI)详见: 公众号支付(JSAPI)在线文档
App支付(APP)详见: App支付(APP)在线文档
H5(MWEB)支付详见: H5(MWEB)在线文档
小程序(JSAPI)支付详见: 小程序支付在线文档

步骤3 用户完成支付,微信通过支付中签约接口中商户上传的通知回调地址(对应参数:notify_url),将支付结果返回给商户,同时将签约结果通过contract_notify_url通知给商户,两次通知皆为异步通知。

接口说明

适用对象:直连商户

请求URL: https://api.mch.weixin.qq.com/pay/contractorder

请求方式: POST

是否需要证书:

返回参数

参数名 变量 类型[长度限制] 必填 描述
返回状态码 return_code string[1,16] SUCCESS/FAIL
示例值:SUCCESS
返回信息 return_msg string[1,128] 返回信息,如非空,为错误原因
如:签名失败 等。
示例值:签名失败

以下字段在return_code为SUCCESS的时候有返回

参数名 变量 类型[长度限制] 必填 描述
业务结果 result_code string[1,16] SUCCESS/FAIL
示例值:SUCCESS
应用ID appid string[1,32] 直连商户申请的公众号或移动应用appid。
示例值:wxcbda96de0b165486
商户号 mch_id string[1,32] 商户号是商户在微信申请微信支付成功后分配的帐号ID,登录平台为pay.weixin.qq.com
示例值:1200009811
随机字符串 nonce_str string[1,32] 随机字符串,不长于32位.
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS
签名 sign string[1,32] 签名规则详见签名生成算法 注:所有参数都是encode前做签名.
示例值:E1EE61A91C8E90F299DE6AE075D60A2D
错误代码 err_code string[1,32] 错误返回的错误代码
示例值:SYSTEMERROR
错误代码描述 err_code_des string[1,128] 错误返回的信息描述
示例值:系统错误
预签约结果 contract_result_code string[1,16] 预签约结果
示例值:SUCCESS
预签约错误代码 contract_err_code string[1,32] 预签约错误代码
示例值:Fail
预签约错误描述 contract_err_code_des string[1,] 预签约错误描述
示例值:已签约

以下字段在return_code 和result_code都为SUCCESS的时候有返回

参数名 变量 类型[长度限制] 必填 描述
签名 sign string[1,32] 详见签名生成算法
示例值:C380BEC2BFD727A4B6845133519F3AD6
公众账号id appid string[1,32] 微信支付分配的公众账号id
示例值:wxcbda96de0b165486
商户号 mch_id string[1,32] 微信支付分配的商户号
示例值:10000098
预支付交易会话标识 prepay_id string[1,64] 微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时.
示例值:wx201410272009395522657a690389285100
交易类型 trade_type string[1,16] 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP
示例值:JSAPI
二维码链接 code_url string[1,64] trade_type为NATIVE是有返回,可将该参数值生成二维码展示出来进行扫码支付
示例值:weixin://wxpay/s/An4baqw
模板id plan_id int 商户在微信商户平台设置的代扣协议模板id
示例值:123
请求序列号 request_serial int 64 商户请求签约时的序列号,商户侧须唯一,禁止使用0开头
示例值:1695
签约协议号 contract_code string[1,32] 商户请求签约时传入的签约协议号,商户侧须唯一
示例值:1023658866
用户账户展示名称 contract_display_account string[1,32] 签约用户的名称,用于页面展示
示例值:张三
支付跳转链接 mweb_url string[1,64] mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。
示例值:https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241
商户订单号 out_trade_no string[1,32] 商户订单号
示例值:123456

返回示例:


<xml>
 <return_code><![CDATA[SUCCESS]]></return_code>
 <result_code><![CDATA[SUCCESS]]></result_code>
 <appid><![CDATA[wxcbda96de0b165486]]></appid>
 <mch_id><![CDATA[1200009811]]></mch_id>
 <prepay_id><![CDATA[wx201410272009395522657a690389285100]]></prepay_id>
 <sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
 <trade_type><![CDATA[JSAPI]]></trade_type>
 <code_url><![CDATA[weixin://wxpay/s/An4baqw]]></code_url>
 <plan_id><![CDATA[123]]></plan_id>
 <out_trade_no><![CDATA[123456]]></out_trade_no>
</xml>
{

 
 
 
 
 
 
 
 
 

错误码

错误码 描述 解决方案
SIGN_ERROR 签名错误 验证签名算法
PARAMETER FAIL 参数错误 验证参数
XML FAIL XML格式错误 检查XML格式
RESULT NULL 查询为空 传入正确查询参数
MERCHANT PERMISSION ERROR 受理商户没有权限 确认商户权限
INVALID PLAN_ID 签约模板无效 检查正确模板id
CONTRACT_CODE DUPLICATION 该签约号已存在 contract_code已经被签约,请传入不重复的签约号
MERCHANT AUTHORITY ERROR 商户权限校验失败 联系相关接口人确认委托代扣权限


版本说明

关闭
V1.0
2020年04月17日
1. 支付中签约接口上线

技术咨询

反馈有奖