CPAY接口文档


接入指引

1. 开发规范 接入准备

  • 接入前准备进件资料进行入网
  • 获取支付参数,包括inst_no(机构号)、key(机构秘钥)、mch_no(平台商户号)

2. 开发规范

报文规范 请求方式:POST 请求头信息:Content-Type → application/json;charset=utf-8 编码格式:UTF-8

3.约束说明

符号 说明
M 必须填写的字段
C 某条件成立时必须填写的字段
O 自选填写的字段

签名规则

第一步 获得请求的参数,待签名的JSON参数,参数值为空字符串参与,参数值为null不参与

{
"inst_no": "900024",
"mch_no": "851811130002",
"pay_type": "400",
"pay_trace_no": "18588dbd1c6e4572b915a2b33fcdc62e",
"pay_time": "20190101125959",
"auth_code": "134573607383541818",
"total_amount": 1
}

第二步 拼接参数,将JSON参数名首字母,按ASCII码顺序拼接,首字母相同则比较第二位,以此类推,生成字符串A

String A = "auth_code=134573607383541818&inst_no=900024&mch_no=851811130002&pay_time=20190101125959&pay_trace_no=18588dbd1c6e4572b915a2b33fcdc62e&pay_type=400&total_amount=1";

第三步 拼接密钥,在字符串尾部拼接机构密钥,生成字符串B

String B = A + "&key=8a9bd64e6585c6d8016585c6c8980002";

第四步 生成签名,对字符串B进行md5算法加密,获得的32位小写字符串即为签名结果字符串

String sign = md5(B);

第五步 获得最后的请求参数,在请求参数中加入签名参数sign即可

{
"inst_no": "900024",
"mch_no": "851811130002",
"pay_type": "400",
"pay_trace_no": "18588dbd1c6e4572b915a2b33fcdc62e",
"pay_time": "20190101125959",
"auth_code": "134573607383541818",
"total_amount": 1,
"sign":"841387ec9bd3ea78a580bd4629cab010"
}

备注 文档中的接口,未特殊说明的,均在请求参数附加一个名为sign的参数; 对于平台回调通知这类服务端发起的请求进行验签,先取出sign参数,剩下的参数按上述规则生成签名,最后与之前取出的sign参数进行比对。

页面列表

ITEM_HTML