Skip to content

接入必读

  1. 接入接口分为支付类接口、退款类接口、交易对账类接口。
    • 支付类接口包括统一下单、交易查询、交易结果后台通知、交易结果前台通知等接口,这些接口都是必须要接入的。
    • 退款类接口包括退款、退款结果查询、退款结果通知等接口,这些接口都是必须要接入的。
    • 交易对账类接口主要是对账的下载,通过申请SFTP下载对账单等。
  2. 接口请求报文包括设置HTTP请求头、公共请求参数、业务请求参数等。

公共部分

环境请求地址

HTTP请求响应头

设置HTTP请求或响应头信息:

  • Content-Type:text/plain;charset=utf-8
  • signature:签名值

报文规范

  • 报文格式:使用JSON作为数据交互的格式。
  • 字符编码:统一采用UTF-8字符编码。
  • 签名算法:用基于非对称密钥的SHA256-RSA的数字签名算法(SHA256WithRSA)。
  • 签名要求:请求和响应均需要校验签名。
  • 提交方式:采用POST方法提交。

安全机制

要求商户对请求报文进行签名,并在收到商户请求后进行签名的验证。如果签名验证不通过,将会拒绝处理请求。在应答的HTTP头和异步通知请求的HTTP头中包括签名,要求商户必须验证签名,以确保回调是由平台发送,如果商户未正确验证签名,会存在潜在的风险,商户自行承担因此而产生的所有损失。

报文签名机制

1)将请求报文的所有字段作为待签名串,不需要排序。

2)使用商户私钥对待签名串进行SHA256WithRSA签名,并对签名结果进行Base64编码得到签名值。

3)将签名值放到HTTP请求头中,请求头name为signature。request.setHeader("signature","xxxxx...");

报文验签机制

商户在收到平台响应和异步通知请求,需要验证签名,以确保是由平台发送的。步骤如下:

1)从HTTP应答头或者异步通知请求头中,获取签名值,签名值的字段名为signature,response.getHeader("signature");

2)将获取的应答报文体或者异步通知请求体作为待验证签名串。

3)使用平台公钥对待验证签名串和签名值进行SHA256WithRSA签名验证。

报文数据类型定义

  • String(m,n):代表可变长度型字符串类型,长度从m到n可变。

  • String(m):代表固定长度型字符串类型。

  • Number(m,n):代表带精度数值类型,m代表数值位数长度为1~m,n代表小数点后位数。

  • Number(m):代表整型数值类型,m代表数值位数长度为1~m。

提示

m、n都为整型数值。

符号约定

在下文中出现的具体报文格式描述中,“出现要求”列包含的值的含义如下表所示:

符号请求方约束服务方约束
M必须包含该域必须校验该域是否存在和内容的合法性
C如果条件符合则必须包含该域当条件满足时,必须校验该域是否存在当该域存在时,必须检查其内容的合法性
O该域可选当该域存在时,必须检查其内容的合法性

北京腾春科技有限公司