调用 IEPay API 没有复杂的认证方式,只需要每一个请求带上签名即可。
在调用 API 时,必须提供签名作为每个请求的身份验证。
IEPay 的签名算法采用 MD5 (opens new window) 签名算法(其中3.x的的API同时支持MD5和SHA256加密方式)。
MD5 签名需要私钥。MD5 私钥是由英文字母和数字组成的32字节字符串。
您需要登录商户服务中心 (opens new window) 来获取 API Key 作为MD5 签名需要私钥。
API Key 是商户在 IEPay 系统中的身份标识,请安全存储,确保其不要被泄露。
因此 IEPay 的签名算法为
sign = MD5(预签名字符串 + API_KEY)
预签名字符串是由除sign参数以外的其他所有参数按字母顺序重新排列后用&拼接为的字符串。
提示
如果参数的JSON结构如下
{
"mid":"10224",
"pay_type":"IE0014",
"refund_amount":"1",
"out_trade_no":"20180402112304123210122312",
"reference":"refund memo"
}
那么按字母顺序重新排列数据,数并用&将重新排列的参数连接一起获得的预签名字符串为
mid=10224&out_trade_no=20180402112304123210122312&pay_type=IE0014&reference=refund memo&refund_amount=1
假设我们的 API KEY 为
e560fb2e61e4d1fe6a11c278388cb965
我们 sign 的计算伪码为
sign = md5(mid=10224&out_trade_no=20180402112304123210122312&pay_type=IE0014&reference=refund memo&refund_amount=1e560fb2e61e4d1fe6a11c278388cb965)
结果为
f45a1a2db58b43b48d51ab2fc18e0914
f45a1a2db58b43b48d51ab2fc18e0914 这就是我们的签名。 将其带入对应 API 即可。