加签验签
密钥分发
在开始接入前, 您首先需要生成RSA密钥对,保留好私钥并将公钥交给PayKKa平台相关对接人员。
生产密钥分发流程:todo待定
构造签名串
签名串一共有五行,每一行为一个参数。结尾以\n
(换行符,ASCII编码值为0x0A)结束,不包括最后一行。
注意:签名串的结构规则:每行一个元素,该行元素若是缺省不用传,但是换行符需要,保持结构不变。始终遵循一行一个元素,没有元素,还是得换行,最后一个元素除外
请求路径\n
请求时间戳(timestamp)\n
请求随机串(nonce)\n
商户号\n
请求报文主体
请求或响应不包含报文主体
请求路径\n
请求时间戳(timestamp)\n
请求随机串(nonce)\n
商户号
请求的资源不涉及商户号
可以不用传商户号,但是换行符还是需要
请求路径\n
请求时间戳(timestamp)\n
请求随机串(nonce)\n
\n
请求报文主体
文件上传的加签验签
文件上传的加签验签方式与其他基于文本的API不同, 在计算签名时使用的body为meta的json字符串
请求路径\n
请求时间戳(timestamp)\n
请求随机串(nonce)\n
商户号\n
请求meta的json字符串
计算签名值
绝大多数编程语言提供的签名函数支持对签名数据进行签名。强烈建议客户调用该类函数,使用客户私钥对待签名串进行SHA256withRSA
签名,并对签名结果进行Base64编码
得到签名值。
设置HTTP头
- 在所请求内容归属于商户的情况下, 需要设置
X-Merch-Id
请求头, 内容是 Paykka跨境收款开放平台 分配的商户号 ( 生成方式) - 请求通过HTTP
Authorization
头来传递签名, 其内容是一个经过URLEncode
的JSON
对象, 包含以下字段:
key | 格式 | 说明 |
---|---|---|
sign_type | String | 签名方式(SHA256_WITH_RSA) |
timestamp | String | 请求生成时的毫秒时间戳值(Milliseconds since Unix Epoch) |
nonce | String(6-32) | 请求生成时, 随机生成的字符串, 用于请求防重 |
key_id | String | 平台侧分配的密钥id, 对应客户 |
signature | String | 请求签名 |