异步通知 - shoufuyou/Shoufuyou-SDK-Doucument-for-core-client GitHub Wiki
首付游对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户系统。
这些处理结果数据就是服务器异步通知参数。
参数 | 参数名称 | 类型 | 必填 | 描述 | 范例 |
---|---|---|---|---|---|
code | 返回的结果码 | String | 是 | 10000- 成功生成订单;错误码详见附录订单创建结果码" | 10000 |
message | 返回结果码对应的字符串解释 | String | 是 | 如code参数里的描述 | 请求成功 |
merchant_order_id | 商户订单号 | String | 是 | 用户在商家的订单侧重旅游业务,称之为业务订单 | 10010101 |
如果成功生成交易单则应答里包含下述结果 | |||||
trade_number | 首付游交易号 | String | 是 | 本次请求首付游内部的交易号,可供今后商户查询或者对账使用 | 20151125181509213 |
order_amount | 支付金额 | Int | 是 | 用户支付的订单金额(不包含首付游服务费) | 180000(1800元) |
trade_status | 交易状态 | String | 是 |
'WAIT_PAY',等待支付 'PAY_SUCCESS',支付成功 'CANCELED',已取消 |
PAY_SUCCESS |
bill_url | 首付游账单链接 | String | 是 | 首付游生成的账单地址: https://m.shoufuyou.com/user/bills?mobile=13888888888 | https://m.shoufuyou.com/user/bills?mobile=13888888888 |
###响应参数示例
{
code: "10000",
message: "",
trade_number: "201604281451098465",
trade_status: "PAY_SUCCESS",
merchant_order_id: "201604181725081345"
order_amount:"180000",
bill_url:“https://m.shoufuyou.com/user/bills?mobile=13888888888"
}
###异步通知特性
- 该方式的作用主要防止商户订单丢失,即页面跳转没有及时处理订单更新,商家的服务器可以根据这里的异步通知结果进行后续逻辑处理;
- 首付游是用POST方式发送通知信息的;
- 商户收到异步通知后必须应答首付游“success”(不包含引号)。如果首付游收到的字符不是success这7个 字符,首付游服务器会不断重发通知,一般情况下,24小时以内完成7次通知,通知的间隔(距第一次)一 般是:0m,2m,4m,8m,16m, 1h, 12h,24h;
- 服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的;
- 程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,首付游会收不到success字符,会被首付 游服务器判定为该页面程序运行出现异常,而重发处理结果通知;
- 该方式的调试与运行必须在服务器上,即互联网上能访问;
###异步通知触发条件
触发条件 | 触发接口 | 交易状态 |
---|---|---|
用户在首付游处下单 | 收单接口 | 发送异步通知时的交易状态(trade_status),取值如上表所列,商户收到通知后,需要根据状态进行判断,进而处理相关业务逻辑:只有trade_status为PAY_SUCCESS的时候,才代表首付游处交易成功。 |
备注:
* 商户可以向首付游申请配置多点通知,ip绑定等,提高异步通知到达率。