1. 接口介绍 异步通知是在支付成功的情况下,由京东支付的异步通知服务器自动发送给商户服务器。通知地址就是商户支付请求的时候传入的’notifyUrl’参数,通知的消息格式是xml。对于异步通知,异步通知系统根据商户通知地址的http访问状态码和返回内容来判断通知是否成功,当收到处理成功标示后,系统不再发送异步通知。否者,会重复发送异步通知,最多发送5次,时间点分别为支付完成后、支付完成后1分钟、支付完成后3分钟、支付完成后10分钟、支付完成后120分钟(商户端接收异步通知必须有去重功能)。 商户端接收异步通知成功后请返回"ok"或者"success"字符串,其他返回内容均认为商户系统处理异步通知失败。 ``` H5版调用地址:https://h5pay.jd.com/jdpay/customerPay 编码格式: UTF-8 调用方式:POST 数据格式:application/JSON ``` 2. 参数列表 |序号 |参数名称 |参数编码 |是否必填| 参数类型 |描述| |---|---|---|---|---|--| |1 |业务状态 |resulCode |是 |String(20) |SUCCESS| |2 |返回码 |resulCode| 是| String(20)| 000000成功| |3 |返回结果信息 |errCode|是| String(50) |成功| |4 |商户号| merchantNo| 是 |String(50) |商户号(由京东分配)| |5 |外部订单号| outTradeNo| 是 |String(30)| 商户订单号| |6 |聚合订单号 |tradeNo |是 |String(30)| 聚合订单号| |7 |交易状态 |payStatus |是| String(10)| SUCCEED| |8 |产品类型 |productType |是 |String(10)| QR(二维码),BAR(条形码),CASH(收银台)| |9 |交易子类型 |subTradeType |是| String(10) |SALE(消费/支付)| |10 |币种 |currency |是| String(10)| RMB| |11 |交易金额 |amount| Long| 分,交易金额=支付渠道交易金额+聚合营销金额| |12 |回传参数 |returnParams |否| String| 商户扩展信息,原样回传| |13 |支付渠道 |piType |是 |String(10)| JDPAY(京东支付),WX(微信支付),<br>APPLEPAY(applePay支付),<br>UNIPAY(银联在线支付),<br>ALIPAY(支付宝支付)| |14 |交易成功时间| payFinishTime| 是 |String |yyyyMMddHHmmss| |15 |支付渠道交易金额 |piAmount |是| Long |分,支付渠道总金额(支付渠道营销金额+用户实际支付金额)| |16 |支付渠道营销金额 |piCouponAmount |是 |Long| 分,支付渠道营销金额| |17 |聚合营销金额 |couponAmount |是| Long| 分| |18 |扩展信息 |extMapStr |否 |String(256) |聚合支付返回扩展信息(map转json数据)| 3. 参数特殊说明 ``` 1)在以上的请求参数中,商户号是在注册开通聚合支付功能的时候,聚合支付商户管理系统为用户分配的。 2)外部订单号是商户自己的订单号。 3)签名规则详见:签名算法。 4)为保证信息安全,表单中的各个字段除了merchant(商户号)、签名(sign)以外,其余字段全部采用3DES进行加密 ``` 4 明文源串样例 1)明文源串样例 ``` { "amount": 100, "code": "000000", "currency": "RMB", "merchantNo": "110047763", "message": "成功", "outTradeNo": "123456789", "payStatus": "SUCCESS", "piType": "JDPAY", "returnParams": "returnParams", "subTradeType": "SALE", "success": true, "tradeNo": "123456789123456789", "productType": "QR", "piAmount": 100, "payFinishTime": "20161202000223" } ``` 支付返回数据集合参数样例: ``` { "success" :"当调用成功时返回true" "errCode":"调用失败时返回错误原因店代码" "errCodeDes" :"错误描述" "merchantNo":"110047938", "cipherJson":"这里的值是返回明文串加密得到的值", "sign": "这里的值是对返回明文串按照ASCII正序排序后加盐, 再用md5加签得到的值" } ```