ステーブルコイン決済の受け付け
暗号資産による支払い方法を有効にして、ステーブルコインの受け入れを開始します。
You can accept stablecoin payments through Payment Links, Checkout, Elements, or the Payment Intents API. When paying with stablecoins such as USDC, customers get redirected to crypto.stripe.com to connect their crypto wallet and complete the transaction. Funds settle in your Stripe balance in USD.
はじめに
地域的な考慮事項アメリカ
顧客は世界中でステーブルコインを支払いに利用できますが、現在、ステーブルコインの決済を受け付けることができるのはアメリカ企業のみです。
ステーブルコイン決済の受け付けを開始するには、 暗号資産 という決済方法を有効にします。
- Stripe アカウントがアクティブ になっていることをご確認ください。
- 設定 > 支払い >支払い方法 にアクセスし、 暗号資産 支払い方法をリクエストしてください。
- Stripe はアクセスリクエストを審査し、必要に応じて詳細についてお問い合わせする場合があります。お客様のリクエストが審査されている間は、支払い方法は 保留中 と表示されます。
- 承認されると、ダッシュボードで 暗号資産 が有効になります。
動的支払い方法での使用 Recommended
Stripe のデフォルト動的支払い方法 を Payment Links、Hosted Checkout、Embedded Checkout Forms、または Elements でご利用の場合、これ以上のアップデートは必要ありません。Stripe は、対象となる顧客にステーブルコインの支払いオプションを自動的に表示します。
カスタム導入する場合
必要に応じて、支払い導入に暗号資産による支払い方法を手動で追加することができます。
Payment Intents API を通じて、Pay with Crypto を直接統合します。
PaymentIntent を作成し、client secret を取得するサーバー側
PaymentIntent オブジェクトは、顧客から支払いを徴収する意図を表し、支払いプロセスのライフサイクルを追跡します。サーバーにPaymentIntentを作成し、徴収する金額と対応する通貨を指定します。既存の PaymentIntent を導入している場合は、payment_method_types のリストに crypto を追加します。
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
ステーブルコインの支払いページへのリダイレクト
顧客が支払い方法として 仮想通貨 を選択した場合に、Stripe.js を使用して Stripe に支払いを送信します。Stripe.js は、支払いフローを構築するための基本的な JavaScript ライブラリです。このライブラリにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、実装を他の支払い方法にも拡張できます。Stripe.js スクリプトは、HTML ファイルの <head> に追加して、Checkout ページに含めます。
<head> <title>Checkout</title> <script src="https://js.stripe.com/clover/stripe.js"></script> </head>
決済ページで次の JavaScript を使用して Stripe.js のインスタンスを作成します。
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe();'pk_test_TYooMQauvdEDq54NiTphI7jx'
PaymentIntent の client secret を使用して stripe. を呼び出し、Pay with Crypto のリダイレクトを処理します。return_ を追加して、決済完了後に顧客をリダイレクトする場所を指定します。
const form = document.getElementById('payment-form'); form.addEventListener('submit', async function(event) { event.preventDefault(); // Set the clientSecret of the PaymentIntent const { error } = await stripe.confirmPayment({ clientSecret: clientSecret, confirmParams: { payment_method_data: { type: 'crypto', }, // Return URL where the customer should be redirected after the authorization return_url: `${window.location.href}`, }, }); if (error) { // Inform the customer that there was an error. const errorElement = document.getElementById('error-message'); errorElement.textContent = result.error.message; } });
return_ は、支払いの結果を表示する、お客様のウェブサイトのページに相当します。PaymentIntent のステータスを確認して、表示する内容を決定します。ステータス確認のために Stripe がリダイレクトする return_ には、次の URL クエリパラメーターが含まれています。また、独自のクエリパラメーターを return_ に追加することもできます。設定したパラメーターは、リダイレクトプロセス全体にわたって保持されます。
payment_ | PaymentIntent の一意の ID。 |
payment_ | PaymentIntent オブジェクトの Client Secret。 |
オプション支払い後のイベントを処理する
支払いが完了すると、Stripe は payment_intent.succeeded イベントを送信します。ダッシュボード、カスタム Webhook、またはパートナーソリューションを使用して、これらのイベントを受信し、顧客への注文確認メールの送信、データベースへの販売の記録、配送ワークフローの開始などのアクションを実行します。
クライアントからのコールバックを待たずにこれらのイベントをリッスンします。クライアント側では、コールバックが実行される前に顧客がブラウザーのウィンドウを閉じたり、アプリを終了したりする可能性があるだけでなく、不正なクライアントによってレスポンスが操作される可能性もあります。非同期イベントをリッスンするようにシステムを設定すると、今後より多くの決済手段を受け付けられるようになります。サポートされている決済手段のそれぞれの違いについては、決済手段ガイドをご確認ください。
イベントを受信し、ビジネスアクションを実行する
ビジネスアクションを受信して実行するためのオプションとして、以下をご利用いただけます。
手動処理: Stripe ダッシュボードを使用して、Stripe Payments の表示、メール領収書の送信、入金処理、失敗した支払いの再試行などを処理します。
カスタムコード: Webhook ハンドラを構築してイベントを受信し、非同期型のカスタムの決済フローを作成します。Stripe CLI を使用して、ローカルで Webhook の実装のテストとデバッグを行います。
事前構築済みアプリ: パートナーアプリケーションと連携して、自動化やマーケティングセールスなどの一般的なビジネスイベントを処理します。
サポートされている通貨
顧客の国に対応する通貨で暗号資産での支払いを作成できます。暗号資産のデフォルトの現地通貨は USD ですが、顧客は購入金額をこの通貨でも確認できます。
オプションリダイレクトを手動で処理するサーバー側
リダイレクトを処理するには、confirmPayment を指定して Stripe.js を使用することをお勧めします。顧客を手動でリダイレクトする場合の方法を紹介します。
- 顧客が支払いを完了した後にリダイレクトされる URL を指定します。
PaymentIntentのステータスがrequires_であることを確認します。action next_のタイプはaction redirect_になります。to_ url
"next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }
next_プロパティで指定された URL に顧客をリダイレクトします。action
支払いプロセスを完了した顧客は、return_ の指定先に送られます。payment_ と payment_ の URL クエリパラメーターが含まれます。上記のように、自社で作成したクエリパラメーターを渡すことができます。
実装内容をテストする
テスト API キーを使用して決済リダイレクトページを開き、暗号資産決済統合をテストします。テストネットアセット を使用して、決済フローの成功を無料でテストできます。
- サンドボックスで、選択した統合方法を使用して新しいトランザクションを作成し、そのリダイレクト URL を開きます。
- 任意のウォレットと決済ネットワークを接続します。
- 決済を完了し、想定する URL にリダイレクトされることを確認します。
テストネットアセットで決済をテストする
ほとんどの暗号資産は、ブロックチェーントランザクションのテストに使用できるテストネットアセット (金銭的価値のないトークン) を提供しています。Stripe は、テストに MetaMask ウォレット、Polygon Amoy テストネット、Circle Faucet を推奨していますが、独自のサービスを使用することもできます。
ウォレットをインストールする
- Web ブラウザ用の MetaMask 拡張機能をダウンロード します。
- 新しいウォレットを作成 するか、既存のウォレットをインポート します。
テストネットを有効にする
- MetaMask ウォレットで、メインメニューからネットワークを選択します。
- カスタムネットワークを追加をクリックします。
- 次の詳細を入力します。
- ネットワーク名:
Polygon Amoy - デフォルトの RPC URL:
https://rpc-amoy.polygon. technology/ - チェーン ID:
80002 - 通貨シンボル:
POL - ブロックエクスプローラーの URL:
https://amoy.polygonscan. com/
- ネットワーク名:
- 保存 をクリックします。
トークンをインポートする
- MetaMask ウォレットのトークンで、ネットワークドロップダウンからPolygon Amoy を選択します。
- オーバーフローメニュー () をクリックし、トークンのインポートを選択します。
- ネットワークを選択 > Polygon Amoy をクリックします。
- トークンコントラクトアドレスに、Polygon Amoy のテストネットコントラクトアドレスを貼り付けます。トークンシンボルフィールドは
0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582USDCで自動的に更新され、小数点以下桁数フィールドは6で更新されます。 - 次へ をクリックします。
USDCトークンをインポートしていることを確認し、インポートをクリックします。
MetaMask ウォレットのトークンリストに Polygon Amoy と USDC が表示されるようになりました。
テストネットアセットを取得する
- faucet.circle.com を開きます
- USDC をクリックします。
- ネットワークで、Polygon PoS Amoy を選択します。
- 送信先にウォレットアドレスを貼り付けます。
- 10 USDC を送金をクリックします。
決済を行うための USDC に加えて、トランザクションコストを支払うための POL が必要です。
- faucet.polygon.technology を開きます。
- チェーンとトークンの選択で、Polygon Amoy と POL を選択します。
- 本人確認で、認証に使用するサードパーティプラットフォームをクリックし、ログインプロセスを完了します。
- ウォレットアドレスの入力に、ウォレットアドレスを貼り付けます。
- Claim をクリックします。
テストネットトランザクションの完了には数分かかる場合があります。ウォレットを確認して、USDC と POL が送金されたことを確認してください。
その他のテストネット Faucet
より多くのテストトークンオプションについては、次の Faucet サービスを確認してください。