コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要決済を受け付ける構築済みのシステムをアップグレード
オンライン決済
概要ユースケースを見つける
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
Managed Payments を使用する
継続課金
対面決済
Terminal
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
決済業務
アナリティクス
残高と売上処理にかかる期間
コンプライアンスとセキュリティ
通貨
支払い拒否
不審請求の申請
不正利用防止
Radar の不正防止
入金
領収書返金とキャンセル
高度な連携システム
カスタムの決済フロー
柔軟なアクワイアリング
オフセッション決済
複数の決済代行業者のオーケストレーション
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
M2M 決済
    概要
    クイックスタート
    x402
Financial Connections
Climate
本人確認
アメリカ
日本語
ホーム決済管理Machine payments

メモ

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

x402 payments非公開プレビュー

マシン間決済に x402 を使用します。

x402 は、インターネット決済のプロトコルです。クライアントが支払い済みリソースをリクエストすると、サーバーは支払いの詳細を含む HTTP 402 レスポンスを返します。クライアントは支払いを行い、オーソリでリクエストを再試行します。Stripe は入金先アドレスを管理し、資金がオンチェーンで確定すると、PaymentIntent を自動的にキャプチャーします。

GitHub

アプリのソースコード全体は GitHub で確認できます。

はじめに

  • A Stripe account
  • アカウントで仮想通貨入金が有効になっています

Payment lifecycle

このガイドではサーバーを構築します。サーバーは支払いが必要であることを示し、支払いが成功した後にコンテンツを返します。支払いを完了するために、Stripe およびファシリテーターと連携します。

Create your endpoint

Add payment middleware to your endpoint to require payment.

This example requires 0.01 USD, paid in USDC, per request to /paid.

Node.js
Python
No results
import { paymentMiddleware } from "@x402/hono"; import { x402ResourceServer, HTTPFacilitatorClient } from "@x402/core/server"; import { ExactEvmScheme } from "@x402/evm/exact/server"; app.use( paymentMiddleware( { "GET /paid": { accepts: [ { scheme: "exact", price: "$0.01", network: "eip155:84532", payTo: createPayToAddress, } ], description: "Data retrieval endpoint", mimeType: "application/json", } }, new x402ResourceServer(facilitatorClient).register( "eip155:84532", new ExactEvmScheme() ) ) )

Create a PaymentIntent

支払いを処理するには、仮想通貨の支払い方法を受け付ける PaymentIntent を作成します。前述の payTo メソッドを使用てください。

Node.js
Python
No results
async function createPayToAddress(context) { // If a payment header exists, extract the destination address from it if (context.paymentHeader) { const decoded = JSON.parse( Buffer.from(context.paymentHeader, "base64").toString() ); const toAddress = decoded.payload?.authorization?.to; if (toAddress && typeof toAddress === "string") { return toAddress; } } // Create a new PaymentIntent to get a fresh crypto deposit address const decimals = 6; // USDC has 6 decimals const amountInCents = Number(10000) / Math.pow(10, decimals - 2); const paymentIntent = await stripe.paymentIntents.create({ amount: amountInCents, currency: "usd", payment_method_types: ["crypto"], payment_method_data: { type: "crypto", }, payment_method_options: { crypto: { mode: "custom", }, }, confirm: true, }); const depositDetails = paymentIntent.next_action.crypto_collect_deposit_details; const payToAddress = depositDetails.deposit_addresses["base"].address; return payToAddress; }

This function returns a crypto deposit address that the client receives and uses for payment.

Test your endpoint

支払い資格のないクライアントでサーバーにリクエストを行い、402 ステータスコードが返されることを確認します。

Command Line
curl http://localhost:3000/paid

402 ステータスコードが表示されます。

次に、対象となるクライアントでリクエストを作成します。Stripe のpurl を使用して、コマンドラインでテストしてください。

Command Line
purl http://localhost:3000/paid

ウォレットを接続した場合、サーバーはコンテンツを返し、支払いを確定できます。Stripe ダッシュボードで支払いに移動して取引を確認てください。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM は llms.txt を参照してください。
  • Powered by Markdoc