7.3.2 建立數位幣限定金額掃碼支付訂單(商家自訂匯率)
#簡單描述: 數位幣充值業務接口,用戶透過掃描二維碼的方式將 USDT(Tether)充值到他們的數位錢包帳戶(商家自訂匯 率,需登入商家後台設定)
- 要求方式: POST
- 請求介面: https://网关域名/wallet-trade-merchant/v1/receive/blockchain/fixed/custom/rate/create
- 請求媒體類型( JSON 資料格式 )Content-Type: application/json
請求參數
| 參數名稱 | 類型 | 必填 | 參數意義 | 參數說明 |
|---|---|---|---|---|
key | string | 是 | 商家 key | apiKey |
localOrderId | string | 是 | 商家平臺本地訂單號碼 | 商家平臺本地產生唯一訂單號碼 |
localUserId | string | 否 | 商家平臺本機使用者ID | 商家平臺本機使用者ID |
notifyUrl | string | 否 | 回呼位址 | 下單成功後,由 API 回呼通知商家的位址(回調詳情說明在最下方) |
successRedirectUrl | string | 否 | 跳轉位址 | 成功後自動跳轉位址 |
userCurrency | string | 是 | 幣種 | 需要用戶支付的幣種(錢包支援數位幣種) |
quoteCurrency | string | 是 | 自訂報價幣種 | 自訂報價幣種(需登入商家後台設定報價幣種匯率) |
quoteAmount | number | 是 | 自訂報價金額 | 訂單計價金額 |
isBlockchain | boolean | 否 | 是否回傳區塊鏈資訊(預設false) | 當為true時,回呼請求會攜帶訂單鏈上交易資訊 |
networkLimits | array | 否 | 主網 | 指定的支付主網,如 TRON、BSC、POLYGON、ETHEREUM |
expireSecond | Long | 否 | 過期時間戳記(秒) | |
sign | string | 是 | 簽章 | 詳情請見簽章演算法 |
請求 json 範例
{
"key": "dNNTJZpgFVWlYrVv",
"localOrderId": "CONANTEST01140",
"userCurrency": "USDT",
"quoteCurrency": "CNY",
"quoteAmount": "20",
"networkLimits": ["TRON", "BSC"],
"sign": "401c6541a4ba99794981233794f29a56"
}
回應 json 範例
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 474108977750213,
"localUserId": null,
"localOrderId": "CONANTEST01140",
"orderType": "PAYMENT",
"orderBizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"paymentUrl": "https://dxpay.dxstudio.org/fixed-amount-pay/JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"publicKey": "JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"currency": "CNY",
"userCurrency": "USDT",
"amount": "20",
"userReceivableAmount": "1.83",
"rate": "10.9",
"rateExpression": "1USDT≈10.9CNY"
}
}
返回的 paymentUrl 彈出付款頁面,如下圖: /7.3 数字币限定金额扫码支付/CustomizeUsdt.jpg)
data 參數說明
| 參數名稱 | 類型 | 參數意義 | 參數說明 |
|---|---|---|---|
orderId | string | 訂單 ID | |
localUserId | string | 商家本地用戶 ID | |
localOrderId | string | 商家本地訂單號碼 | |
orderType | enum | 訂單類型 | PAYMENT:支付订单 | WITHDRAW:提款订单 |
orderBizType | enum | 訂單業務類型 | orderBizType 類型說明如下 |
paymentUrl | string | 付款位址 | |
publicKey | string | 金鑰 | 公共存取金鑰 |
currency | string | 訂單幣種 | |
userCurrency | string | 用戶支付幣種 | |
amount | string | 訂單金額 | |
userReceivableAmount | string | 用戶應付金額 | |
rate | string | 匯率 | |
rateExpression | string | 訂單匯率表達式 |
orderBizType 類型說明:
1、PAYMENT_WALLET_SCAN VAPY錢包掃碼支付 2、PAYMENT_TRANSFER 數位幣綁定地址直充 3、PAYMENT_ANY_DIGITAL_SCAN 數位幣任意金額掃碼支付 4、WITHDRAW_WALLET 提款至VAPY錢包 5.WITHDRAW_ANY_DIGITAL_WALLET 提款數位幣至任意錢包 6、PAYMENT_FIXED_DIGITAL_SCAN 數位幣限定金額掃碼支付 7、BATCH_PAY 大量代付
回呼詳情說明
回呼的方式是:POST application/json
回呼參數 json 化範例
{
"amount": 1,
"bizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"blockchain": {
"network": "TRON",
"receiverAddress": "TA1jptT16DssYWVGdVyFWxonku6hWK7En3",
"senderAddress": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"txId": "24d0d0e5d417bd2195c45d64724760ae47fc3b359ee31c5fedf25b40f3584b36"
},
"currency": "USDT",
"extra": {
"quoteAmount": 10,
"quoteCurrency": "CNY",
"quotePrice": 10
},
"key": "h3cS7dBltRU4W1wD",
"localOrderId": "2820",
"merchantActualAmount": 22.72,
"merchantCurrency": "CNY",
"merchantId": 303122065665,
"merchantPaidAmount": 7.33,
"notifyTime": 1736744168370,
"orderCreateTime": 1731572133082,
"orderId": "273124814912907",
"sign": "699806308a9e055114c378671b0d2a15",
"status": "SUCCESS",
"type": "WITHDRAW",
"userAmount": 1,
"userCurrency": "USDT",
"userReceivableAmount": 1
}
| 參數名稱 | 類型 | 參與簽名 | 參數意義 | 參數說明 |
|---|---|---|---|---|
amount | decimal | 是 | 訂單金額 | |
bizType | enum | 是 | 訂單類型 | |
blockchain | object | 是 | 鏈交易資訊 | 當下單請求參數isBlockchain為true,回呼請求會攜帶此物件資訊。 (只涉及鏈上交易時,isBlockchain參數會生效) |
| └network | String | 是 | 主網 | |
| └receiverAddress | String | 是 | 接收位址 | |
| └senderAddress | decimal | 是 | 傳送位址 | |
| └txId | String | 是 | 交易ID | |
currency | String | 是 | 幣種 | |
key | String | 是 | 商家 key | |
localOrderId | String | 是 | 本地訂單號碼 | |
merchantActualAmount | decimal | 是 | 商家實際收款金額 | |
merchantCurrency | String | 是 | 商家收款幣種 | 預設幣種 |
merchantId | String | 是 | 商家號碼 | |
merchantPaidAmount | decimal | 是 | 商家收款金額 | |
merchantUserId | String | 是 | 用戶 id | |
notifyTime | long | 是 | 回呼時間 | |
orderCreateTime | long | 是 | 訂單建立時間 | |
orderId | String | 是 | 訂單號碼 | |
status | String | 是 | 付款狀態 | |
type | String | 是 | 訂單類型 | PAYMENT:支付 WITHDRAW:提款 |
userAmount | decimal | 是 | 用戶付款金額 | |
userCurrency | String | 是 | 用戶支付幣種 | |
sign | String | 否 | md5 簽章 | 詳情看簽名演算法 |
extra | object | 是 | 包含一下參數 | |
| └quoteAmount | number | 是 | 訂單報價金額 | |
| └quoteCurrency | number | 是 | 訂單報價幣種 | |
| └quotePrice | string | 是 | 訂單報價價格 | |
userReceivableAmount | string | 是 | 用 戶應付金額 |
當您收到回呼通知後,請在處理完成後直接返回字串 success,表示已成功接收並處理該訊息。 系統在收到 success 回應後,將不再對該筆回呼進行重複發送。 若未收到期望回應(未回傳 success 或回傳異常),系統將依照階梯式重試機制重新傳送回呼通知,最多重試 14 次。 當前重試時間間隔依序為: 15s, 15s, 30s,180s, 600s, 1200s, 1800s, 1800s, 1800s,3600s,10800s,10800s,21600s, 21600s