Skip to content

应用场景 ​

支付完成后,会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。

注意

1、同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。

2、后台通知交互时,如果收到商户的应答不符合规范或超时,会判定本次通知失败,重新发送通知,直到成功为止(在通知一直不成功的情况下,总共会发起多次通知,通知频率为5s/15s/30s/3m/10m/30m/1h/1h/1h/1h - 总计 10次)这里通知发送可能会多台服务器进行发送,且发送时间可能会在几秒内,但不保证通知最终一定能成功。

3、在订单状态不明或者没有收到支付结果通知的情况下,建议商户主动调用支付【查询订单API】确认订单状态。

特别提醒:

1、商户系统对于支付结果通知的内容一定要做签名验证,并校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄露导致出现“假通知”,造成资金损失。

2、当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

接口链接 ​

该链接是通过【统一下单API】中提交的参数notify_url设置,如果链接无法访问,商户将无法接收到通知。

通知url必须为直接可访问的url,不能携带参数。公网域名必须为https,如果是走专线接入,使用专线NAT IP或者私有回调域名可使用http。示例:notify_url:“https://pay.baidu.com/order/notify.action”

通知参数 ​

字段名变量名类型示例值
商户IDclient_idint1000
商户订单号out_trade_nostring20150806125346
我方订单号trade_nostring20150806125346
订单金额total_amountstring99.99
时间戳timestampint1381281244
随机字符串nonce_strstring5K8264ILTKCH16CQ2502SI8ZNMTM67VS
支付状态statusint1 支付成功 0 未支付
签名signstring601ec0dc5094918242fdea85ce680835

返回结果 ​

请返回小写 success