埋め込み可能なオンランプ導入の設定公開プレビュー
このガイドを使用して、埋め込み可能なオンランプを全面的にカスタマイズできます。
This guide is an extended version of the Embeddable onramp quickstart. Learn how to add more functionality such as:
- Installing the SDK using a script tag or package manager
- Fetching estimated quotes for onramp conversions into cryptocurrencies
- Configuring the onramp UI into mobile web views
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 をモジュールとして使用する
Use the npm package to load the onramp JS SDK as an ES module. The package includes Typescript type definitions.
npm install --save @stripe/stripe-js @stripe/crypto
Alternate SDK installation
サーバー側
オンランプ 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 ダッシュボードでカスタマイズされた使用量レポートを表示できます。また、アカウント登録ページに戻って、オンランプのホストを計画しているドメインを更新し、アカウント登録タスクのステータスを確認することもできます。
オプションConfigure the onramp for mobile use
Integrate Stripe’s crypto onramp UI into mobile web views and browsers by minting a session, hosting the onramp UI, completing the purchase, and redirecting users back to the mobile app.
Mint a session 
Similar to other integrations, you need to implement a server endpoint to create a new onramp session for every user visit. The endpoint returns a client_
that can load the onramp UI or display an error if the onramp is unavailable.
Host the onramp UI 
Create a frontend route (for example, www.my-web3-wallet.com/onramp/<client_secret>) to host the onramp UI. Your /onramp/<client_secret> points to an 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>
Where onramp.js consumes the client_
from the URL and mounts the onramp 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
Configure universal links to deep link /onramp_
back to your mobile app. Consider providing a fallback or onramp_
page to prompt users to manually switch back to your app.
Complete the purchase 
As with a standard integration, the front-end client controls the entire onramp UI. The UI adapts to fit the screen size. As the session state changes and we gather more transaction_
, the CryptoOnrampSession
object updates accordingly. We generate webhooks and front-end events for every status transition. By using front-end event listeners, you can redirect users back to your application flow when the OnrampSession
completes.
Redirect to the mobile app 
Using a deep link or manual switch, users can resume their flow in your mobile application. Your mobile application can use your back end to continue querying the CryptoOnrampSession
state.
For example, if a user is topping up their balance during initial setup, you can redirect them back to your application as soon as the session transitions to fulfillment_
. You can allow users to explore the rest of your application while polling the OnrampSession
status in the background.