当用户支付成功后,企业微信会推送支付成功的通知到『对外收款』应用中配置的指令回调URL。按照概述中介绍的解密方法,可以得到回调的结构体。
支付成功回调结构体示例:
{
"appid": "wxd678efh567hg6787",
"mchid": "1230000109",
"out_trade_no": "1217752501201407033233368018",
"trade_state": "SUCCESS",
"trade_state_desc": "支付失败,请重新下单支付",
"trade_type": "MICROPAY",
"attach": "自定义数据",
"success_time": "2018-06-08T10:34:56+08:00",
"amount": {
"payer_total": 100,
"total": 100,
"currency": "CNY",
"payer_currency": "CNY"
},
"payer": {
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
}
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
appid | string | 小程序appid。示例值:wxd678efh567hg6999 |
mchid | string | 企业微信分配的商户号。示例值:1900000109 |
out_trade_no | string | 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。特殊规则:最小字符长度为6。示例值:1217752501201407033233368018 |
trade_state | string | 交易状态,枚举值: SUCCESS:支付成功 REFUND:转入退款 NOTPAY:未支付 CLOSED:已关闭 REVOKED:已撤销(付款码支付) USERPAYING:用户支付中(付款码支付) PAYERROR:支付失败(其他原因,如银行返回失败) 示例值:SUCCESS |
trade_state_desc | string | 交易状态描述。示例值:支付失败,请重新下单支付 |
attach | string | 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。示例值:自定义数据 |
success_time | string | 支付完成时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。示例值:2018-06-08T10:34:56+08:00 |
payer | object | 支付者信息,详见Payer。 |
amount | object | 订单金额信息,详见Amount。 |
Payer结构说明:
参数 | 类型 | 说明 |
---|---|---|
openid | string | 用户小程序appid下的唯一标识。示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
Amount结构说明:
参数 | 类型 | 说明 |
---|---|---|
total | int | 订单总金额,单位为分。示例值:100 |
payer_total | int | 用户支付金额,单位为分。示例值:100 |
currency | string | CNY:人民币,境内商户号仅支持人民币。示例值:CNY |
payer_currency | string | 用户支付币种。示例值:CNY |