“京东支付 2.0”开发接口
目录
1 文档说明 ........................................................................................................................................ 5
1.1 功能描述 ........................................................................................................................ 5
1.2 阅读对象 ........................................................................................................................ 5
1.3 术语 ................................................................................................................................ 5
2 京东支付流程 ............................................................................................................................ 6
3 接口规范 .................................................................................................................................... 6
4 接口安全规范 ............................................................................................................................ 7
4.1 签名算法 ........................................................................................................................ 7
4.2
XML 报文签名样例 ........................................................................................................7
4.3 加密算法 ........................................................................................................................ 8
5 接口 ............................................................................................................................................ 8
5.1 支付请求接口 ................................................................................................................ 8
5.1.1 接口介绍 ............................................................................................................8
5.1.2 参数列表 ............................................................................................................9
5.1.3 参数特殊说明 ..................................................................................................10
5.1.4 样例 .................................................................................................................. 10
5.2 支付成功页面跳转 ......................................................................................................11
5.2.1 说明 .................................................................................................................. 11
5.2.2 参数列表 ..........................................................................................................11
5.2.3 样例 .................................................................................................................. 11
5.3 异步通知接口 ..............................................................................................................12
5.3.1 说明 .................................................................................................................. 12
5.3.2 支付通知报文 ..................................................................................................12
5.3.3 支付通知报文样例 ..........................................................................................13
5.3.4 退款通知报文 ..................................................................................................15
5.3.5 退款通知报文样例 ..........................................................................................15
5.4 退款申请接口 ..............................................................................................................16
5.4.1 说明 .................................................................................................................. 16
5.4.2 退款申请接口参数列表 ..................................................................................16
5.4.3 退款申请返回参数列表 ..................................................................................17
5.4.4 报文样例 ..........................................................................................................17
5.5 交易查询接口 ..............................................................................................................19
5.5.1 说明 .................................................................................................................. 19
5.5.2 查询接口参数列表 ..........................................................................................19
5.5.3 查询接口返回参数 ..........................................................................................19
5.5.4 请求报文样例 ..................................................................................................20
5.5.5 消费查询返回报文样例 ..................................................................................20
5.5.6 退款查询返回报文样例 ..................................................................................21
6 主要接入步骤 .......................................................................................................................... 22
2 / 23
“京东支付 2.0”开发接口
6.1 商户信息设置。 ..........................................................................................................22
6.2 后台代码 ...................................................................................................................... 22
7 附录 .......................................................................................................................................... 23
7.1 交易返回信息编码 ......................................................................................................23
3 / 23
“京东支付 2.0”开发接口
文档修订记录:
日期
版本
说明
作者
2016-03-09
1.0.0 该文档为京东支付 2.0 商户接入的开发接口,
支持多渠道组合支付
4 / 23
“京东支付 2.0”开发接口
1 文档说明
1.1功能描述
京东支付为商户提供一整套支付接口。商户使用这些接口可以便捷的发起支付请求,并
引导用户完成支付过程。支付完成以后,通过同步、异步两种方式通知商户的应用服务器。
它的优势是支持多支付渠道的组合支付(包括银行卡、白条等支付渠道),支付金额即时从
消费者的银行账户或者京东白条账户(若用户开通白条服务)等支付渠道扣除,用户支付过
程简便、安全。同时,京东支付又提供了自动退款,以及交易结果查询接口。交易结果查询
接口是为了防止商户长时间没有接收到同步、异步结果通知的情况而设计,在这种情况下,
商户可以通过交易查询接口查询交易结果,进而更新用户订单状态。
1.2阅读对象
本文档面向商户系统设计人员、编程人员及测试人员。该人员需要具备一定的网站开发
能力,了解 ASP、PHP、JAVA、ASP.NET 等开发语言中的一种及 SQL 数据库语言。
1.3术语
名词
商户
解释
指已注册成为京东支付产品的用户、并使用京东支付产品实现其收付费
功能需求、为其用户提供各类产品或者相关服务的企业或个人。
消费者(用户) 指在商户网站等系统购物的企业或个人。
请求
通知
返回
通过HTTP/HTTPS协议把数据发送给接收方的过程。
京东支付服务器异步通知。京东支付服务器根据接收到的数据处理完成
后,会主动发起通知给商户的服务器,同时携带处理结果信息。
页面跳转同步通知。京东支付服务器根据接收到的数据处理完成后,当
前页面从京东支付的页面自动跳转回商户页面,同时携带处理结果信
息。
支付失败
手机号被冻结、商户违约被冻结支付功能、余额不足、超额、订单已支
付、订单金额和支付金额不一致等都会导致支付失败。
5 / 23
“京东支付 2.0”开发接口
2 京东支付流程
1) 用户首先在商户系统的页面上选择商品并下单,点击支付按钮以后,商户系统向京东支
付服务支付接口发起支付请求。
2) 商户要根据京东支付接口要求,通过程序得到签名结果以及要传给京东支付服务的订单
信息以及商户信息数据集合。在支付请求的时候把数据集合发送到京东支付服务器。
3) 京东支付服务会首先验证商户的合法性,以及验证订单金额是否被篡改,如果商户非法,
或者订单信息被篡改,京东支付服务会直接拒绝此支付请求;反之,则重定向到支付页
面,引导用户填入支付相关信息,在用户确认之后,从用户的各资金账户(银行卡、白
条等)扣除相应的金额。
4) 支付完成以后京东支付服务会跳转到商户支付请求时传入的 URL,并携带支付结果。如
果支付成功,京东支付服务后台会发送异步通知到商户传入的通知地址,把支付结果通
知商户。
3 接口规范
京东支付包含两类接口,一是 Form 表单接口,二是 XML 接口。
“支付请求接口”为 Form 表单接口,其余的接口均为 XML 接口。
XML 接口规范如下:
1) XML 报文的根节点为
2) 加密后的密文数据置于标签中
3) 接口参数区分大小写
为防止接口数据被篡改或窃听,接口报文数据均进行签名并加密传输,加解密以及签名算法
参考“接口安全规范”章节
6 / 23
“京东支付 2.0”开发接口
4 接口安全规范
4.1签名算法
签名过程分为两步,首先是将原始参数按照规则拼接成一个字符串 S1,然后再将 S1 根
据签名算法生成签名字符串 sign
参数原始字符串的拼接规则:
一)
对于 POST 表单提交的参数:所有参数按照参数名的 ASCII 码顺序从小到大排
序 ( 字 典 序 ), 使 用 URL 键 值 对 的 方 式 拼 接 成 字 符 串 S1 ,( 如 :
k1=value1&k2=value2&k3=value3…)。
对于 XML 报文交互的参数:将 XML 报文的各行去掉空格后直接拼接成一行字符
串作为 S1。如果报文只有一行则直接作为 S1,不需要再进行拼接。
二)
生成签名的过程如下:
一)
二)
整个计算方法为:base64_encode(RSA(SHA256(S1)))
对拼接的参数字符串 S1 通过 SHA256 算法计算摘要,得到字符串 S2
对字符串 S2 进行 RSA 加密,并进行 base64 转码,得到签名字符串 sign
注意事项:
空参数不参与签名
参数列表中的 sign 字段不参与签名
为了简化处理,
标签也参与签名
参数区分大小写
RSA 加密的规则为:由交易发起方进行私钥加密,接收方进行公钥解密
4.2XML 报文签名样例
报文样例如下:
V2.0
100
DEBIT_CARD
100
7 / 23