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

7.2.2 任意の金額のデジタル通貨 (販売者が定義する為替レート) のスキャン コード支払い注文を作成する

#簡単な説明: デジタル通貨リチャージ ビジネス インターフェイス。ユーザーは QR コードをスキャンすることで USDT (テザー) をデジタル ウォレット アカウントにリチャージできます (販売者のカスタマイズされた為替レート、販売者のバックエンド設定にログインする必要があります)

リクエストパラメータ
パラメータ名タイプ必須パラメータの意味パラメータの説明
keystringはい販売者キーAPIキー
localOrderIdstringはい販売者プラットフォームのローカル注文番号販売者プラットフォームはローカルで一意の注文番号を生成します。
localUserIdstringいいえ販売者プラットフォームのローカル ユーザー ID販売者プラットフォームのローカル ユーザー ID
notifyUrlstringいいえコールバックアドレス注文が正常に完了すると、販売者のアドレスが API コールバックによって通知されます (コールバックの詳細は下部にあります)。
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": "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により、以下に示すように支払いページがポップアップ表示されます。

![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,
"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
}
パラメータ名タイプ参加署名パラメータの意味パラメータの説明
amountdecimalはい注文金額
bizTypeenumはい注文タイプ
blockchainobjectはいチェーントランザクション情報オーダーリクエストパラメータ isBlockchain が true の場合、コールバックリクエストはこのオブジェクト情報を伝えます。 (オンチェーントランザクションのみが関係する場合、isBlockchain パラメータが有効になります)
└ネットワークStringはいメインネット
└受信者アドレスStringはい受信者のアドレス
└差出人住所decimalはい送付先住所
└txIdStringはいトランザクションID
currencyStringはい通貨
keyStringはい販売者キー
localOrderIdStringはいローカル注文番号
merchantActualAmountdecimalはい販売者の実際の支払い額
merchantCurrencyStringはい販売者の支払い通貨デフォルトの通貨
merchantIdStringはい販売者 ID
merchantPaidAmountdecimalはい販売者の支払額
merchantUserIdStringはいユーザーID
notifyTimelongはいコールバック時間
orderCreateTimelongはい注文作成時間
orderIdStringはい注文番号
statusStringはい支払い状況
typeStringはい注文タイプ
userAmountdecimalはいユーザー支払額
userCurrencyStringはいユーザー支払い通貨
signStringいいえmd5署名詳細については、署名アルゴリズムを参照してください。
extraobjectはい次のパラメータが含まれます。
└見積金額numberはい注文見積金額
└見積通貨numberはい注文見積通貨
└お見積り価格stringはい注文見積価格
userReceivableAmountstringはいユーザーが支払う金額

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