埋め込み可能なオンランプ導入の設定公開プレビュー
このガイドを使用して、埋め込み可能なオンランプを全面的にカスタマイズできます。
このガイドは、組み込み型オンランプクイックスタートの拡張版です。次のような機能の追加方法をご覧ください。
- スクリプトタグまたはパッケージマネージャーを使用した SDK のインストール
- 仮想通貨へのオンランプ換算の推定見積もりの取得
- モバイル Web ビューへのオンランプ UI の設定
SDK およびクライアントライブラリをインストールするクライアント側サーバー側
クライアント側
以下のスクリプトを、script タグを使用して HTML の <head>
要素内に含めます。互換性と PCI 準拠のため、このスクリプトは常に Stripe のドメイン (https://js.stripe.com、https://crypto-js.stripe.com) から直接読み込んでください。このスクリプトをバンドルに含めたり、そのコピーを自分でホストしたりしないでください。その場合、警告なしに実装が壊れる可能性があります。
<head> <title>Onramp</title> <script src="https://js.stripe.com/basil/stripe.js"></script> <script src="https://crypto-js.stripe.com/crypto-onramp-outer.js"></script> </head>
オンランプ JS SDK をモジュールとして使用する
npm パッケージを使用して、オンランプ JS SDK を ES モジュールとして読み込みます。パッケージには、TypeScript の型定義が含まれています。
npm install --save @stripe/stripe-js @stripe/crypto
代替 SDK のインストール
サーバー側
オンランプ API は限定的なベータ版であるため、公式ライブラリには API エンドポイントのサポートが含まれていません。このため、サンプルではバックエンドとのやり取りに curl を使用しています。
仮想通貨オンランプセッションを生成するサーバー側
端末で次の curl コマンドを実行して、仮想通貨オンランプセッションを生成します。
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \ -u
: \ -d "wallet_addresses[ethereum]"="0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2" # add as many parameters as you'd likesk_test_BQokikJOvBiI2HlWgH4olfQ2
次のようなレスポンスを受信します。
{ "id": "cos_0MYfrA589O8KAxCGEDdIVYy3", "object": "crypto.onramp_session", "client_secret": "cos_0MYfrA589O8KAxCGEDdIVYy3_secret_rnpnWaxQbYQOvp6nVMvEeczx300NRU4hErZ", "created": 1675732824, "livemode": false, "status": "initialized", "transaction_details": { "destination_currency": null, "destination_amount": null, "destination_network": null, "fees": null, "lock_wallet_address": false, "source_currency": null, "source_amount": null, "destination_currencies": [ "btc", "eth", "sol", "usdc" ], "destination_networks": [ "bitcoin", "ethereum", "solana" ], "transaction_id": null, "wallet_address": null, "wallet_addresses": { "bitcoin": null, "ethereum": "0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2", "polygon": null, "solana": null } } }
セッションの作成時に渡すことができる全パラメーターのリストについては、オンランプ API リファレンスをご覧ください。
オンランプ UI をレンダリングするクライアント側
スクリプトを実行すると、オンランプに以下のダイアログが表示されます。

サードパーティーアプリケーションに埋め込まれた、Stripe による法定通貨から仮想通貨へのオンランプ
サンドボックスの値
警告
サンドボックスの取引金額は、事前に決定された限度額によって上書きされます。
次の値を使用して、サンドボックスでオンランプ取引を完了します。
- OTP 画面で、確認コードに
000000
を使用します。 - 個人情報画面で、SSN には
000000000
を使用して、住所 (1 行目) にはaddress_
を使用します。full_ match - 支払いの詳細画面で、テスト用クレジットカード番号
4242424242424242
を使用します。
実装の使用状況を表示
オンランプを起動した後、Stripe ダッシュボードでカスタマイズされた使用量レポートを表示できます。また、アカウント登録ページに戻って、オンランプのホストを計画しているドメインを更新し、アカウント登録タスクのステータスを確認することもできます。
オプションモバイル用にオンランプを設定する
セッションを作成して、オンランプ UI をホストし、購入を完了して、ユーザーをモバイルアプリにリダイレクトすることで、Stripe の仮想通貨オンランプ UI をモバイルの Web ビューやブラウザに導入します。
セッションを発行する
他の導入と同様に、ユーザーがアクセスするたびに新規オンランプセッションを作成するサーバーエンドポイントを実装する必要があります。このエンドポイントは client_
を返します。これにより、オンランプ UI を読み込み、オンランプが利用できない場合にエラーを表示することができます。
オンランプ UI をホストする
フロントエンドルートを作成する (たとえば、www.my-web3-wallet.com/onramp/<client_secret>) ことで、オンランプ UI をホストします。/onramp/<client_secret> は onramp.html を指します。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Crypto Onramp</title> <meta name="description" content="A demo of the hosted onramp" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script type="text/javascript" src="https://crypto-js.stripe.com/crypto-onramp-outer.js"></script> <script src="onramp.js" defer></script> </head> <body> <div id="onramp-element" /> </body> </html>
ここで、onramp.js が URL から client_
を使用して、オンランプ UI をマウントします。
const stripeOnramp = StripeOnramp(
); initialize(); // initialize onramp element with client secret function initialize() { const url = window.location.href.replace(/\/$/, ''); const clientSecret = url.substring(url.lastIndexOf('/') + 1); const onrampSession = stripeOnramp.createSession({ clientSecret, // other client side options that customize the look and feel }); onrampSession .addEventListener('onramp_session_updated', handleSessionUpdate) .mount("#onramp-element"); } function handleSessionUpdate(event) { const session = event.payload.session; if (session.status === 'fulfillment_complete' || session.status === 'rejected') { // redirect back to mobile app through universal link window.location.assign('/onramp_success/' + session.id); } }pk_test_TYooMQauvdEDq54NiTphI7jx
モバイルアプリに戻るディープリンク /onramp_
へのユニバーサルリンクを設定します。ユーザーに手動でアプリに切り替えるように求めるフォールバックまたは onramp_
ページを用意することを検討してください。
購入を完了する
標準的な導入と同様に、フロントエンドクライアントがオンランプ UI 全体を制御します。この UI は画面サイズに合うようにサイズが変更されます。セッションの状態が変化し、さらに transaction_
が収集されると、CryptoOnrampSession
オブジェクトがそれに従って更新されます。ステータスが移行するたびに、Webhook とフロントエンドイベントが生成されます。フロントエンドイベントリスナーを使用することで、OnrampSession
の完了時にユーザーをアプリケーションフローにリダイレクトできます。
モバイルアプリにリダイレクトする
ユーザーはディープリンクまたは手動切り替えを使用して、モバイルアプリケーションでフローを再開できます。モバイルアプリケーションではバックエンドを使用して、CryptoOnrampSession
の状態のクエリを続行できます。
たとえば、ユーザーが初期設定時に残高にトップアップ (資金を追加) する場合、セッションが fulfillment_
に移行した時点でユーザーをアプリケーションにリダイレクトできます。バックグラウンドで OnrampSession
のステータスをポーリングしている間に、ユーザーがアプリケーションの残りの部分を確認できるようにすることができます。