跳到主要内容

创建付款链接

第 1 步:获取访问令牌

访问令牌的获取方法请参考访问令牌,然后放入请求Headers头部的Authorization字段。

第 2 步:准备请求参数

生成 nonceStrtimestamp,它们将被放入请求 Headers头部 并用于创建 签名

参数类型必填说明示例
nonceStrString随机字符串7a70f55482a5566c
timestampStringUNIX格式的 请求的时间戳1667061151361

创建付款 URL 示例

参数类型必填说明示例
orderObject订单信息,对象字段为
[id, title, amount, currencyType, additionalData]
customerObject客户信息,对象字段为
[name, phone, email]
methodString列表 充值/付款 - Financial Process Exchange (FPX) , 如果传入接口是有提供,用户将被直接重定向到特定的第 3 方支付页面。 如果没有,用户将被重定向到付款页面以选择付款方式

Order [Object]

参数类型必填说明示例
titleString标题, max: 32"Deposit"
additionalDataString说明
amountString数额。 100 = RM 100.00100
currencyTypeString币种 (目前只支持 MYR , USDT)"MYR"
idString订单ID

Customer [Object]

参数类型必填说明示例
nameString名字"Long Wan"
emailString邮箱""
phoneString电话号码""

请求示例

{
"order": {
"id": "A20221111",
"title": "Payment",
"amount": "88.50",
"currencyType": "MYR",
"additionalData": ""
},
"customer": {
"name": "Long Wan",
"phone": "0123456789",
"email": "[email protected]"
},
"method": "CIMB_MY"
}

对上面的json键按字母顺序排序并使其紧凑

信息

{"customer":{"name":"Long Wan","phone":"0123456789","email":"[email protected]"},"method":"CIMB_MY","order":{"id":"A20221111","title":"Payment","amount":"88.50","currencyType":"MYR","additionalData":""}}

使用 Base64 格式对数据进行编码

信息

eyJjdXN0b21lciI6eyJuYW1lIjoiTGVvbiBUYW4iLCJwaG9uZSI6IjAxMjM0NTY3ODkiLCJlbWFpbCI6Imxlb25AZ2dncGF5Lm9yZyJ9LCJtZXRob2QiOiJGUFgiLCJvcmRlciI6eyJpZCI6IkEyMDIyMTExMSIsInRpdGxlIjoiUGF5bWVudCIsImFtb3VudCI6Ijg4LjUwIiwiY3VycmVuY3lUeXBlIjoiTVlSIiwiYWRkaXRpb25hbERhdGEiOiIifX0=

CLIENT_SYMMETRIC_KEY 对 base64 格式的数据进行编码

信息

e4e9ac1120ed867a7af108af8b1ab9183319f8a334bcdbbea47232359ae0a5c9c4ad1e46450ef4b36775aeb624b14b722a6884abd9b1f7572f1fdb33ce7a8bfec3d69d3e2e1aa77487c55b181613bfbef1028c8da984f5b59c8d6241eefcaf70

第 3 步:生成签名

请参阅 签名算法 关于如何获取 签名,然后将其放入请求 Headers头部 的 X-Signature 中。

第 4 步:POST 到 /gateway/v1/createPayment 接口

方式 : POST

接口: https://api.directpay.asia/gateway/v1/createPayment

请求

Headers

参数类型说明
AuthorizationStringToken 第1步骤获取
X-Nonce-StrStringnonceStr 第2步骤获取
X-TimestampStringtimestmap 第2步骤获取
X-SignatureStringsignature 第3步骤获取

Body

参数类型说明示例
dataString通过 CLIENT_SYMMETRIC_KEY 加密后e4e9ac1127af1...b59c8d62af70

请求Header & Body示例

{
"headers": {
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjEwMDIOjE2NjczMTYwOTJ9.UnVBt6Opxd_ZOMns1gCT40Ihdj1nbndi2V43Xt3fIuE",
"X-Nonce-Str": "7a70f55482a5566c",
"X-Timestamp": "1667061151361",
"X-Signature": "sha256 zOzjz8QoGTbesuAO5CCFbPCF3EMDtohKtkQPro8O61jbXhurgl+wIYzTv1BQPB6z1+bRn7gXx1YpsItk+Zed+Wd9PqmexoGdDrAAoUKjCcMks9g0/kiVui381jscVAyCUzdMtkW25P4QyTeq5+ES7D66j/Jwk+9JqYXhMnX5aAUdMjlrADp1RC1zrZUc1Mfqs+MA26J3X5uQ8xLhh9FaAhDdoyWctKQSTHZyMVuDtmFaGdzaGI3LCWm5w1gvtHC43mTMccc3WrlirYbDrZvN2c81cNMfRJjgJZNnjjY27OAMvGsJJgpo0b+EW4UO74QzZ2VI60fgf7uIajIOgQRzzA=="
},
"body": {
"data": "e4e9ac1120ed867a7af108af8b1ab918cbec6db7b4d7c29908085a73e2b29e97547da6eae91928b3330241f1fb898eebd8c3355105fdd5c68b6ceea761f41dc3085ed888d3c0473beef128ebd208c4f60299df64a622d04d21d81513c02e2d47bfcce2a6c246eabcc1c823aaf3d9133004cf7c4c08236395a05dc19a98c33a301c8b73d4e7fd33cd911619de86dfdb45"
}
}

返回

Body

参数类型说明例子
codeString请求的返回结果200
encryptedTokenString加密的数据,需要通过 CLIENT_SYMMETRIC_KEY 来解密a83cf72884cbbb....3ddf0744646e0cf0b482
messageString本次请求信息明文'Success'

返回示例

{
"code": 200,
"encryptedData": "e4e9ac1120ed867a7af108af8b1ab918cbec6db7b4d7c29908085a73e2b29e97547da6eae91928b3330241f1fb898eebd8c3355105fdd5c68b6ceea761f41dc3085ed888d3c0473beef128ebd208c4f60299df64a622d04d21d81513c02e2d47bfcce2a6c246eabcc1c823aaf3d9133004cf7c4c08236395a05dc19a98c33a301c8b73d4e7fd33cd911619de86dfdb45",
"message": "Success"
}

第 5 步:使用 CLIENT_SYMMETRIC_KEY 解密 encryptedData

CLIENT_SYMMETRIC_KEY, PCd1dlEmFnBXaVce06Pzp7Vike0oHnVJ 对称解密 encryptedData, e4e9ac1120ed867a7af108af8b1ab918cbec6db7b4d7c29908085a73e2b29e97547da6eae91928b3330241f1fb898eebd8c3355105fdd5c68b6ceea761f41dc3085ed888d3c0473beef128ebd208c4f60299df64a622d04d21d81513c02e2d47bfcce2a6c246eabcc1c823aaf3d9133004cf7c4c08236395a05dc19a98c33a301c8b73d4e7fd33cd911619de86dfdb45

解密后获取值为

{
    "data": {
      "paymentUrl": "https://api.directpay.asia/gateway/v1/createPayment/checkout/payment?orderId=1234567890/",
      "transactionId": "1234567890"
  }
}