Ayolinx-Openapi
🇨🇳中文
  • 🇬🇧English
  • 🇨🇳中文
  1. 开发须知
Ayolinx-Openapi
🇨🇳中文
  • 🇬🇧English
  • 🇨🇳中文
  • Openapi-ZH-CN
    • 开发须知
      • 简介
      • Header参数说明
      • 渠道说明
      • 回调说明
      • 错误码说明
      • Signature生成规则
      • PartnerServiceId说明
    • GetAccessToken
      • Access Token B2B
    • EWallet
      • Ayolinx提供给商户的接口
        • Get Payment Url
        • Inquiry Status
      • 需要商户提供的回调地址
        • Payment Notify
    • Qris
      • Ayolinx提供给商户的接口
        • Generate Qris
        • Query Qris
        • Cancel Qris
      • 需要商户提供的回调地址
        • Payment Notify
    • VirtualAccount
      • Ayolinx提供给商户的接口
        • Error Codes
        • Create VA
        • Inquiry Va
      • 需要商户提供的接口
        • 回调说明
        • Access Token B2B
        • Payment
      • 非snap回调接口
        • Payment Notify
  1. 开发须知

Signature生成规则

签名机制#

为保证交易安全和API调用安全,Ayolinx会对所有接口的请求进行签名验证,您需要对所有的的请求进行签名,以供Ayolinx确认您的身份。
签名生成规则分为三部分,一个是获取AccessToken时生成的签名;第二个是调用接口生成的签名;第三个是回调商户的签名,三者存在差异。

异步回调验签#

Ayolinx在向您发送异步回调通知时,会按照上述机制对回调请求进行签名。您在接收到异步回调通知后,需要对回调请求进行验签,以确认回调请求确实来自Ayolinx。

一、获取AccessToken签名生成#

1、代码逻辑讲解#

requestTimestamp 为请求时header里面的X-TIMESTAMP, 格式为yyyy-MM-ddTHH:mm:ssXXX,例如:2024-09-18T06:36:36+00:00,如果东八区,则2024-09-18T06:36:36+08:00
$private_key为商户生成的秘钥对私钥

2、demo展示#

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDKJ2Mon/hqxyy7
G185m84du0HA0C1SGZ0l/QSjzCs45oSZFr7QlMY0rYfb3tZ5tyMPF9DSFaLETRmP
eTF8KZ7XxDrWb5b97VDPu5ZD+3H2XHd+psWyH5skFL7NzF3XyxcbNIMGhhhXqT8c
SyNVlvELU2RCCAcv42Kh4cTGFZa3On4AxSSvMBO3nYZBOOYNWoGSBBycDPTQ4/lk
MF++Thz/ugxVhkgPG5KDvjy4n96OHXYq3CbSaWsRLJ+nFMS4aLtUTALln/d3x7cE
YRPSZYJAUwMIVxxEaeo5r7RTWBW7JDmNFlGrSuL4aGvxpjgj9fuibdrBLBBHfJIH
w8QIAiiJAgMBAAECggEAFEGK2i/gWZu0V9nL6ob6Cejg82/wsJ60LFGscLjFNnYD
wJ7Ctz4HF9FxEPck3Myc4NbpM9na5cpXdrTFQHyfp91n62OCWNaaH7ybV5vHDTFy
AFD384ue9Sg2f8Lb/uLg4XcbL3DJmOQSuLQvOdTueYztOYAaL0JcuF2Z5OLWJ60R
NGqdl6QiUnkHVmzLif8RApl+kRQWeA1fSw0EBXLm1EyX+anK3NCrGLDRSO/n05v+
16LDfcev78TqtbDsB0bS//RUm34+ZlEUuq70FEj0PNUs9SaQ1bD5CH1CIDl+SNl7
r+ZZRxJnHQ7ABATs7rIwna6Y6ITmpwRw24hNb3VssQKBgQDyCZs+CENjAUIDcZy9
Sz37fPI1nmj39xTgGC5v1QazwsbB4D6Xd2b9hcJp5cQr+4n5q8T1iACP1Zh4Rw1n
PLDftu1WSUDmbxzv4/rG7MW4ui32/B3hqXx3RvTuuJdKSdJql/KMZHv1etrvk5sH
q6RuhS/yRh0Eqrh9ZO7VWAtxGQKBgQDV0MgZx1hdPpJeQsbcuV//xw3P8txIbzb2
O/VrrjPQ3jQxTwCcsTMNi2FcqhVvvpSyWhnQaPX6Yxve9YBJ1Svx5watH95d1/t3
k0Hp45TDg6S2MXsszgNiFFsrhxJPFOERDckhwOXQRNoAtLnT5NvLTsWXd+dWvKBg
Zs902Ugw8QKBgQDWQfjCNhBpMTDd2ZIV4+iPmvDS1FM5xukc42sgJmUTdoX6FGd0
MAfkv6b1ladOBBMFCLCHZgiRS1T4jHVqAUjWEZoR+zDPjGcCWT+jHvB88ZtE+7P8
EswSzqZ+OLv80FLLd40ICN/O1B3BXVostR4PlCl4f+aqPfKpVlMyWwlt6QKBgD0m
O8Qbner09TleEa+YmJr3G70oMNXKcMaVOUg1hv4qPnUHqh4mE3rBLPQqdH0D3VTw
rcdL7WVRqOvn/GuhOrMxJlim75qZJYL6K3SvsKEF6jptBlQ3CwKm3bgiJhtV1lRh
Q++SUmdw+YQQK8EtB6sqeRoroY7N3XQUkypQ5fORAoGAJxnF+mseUG0bYRpmO2bn
hUFEv0ytvAOK919kvwkWundpLf4d7GkPrpCADYNGsXE45vYOcJZk+zmRxkDItfmP
Y/Q1T6v8pyi3ZhADGCTdLu492E+9KzP52UANBg5AvkNoO8HJA4JzXHrPk3iHxNId
+boEsvH8b2JyXyh8SZAp1DI=
-----END PRIVATE KEY-----
PHP
Go
Java
我们用上面的private_key生成签名结果:
jBOr9d5CRTbzunJyFKktb0+/oJi9H6nO6+o89iI28ZOP80kxh6YFaDryw+KsCALB+ylBp6ZbHAB3XwXa08ZqnVr7Tgv7vplbBii3pG3QXGNN41Qi1s4/fpYGKkpprUenIYPy59482/GoEbXEnutrPUtTKIXf7z4zkcFwngurByo1iHxEKIFxKFKJq5XR70FfTsXZQPDTC9VsKCqJ+PYaCVHtv9fAe2Bo1kaDzWGzESzpbFBpr8k0H6Fngboje9GgtWRFlcdYRM5NLYNuFJ7rXN1f792aX1s9nS8eDmXAJlJeMR/j509mBiIJeF3OkAgD5yuqZvtYJdYLYYoe8SU8jQ==

二、调用接口签名生成#

1、代码逻辑讲解#

$body为请求body里面所有传参,格式为json
$method 为请求方法
$url 为接口名称
$token 为Authorization Token,去掉Bearer前缀
$requestTimestamp 为请求时header里面的X-TIMESTAMP, 格式为yyyy-MM-ddTHH:mm:ssXXX,例如:2024-09-18T06:36:36+00:00,如果东八区,则2024-09-18T06:36:36+08:00
$data示例:POST:/direct-debit/core/v1/debit/payment-host-to-host:7bd8be52a84cc95155756773cf34eade:e6fadcabcf365f76b7ad5e54f8a29015e7392905fa5822ae284fadccf3ef4d12:2025-01-16T17:30:56+07:00
$client_secret为商户创建账号后Ayolinx平台生成的client_secret参数

2、demo展示#

PHP
Go
Java
用上面的数据得到的签名结果:
jmI+wVObzka8DvwIH1CCUo5AvARo4IZf4S8SSLOhNpKipRtwyQCOM6Kkr6k6wDAVgSZ+MbaxjGLQjqrK0o4ojw==

三、Ayolinx回调商户签名验证规则#

1、代码逻辑讲解#

$method 为请求方法
$url 为接口名称
$requestTimestamp 为请求时header里面的X-TIMESTAMP, 格式为yyyy-MM-ddTHH:mm:ssXXX,例如:2024-09-18T06:36:36+00:00,如果东八区,则2024-09-18T06:36:36+08:00
$data示例:POST:/v1.0/qr/qr-mpm-notify:7bd8be52a84cc95155756773cf34eade:2025-01-16T17:30:56+07:00

2、demo展示#

PHP
Go
Java
Modified at 2025-03-06 15:07:17
Previous
错误码说明
Next
PartnerServiceId说明