バックエンド導入のベストプラクティスベータ
各種 Web3 のユースケースでオンランプを安全に導入します。
オンランプが製品 UI の一部として表示されるようにするには、オンランプをアプリケーションのネイティブコンポーネントとしてフレーム化します。フロントエンドのデザインに加え、バックエンドでオンランプセッションを作成する際に、オンランプのパラメーターを事前入力することを検討してください。
ウォレット
ウォレットユーザーにはオンランプの主要エントリーポイントが 2 つあります。1 つはウォレットの資金追加で、もう 1 つは取引でのトップアップです。
ウォレットへの資金追加
ユーザーが新しいウォレットを作成した後、あるいは資金が極めて少ないときに、ウォレットに資金を追加するように積極的に促すことができます。
これらのケースでは、以下のパラメーターを指定することを検討してください。
wallet_
: すでに使用しているウォレットアドレスを使用します。addresses destination_
: デフォルトまたは選択したネットワークに設定し、ユーザーの混乱を軽減します。networks destination_
: これを空白のままにしても構いません。ただし、ネイティブガストークンや望ましい仮想通貨に限定することもできます。たとえば、USDC で DeFi サービスを提供している場合は、ユーザーが USDC とガストークンの両方を必要とする可能性が高いケースを考慮してください。currencies destination_
: これを空白のままにすると、サポートされているネットワークの最初の値を継承します。network destination_
: これを空白にすると、サポート対象の仮想通貨の最初の値を継承します。currency
以下のコード例は、これらのパラメーターのいくつかを使用したオンランプセッションの作成方法を示しています。
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \ -u
: \ -d "customer_ip_address"="8.8.8.8" \ -d "wallet_addresses[ethereum]"="0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2" \ -d "wallet_addresses[solana]"="bufoH37MTiMTNAfBS4VEZ94dCEwMsmeSijD2vZRShuV" \ -d "destination_networks[]"="ethereum" \ -d "destination_networks[]"="solana"sk_test_4eC39HqLyjWDarjtT1zdp7dc
取引のトップアップ
Dapp またはユーザーが取引を提案したときに、資金不足が原因で取引が失敗することがあります。この場合、取引の完了に必要な差額を計算できます。ただし、ERC トークンまたは SPL トークンでリクエストされた金額や仮想通貨は、多くの場合検出が困難です。
これらのケースでは、以下を指定することを検討してください。
wallet_
: 使用しているウォレットアドレスを使用します。addresses destination_
: 選択したネットワークに設定します。networks destination_
: 可能な場合は不足している通貨に限定します。currencies destination_
: 選択したネットワークに設定します (金額を設定する場合は必須値)。network destination_
: ターゲット通貨に設定します (金額を設定する場合は必須値)。currency destination_
: 残高の差異に設定し、できればガス (手数料) 用に十分な余地を残しておきます。amount
以下のコード例は、これらのパラメーターのいくつかを使用したオンランプセッションの作成方法を示しています。
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \ -u
: \ -d "customer_ip_address"="8.8.8.8" \ -d "wallet_addresses[ethereum]"="0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2" \ -d "destination_networks[]"="ethereum" \ -d "destination_currencies[]"="usdc" \ -d "destination_network"="ethereum" \ -d "destination_currency"="usdc" \ -d "destination_amount"="10"sk_test_4eC39HqLyjWDarjtT1zdp7dc
Dapp または NFT の決済
送金額がわかっている場合に決済でオンランプを使用できます。たとえば、Dapp を使用して、固定価格でメンバーシップを販売できます。あるいは、ユーザーがマーケットプレイスから特定の NFT を購入しようとする場合もあります。
これらのケースでは、以下を指定することを検討してください。
wallet_
: 接続されているウォレットアドレスを使用します。addresses destination_
: 接続されているネットワークを使用します。networks destination_
: 取引通貨 (商品の見積もりに使用される通貨での価格) を使用しますcurrencies destination_
: 上記の選択したネットワークに設定します (金額を設定する場合は必須値)。network destination_
: 上記のターゲット通貨に設定します (金額を設定する場合は必須値)currency destination_
: 残高の差異に設定するか、購入金額全体を対象とします。均等なスプリットを対象として、両方のオンチェーン分析を採用するユーザーもいます。また、全額を選択して、税金の原価基準を簡素化したり、蓄積している資産を使わないようにすることもできます。いずれの場合でも、ガス用の余地を残しておく必要があります。amount
以下のコード例は、これらのパラメーターのいくつかを使用したオンランプセッションの作成方法を示しています。
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \ -u
: \ -d "customer_ip_address"="8.8.8.8" \ -d "wallet_addresses[ethereum]"="0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2" \ -d "destination_networks[]"="ethereum" \ -d "destination_currencies[]"="eth" \ -d "destination_network"="ethereum" \ -d "destination_currency"="eth" \ -d "destination_amount"="0.2343"sk_test_4eC39HqLyjWDarjtT1zdp7dc
DEX
DEX は、ユーザーが法定通貨で仮想通貨を購入できる独自の機会を提供します。DEX では既存のインターフェイスを使用して任意の仮想通貨ペアを交換する際に仮想通貨をトップアップするようにユーザーに促すことができます。ただし、法定通貨から仮想通貨への方向にのみを目的とする専用のユーザーフローを用意することをお勧めします。
オンランプではブランドと UI を管理できるため、DEX でオンランプウィジェットを構築し、法定通貨を厳選した仮想通貨に調製する Stripe の能力を活用できます。DEX では、仮想通貨を任意の通貨に交換する最終工程を完了できます。また、DEX では特定のトークンのオンランプウィジェットを構築することもできます。たとえば、DAO では特定の流動性プールを承認し、DEX を使用してトークンを分散し、法定通貨で新規ユーザーをアカウント登録することができます。
これらのケースでは、以下を指定することを検討してください。
wallet_
: すでに使用しているウォレットアドレスを使用します。addresses destination_
: 選択したネットワークに設定します。networks destination_
: 選択した仮想通貨に限定します。currencies destination_
: 選択したネットワークに設定します (金額を設定する場合は必須値)。network destination_
: ターゲット通貨に設定します (金額を設定する場合は必須値)currency destination_
: あらかじめユーザーのインテントを収集できる場合にのみ設定します。空白のままにした場合は、Stripe が適切なデフォルト値を提案します。amount
以下のコード例は、これらのパラメーターのいくつかを使用したオンランプセッションの作成方法を示しています。
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \ -u
: \ -d "customer_ip_address"="8.8.8.8" \ -d "wallet_addresses[ethereum]"="0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2" \ -d "destination_networks[]"="ethereum" \ -d "destination_currencies[]"="eth" \ -d "destination_network"="ethereum" \ -d "destination_currency"="eth"sk_test_4eC39HqLyjWDarjtT1zdp7dc