开发者
支付结果通知
1) 支付结果通知是服务器到服务器之间的数据返回。
2) 支付结果通知地址是根据传递参数 callbackUrl(V1版本:returnUrl)的值进行传输的,仅支持433端口。
3) 支付结果通知需商户通知接口返回报文success才算通知成功,其他返回均为失败,会继续通知。
4) 推送支持单次推送,和多次推送。多次推送策略为:支付结果通知在未成功返回的情况下,总通知时长为17个小时,共十五次,推送间隔分别为:15s/15s/30s/3m/3m/30m/30m/1h/2h/2h/2h/2h/2h/2h
1) 同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。
2) 商户系统对于支付结果通知的内容一定要做签名验证,并校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成资金损失。
3) 当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
支付结果返回数据
参数名 |
类型 |
长度 |
是否必填 |
描述 |
isPush |
String |
|
|
【是否为推送】 返回数字:1/(空) 1:是推送 |
notifyType |
String |
|
|
【通知类型】 PaymentResult:支付结果 OrderStatusChanged:状态变更通知 |
merNo |
String |
5 |
Yes |
【商户号】 |
gatewayNo |
String |
8 |
Yes |
【网关接入号】 |
tradeNo |
String |
|
|
【交易流水订单号】 |
orderNo |
String |
|
|
【商户订单号】 |
orderCurrency |
String |
|
|
【交易币种】 |
orderAmount |
String |
|
|
【交易金额】 |
cardNo |
String |
|
|
【支付卡号】 411111***1111 |
orderStatus |
String |
|
|
【交易状态】 返回数字:-1/0/1 -1: 待处理0: 失败 1: 成功 |
orderInfo |
String |
|
|
【交易结果信息】 |
authTypeStatus |
String |
|
|
【是否预授权】 返回数字:0/2 0: 非预授权交易 2: 预授权交易(待处理) 功能具体描述请见 预授权 |
signInfo |
String |
|
|
【签名数据】 返回数据为大写.各语言加密方式不同, 详见【附录】sha256加密方式。 明文加密结构:merNo + gatewayNo + tradeNo + orderNo + orderCurrency + orderAmount + orderStatus + orderInfo + signkey |
riskInfo |
String |
|
|
【风控信息】 返回顺序格式(都是MaxMind返回): |未过风控 |已过风控 |累加总分数 |设置总分数 |MAXMIND返回分数 |发卡行 |发卡行国家 |国家间隔距离 |持卡人IP |持卡人IP所在国家 | |
remark |
String |
|
|
【备注】 发送数据的时候,传输的什么,就返回什么。 |
联系电话
400-9999-359
官方微信