メインコンテンツまでスキップ

7.2.1 任意の金額のデジタル通貨のスキャン コード支払い注文を作成する

#簡単な説明: デジタル通貨リチャージ ビジネス インターフェイス。ユーザーは QR コードをスキャンすることで、USDT (テザー) を自分のデジタル ウォレット アカウント (市場為替レート) にリチャージできます。

リクエストパラメータ
パラメータ名タイプ必須パラメータの意味パラメータの説明
keystringはい販売者キーAPIキー
localOrderIdstringはい販売者プラットフォームのローカル注文番号販売者プラットフォームはローカルで一意の注文番号を生成します。
localUserIdstringいいえ販売者プラットフォームのローカル ユーザー ID販売者プラットフォームのローカル ユーザー ID
notifyUrlstringいいえコールバックアドレス注文が正常に行われた後、販売者のアドレスは API コールバックによって通知されます (コールバックの詳細については、ドキュメント 3 を参照してください)。
successRedirectUrlstringいいえジャンプアドレス成功後に自動的にアドレスにジャンプします。
currencystringはい注文価格の通貨価格設定通貨 (ウォレットでサポートされている通貨)
userCurrencystringはいユーザー支払い通貨ユーザーが支払う必要がある通貨 (ウォレットでサポートされているデジタル通貨)
amountnumberいいえユーザーの予想支払額
isBlockchainbooleanいいえブロックチェーン情報を返すかどうか (デフォルトは false)true の場合、コールバック リクエストは注文チェーン上のトランザクション情報を伝達します。
networkLimitsarrayいいえメインネットTRON、BSC、POLYGON、ETHEREUM などの指定された決済メインネット
expireSecondLongいいえ有効期限のタイムスタンプ (秒)
signstringはい署名詳細については、「署名アルゴリズム」を参照してください。
JSON サンプルをリクエスト
{
"key": "9yUreYgTRtit39Dy",
"localOrderId": "1732322-111",
"notifyUrl": "http://127.0.0.1:8080/merchant-demo/notify",
"amount": 8,
"currency": "USDT",
"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により、以下に示すように支払いページがポップアップ表示されます。

![img](/dx-docs/7- 7、数字币代收(充值)/7.2 数字币任意金额扫码/usdt.jpg)

応答データパラメータの説明
パラメータ名タイプパラメータの意味パラメータの説明
orderIdstring注文ID
localUserIdstring販売者のローカル ユーザー ID
localOrderIdstring販売者のローカル注文番号
orderTypeenum注文タイプ
orderBizTypeenum受注業態orderBizType タイプの説明は次のとおりです。
paymentUrlstring支払い先住所
publicKeystringパブリックアクセスキー

orderBizType タイプの説明:

  1. PAYMENT_WALLET_SCAN MINPAYウォレットスキャンコード支払い
  2. PAYMENT_TRANSFER デジタル通貨バインディングアドレス直接入金
  3. PAYMENT_ANY_DIGITAL_SCAN QR コードをスキャンして、任意の金額のデジタル通貨を支払います
  4. WITHDRAW_WALLET MINPAY ウォレットにお金を引き出します
  5. WITHDRAW_ANY_DIGITAL_WALLET デジタル通貨を任意のウォレットに引き出します
  6. PAYMENT_FIXED_DIGITAL_SCAN デジタル通貨限定金額スキャンコード支払い
  7. 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,
"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
}

コールバック通知を受信した場合は、処理が完了した後、メッセージが正常に受信され処理されたことを示す文字列 success を直接返してください。 システムが成功応答を受信すると、コールバックを繰り返し送信しなくなります。 予期した応答が受信されない場合 (成功が返されないか、例外が返された場合)、システムは段階的再試行メカニズムに従ってコールバック通知を再送信し、最大 14 回再試行します。 現在の再試行間隔は次のとおりです。 15秒、15秒、30秒、180秒、600秒、1200秒、1800秒、1800秒、1800秒、3600秒、10800秒、10800秒、21600秒、21600秒