7.2.2 任意の金額のデジタル通貨 (販売者が定義する為替レート) のスキャン コード支払い注文を作成する
#簡単な説明: デジタル通貨リチャージ ビジネス インターフェイス。ユーザーは QR コードをスキャンすることで USDT (テザー) をデジタル ウォレット アカウントにリチャージできます (販売者のカスタマイズされた為替レート、販売者のバックエンド設定にログインする必要があります)
- リクエスト方法:POST
- リクエストインターフェイス: https://gateway-domain/wallet-trade-merchant/v1/receive/blockchain/any/custom/rate/create ・リクエストメディアタイプ(JSONデータ形式)Content-Type: application/json
リクエストパラメータ
| パラメータ名 | タイプ | 必須 | パラメータの意味 | パラメータの説明 |
|---|---|---|---|---|
key | string | はい | 販売者キー | APIキー |
localOrderId | string | はい | 販売者プラットフォームのローカル注文番号 | 販売者プラットフォームはローカルで一意の注文番号を生成 します。 |
localUserId | string | いいえ | 販売者プラットフォームのローカル ユーザー ID | 販売者プラットフォームのローカル ユーザー ID |
notifyUrl | string | いいえ | コールバックアドレス | 注文が正常に完了すると、販売者のアドレスが API コールバックによって通知されます (コールバックの詳細は下部にあります)。 |
successRedirectUrl | string | いいえ | ジャンプアドレス | 成功後に自動的にアドレスにジャンプします。 |
currency | string | はい | 注文価格の通貨 | 価格設定通貨 (ウォレットでサポートされている通貨) |
userCurrency | string | はい | ユーザー支払い通貨 | ユーザーが支払う必要がある通貨 (ウォレットでサポートされているデジタル通貨) |
amount | number | いいえ | ユーザーの予想支払額 | |
isBlockchain | boolean | いいえ | ブロックチェーン情報を返すかどうか (デフォルトは false) | true の場合、コールバック リクエストは注文チェーン上のトランザクション情報を伝達します。 |
networkLimits | array | いいえ | メインネット | TRON、BSC、POLYGON、ETHEREUM などの指定された決済メインネット |
expireSecond | Long | いいえ | 有効期限のタイムスタンプ (秒) | |
sign | string | はい | 署名 | 詳細については、「署名アルゴリズム」を参照してください。 |
JSON サンプルをリクエスト
{
"key": "9yUreYgTRtit39Dy",
"localOrderId": "1732322-111",
"notifyUrl": "http://127.0.0.1:8080/merchant-demo/notify",
"amount": 8,
"currency": "CNY",
"userCurrency": "USDT",
"networkLimits": ["TRON"],
"isBlockchain": true,
"sign": "6c82150ae89fc0fa202f98c92023ef04"
}
応答 json の例
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 274185964909271,
"localUserId": null,
"localOrderId": "1732322-111",
"orderType": "PAYMENT",
"orderBizType": "PAYMENT_ANY_USDT_WALLET_SCAN",
"paymentUrl": "https://walletapi.vapyapp.com/any-amount-pay/NanZCtCLCcFQbqbPyy3KJkFPYNTaZGuGjyibkAVjVuebjHWi2QuVrM5QUxg4",
"publicKey": "NanZCtCLCcFQbqbPyy3KJkFPYNTaZGuGjyibkAVjVuebjHWi2QuVrM5QUxg4"
}
}
返されたpaymentUrlにより、以下に示すように支払いページがポップアップ表示されます。
/7.2 数字币任意金额扫码/usdt.jpg)
応答データパラメータの説明
| パラメータ名 | タイプ | パラメータの意味 | パラメータの説明 |
|---|---|---|---|
orderId | string | 注文ID | |
localUserId | string | 販売者のローカル ユーザー ID | |
localOrderId | string | 販売者のローカル注文番号 | |
orderType | enum | 注文タイプ | |
orderBizType | enum | 受注業態 | orderBizType タイプの説明は次のとおりです。 |
paymentUrl | string | 支払い先住所 | |
publicKey | string | パブリックアクセスキー |
orderBizType タイプの説明:
- PAYMENT_WALLET_SCAN VAPYウォレットスキャンコード支払い
- PAYMENT_TRANSFER デジタル通貨バインディングアドレス直接入金
- PAYMENT_ANY_DIGITAL_SCAN QR コードをスキャンして、任意の金額のデジタル通貨を支払い ます
- WITHDRAW_WALLET VAPY ウォレットにお金を引き出します
- WITHDRAW_ANY_DIGITAL_WALLET デジタル通貨を任意のウォレットに引き出します
- PAYMENT_FIXED_DIGITAL_SCAN デジタル通貨限定金額スキャンコード支払い
- BATCH_PAY 一括支払い
コールバックは JSON データを返します
デフォルトでは、すべての callback パラメータが署名検証に参加します。コールバックパラメータの詳細については、「コールバック](/docs/dx-docs/3、回调)」を参照してください。
コールバックデータ
{
"amount": 8,
"bizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"blockchain": {
"network": "TRON",
"receiverAddress": "TA1jptT16DssYWVGdVyFWxonku6hWK7En3",
"senderAddress": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"txId": "24d0d0e5d417bd2195c45d64724760ae47fc3b359ee31c5fedf25b40f3584b36"
},
"currency": "USDT",
"key": "h3cS7dBltRU4W1wD",
"localOrderId": "2820",
"merchantActualAmount": 8.86,
"extra": {
"quoteAmount": 10,
"quoteCurrency": "CNY",
"quotePrice": 10
},
"merchantCurrency": "CNY",
"merchantId": 303122065665,
"merchantPaidAmount": 10.98,
"merchantUserId": "97",
"notifyTime": 1731572168370,
"orderCreateTime": 1731572133082,
"orderId": "273124814912907",
"sign": "699806308a9e055114c378671b0d2a15",
"status": "SUCCESS",
"type": "PAYMENT",
"userAmount": 1.55,
"userCurrency": "USDT",
"userReceivableAmount": 1.55
}
| パラメータ名 | タイプ | 参加署名 | パラメータの意味 | パラメータの説明 |
|---|---|---|---|---|
amount | decimal | はい | 注文金額 | |
bizType | enum | はい | 注文タイプ | |
blockchain | object | はい | チェーントランザクション情報 | オーダーリクエストパラメータ isBlockchain が true の場合、コールバックリクエストはこのオブジェクト情報を伝えます。 (オンチェーントランザクションのみが関係する場合、isBlockchain パラメータが有効になります) |
| └ネットワーク | String | はい | メインネット | |
| └受信者アドレス | String | はい | 受信者のアドレス | |
| └差出人住所 | decimal | はい | 送付先住所 | |
| └txId | String | はい | トランザクションID | |
currency | String | はい | 通貨 | |
key | String | はい | 販売者キー | |
localOrderId | String | はい | ローカル注文番号 | |
merchantActualAmount | decimal | はい | 販売者の実際の支払い額 | |
merchantCurrency | String | はい | 販売者の支払い通貨 | デフォルトの通貨 |
merchantId | String | はい | 販売者 ID | |
merchantPaidAmount | decimal | はい | 販売者の支払額 | |
merchantUserId | String | はい | ユーザーID | |
notifyTime | long | はい | コールバック時間 | |
orderCreateTime | long | はい | 注文作成時間 | |
orderId | String | はい | 注文番号 | |
status | String | はい | 支払い状況 | |
type | String | はい | 注文タイプ | |
userAmount | decimal | はい | ユーザー支払額 | |
userCurrency | String | はい | ユーザー支払い通貨 | |
sign | String | いいえ | md5署名 | 詳細については、署名アルゴリズムを参照してください。 |
extra | object | はい | 次のパラメータが含まれます。 | |
| └見積金額 | number | はい | 注文見積金額 | |
| └見積通貨 | number | はい | 注文見積通貨 | |
| └お見積り価格 | string | はい | 注文見積価格 | |
userReceivableAmount | string | はい | ユーザーが支払う金額 |
コールバック通知を受信した場合は、処理が完了した後、メッセージが正常に受信され処理されたことを示す文字列 success を直接返してください。 システムが成功応答を受信すると、コールバックを繰り返し送信しなくなります。 予期した応答が受信されない場合 (成功が返されないか、例外が返された場合)、システムは段階的再試行メカニズムに従ってコールバック通知を再送信し、最大 14 回再試行します。 現在の再試行間隔は次のとおりです。 15秒、15秒、30秒、180秒、600秒、1200秒、1800秒、1800秒、1800秒、3600秒、10800秒、10800秒、21600秒、21600秒