ZH
  • EN
  • ZH
ZH
  • EN
  • ZH
ZH
  • EN
  • ZH
  1. Read Before Development
  • Read Before Development
    • 环境信息
    • API签名+验签规范
    • 常见问题
    • Transfer API Flow
  • Api Reference General
    • MARKET SPECIFICS
    • Errors
  • Authentication
    • Obtain Access Token
      POST
  • Base Data API
    • List all full pay countries
      POST
    • List currencies
      POST
    • List occupations
      POST
    • List provinces
      POST
    • List cities
      POST
    • List countries
      POST
    • List remittance purposes
      POST
    • List sources of funds
      POST
    • List relationships
      POST
    • List all countries currencies
      POST
    • List all banks
      POST
    • List all branches
      POST
    • List cities (Japan | China)
      POST
    • Supported local Bank and Bank Code
      POST
    • Supported local E-wallet and InstCode/Biller Code
      POST
  • Pay Out
    • International Remittance
      • Transfer API
        • Create Transfer | China | B2C E-Wallet
        • Create Transfer | China | B2C Bank-account
        • Create Transfer | HKG CNH | B2B Bank Account
        • Create Transfer | SGP | SGD | B2B Bank_account
        • Create Transfer | SGP | SGD | C2C Bank_account
        • Create Transfer | SGP | SGD | C2B Bank_account
        • Create Transfer | SGP | SGD | B2C Bank_account
        • Create Transfer | MYS | MYR | B2B Bank_account
        • Create Transfer | MYS | MYR | C2B Bank_account
        • Create Transfer | MYS | MYR | C2C Bank_account
        • Create Transfer | HKG | HKD | B2B Bank_account
        • Create Transfer | HKG | HKD | C2C Bank_account
        • Create Transfer | HKG | HKD | B2C Bank_account
        • Create Transfer | HKG | HKD | C2B Bank_account
        • Create Transfer | SEPA | EUR | B2B Bank_account
        • Create Transfer | SEPA | EUR | C2C Bank_account
        • Create Transfer | SEPA | EUR | B2C Bank_account
        • Create Transfer | SEPA | EUR | C2B Bank_account
        • Create Transfer | GBR | GBP | B2B Bank_account
        • Create Transfer | GBR | GBP | C2C Bank_account
        • Create Transfer | GBR | GBP | C2B Bank_account
        • Create Transfer | GBR | GBP | B2C Bank_account
        • Create Transfer | Global | B2B Wires
        • Create Transfer | Global | C2C Wires
      • Confirm Transfer
      • Get International Transfer
      • Retrieve a quote
    • Domestic Transfer
      • 印尼代付-测试环境物料
      • Notification
      • Create Domestic Transfer
      • Create Domestic Transfer Online
      • Domestic Verify Bank Account
      • Get Domestic Transfer
    • Get Remittance List
      POST
  • Pay In
    • Virtual Account API
      • Create Merchant Virtual Account
      • Create Merchant's Customer Virtual Account
      • Get Virtual Account Payment Record
      • List Merchant Va payment record
      • Get Available VirtualAccount Banks
      • Va Payment Notification
  • Merchant
    • List all flow
    • List all balances
  • Upload
    POST
ZH
  • EN
  • ZH
ZH
  • EN
  • ZH
  1. Read Before Development

API签名+验签规范

请求方式#

Easylink所有请求方式都为POST请求

通用请求头#

字段类型是否必填描述
Content-typestring是application/json
Authorizationstring是通过App ID 和 App Secret获取的AccessToken,格式 Bearer+空格+AccessToken
X-EasyLink-AppKeystring是Easylink提供的App Key
X-EasyLink-Noncestring是唯一请求编号
X-EasyLink-Timestampint是当前时间的毫秒级时间戳(5分钟之内有效)
X-EasyLink-Signstring是生成的签名字符串

通用响应结构#

{
    "code": 0,
    "message": "",
    "data": {}
}
参数名类型说明
codeint响应码,0 为成功
messagestrting响应消息
dataobject响应数据
💡
注意code为0时,才代表请求成功,其他情况均为请求失败。

密钥对使用#

原则:谁请求谁加签,谁响应谁验签。
商户生成一对密钥,用来请求Easylink.
Easylink生成一对密钥,用来回调商户。

签名机制#

为保证交易安全和API调用安全,Easylink会对所有接口的请求进行签名验证,您需要对所有的的请求进行签名,以供Easylink确认您的身份。
在接入前,Easylink会为接入商户分配商户沙盒环境的物料,具体获取方式参考环境信息,App Key用于签名,App ID和App Secret用于获取Easylink的AccessToken。
📌
商户在请求Easylink的API接口时,应通过请求头Authorization字段传递AccessToken,格式:Bearer+空格+AccessToken
商户在请求Easylink的API接口时,应通过请求头X-EasyLink-AppKey字段传递App Key
商户请按照以下步骤生成请求签名:
1.
获取待签名的参数集合:公共参数(来自Header)+业务参数(来自Body)。公共参数包含X-EasyLink-AppKey、X-EasyLink-Nonce、X-EasyLink-Timestamp,业务参数则根据具体的接口而定,例如订单号、金额、币种等。
2.
排序所有请求参数:按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推。
3.
拼接:将排序后的参数与其对应值,组合成 参数=参数值 的格式,并且把这些参数用 & 字符连接起来,连接好的字符串称为原始字符串。然后将App Key拼接到字符串的头尾,此时生成的字符串为待签名字符串。
4.
使用SHA-256 算法和 RSA 私钥计算签名,对计算完成的签名进行Base64编码,生成需要在Header里面传输的签名。
5.
通过请求头X-EasyLink-Sign传递签名。

签名代码示例#

JAVA
PHP
GOLANG

验签代码示例#

📌
验签需要使用Easylink为您提供的公钥,如果未提供,请联系我们
📌
(与签名有区别,EasyLink回调商户,Header中没有X-EasyLink-Nonce,所以签名中也没有X-EasyLink-Nonce)
JAVA
PHP
GOLANG
Previous
环境信息
Next
常见问题