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

メモ

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

Deposit mode stablecoin payments非公開プレビュー

Accept stablecoin payments with API-only deposit addresses.

Deposit mode is an API-only crypto payment flow where we return deposit addresses for each requested network. When your customer sends funds to a deposit address, we automatically capture the PaymentIntent after the funds settle on-chain.

はじめに

  • A Stripe account.
  • お客様のアカウントで暗号資産による入金が有効になっています。
  • Access to deposit mode. Contact machine-payments@stripe.com.

Create a PaymentIntent

Create a PaymentIntent with the crypto payment method and mode: "deposit". Specify the networks that you want deposit addresses for by using deposit_options.networks.

API version

この機能には 2026-03-04.preview API バージョンが必要です。Stripe クライアントの初期化時に Stripe-Version ヘッダーを 2026-03-04.preview に設定します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2026-03-04.preview" \ -d amount=5000 \ -d currency=usd \ -d "payment_method_types[]"=crypto \ -d "payment_method_data[type]"=crypto \ -d "payment_method_options[crypto][mode]"=deposit \ -d "payment_method_options[crypto][deposit_options][networks][]"=base \ -d "payment_method_options[crypto][deposit_options][networks][]"=tempo \ -d "payment_method_options[crypto][deposit_options][networks][]"=solana \ -d confirm=true

PaymentIntent response

The confirmed PaymentIntent includes crypto_display_details in next_action, which contains deposit addresses and supported_tokens for each network:

{ "id": "pi_123", "amount": 5000, "currency": "usd", "status": "requires_action", "next_action": { "type": "crypto_display_details", "crypto_display_details": { "deposit_addresses": { "base": { "address": "0xbase_address", "supported_tokens": [ { "token_currency": "usdc", "token_contract_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" } ] }, "tempo": { "address": "0xtempo_address", "supported_tokens": [ { "token_currency": "usdc", "token_contract_address": "0x20c000000000000000000000b9537d11c60e8b50" } ] }, "solana": { "address": "So1ana_deposit_address", "supported_tokens": [ { "token_currency": "usdc", "token_contract_address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" } ] } } } } }

Present the deposit address to your customer along with the expected amount and supported tokens. Your customer sends the correct token to the deposit address on the specified network.

Payment lifecycle

Use the following steps to understand how a deposit-mode PaymentIntent moves from confirmation to completion.

  1. After you confirm the PaymentIntent, it enters the requires_action status with deposit address details. The Stripe Dashboard displays these PaymentIntents as Incomplete while it waits for your customer to send funds.
  2. Your customer sends funds to the deposit address on-chain.
  3. Stripe detects the on-chain transaction and move the PaymentIntent to processing while we validate the transaction details.
  4. After validations complete, the PaymentIntent moves to succeeded.

Transfer detection delay

It can take a few minutes for us to detect the transfer after the network confirms it.

If the transaction fails validation or we can’t match the deposit, the PaymentIntent returns to requires_payment_method. Otherwise, the PaymentIntent remains in requires_action.

Transaction details

After the PaymentIntent succeeds, retrieve on-chain transaction details by expanding latest_charge on the PaymentIntent. The payment_method_details.crypto hash on the charge includes fields such as the transaction hash, buyer wallet address, network, and token currency.

Failure modes

Use the following scenarios to understand when we can’t match a deposit to a PaymentIntent.

  • Wrong network or asset: If your customer sends tokens on a network or with a token contract that doesn’t match the deposit address, we can’t automatically match or return the funds.
  • Funds after expiration: If your customer sends funds after the PaymentIntent expires, we can’t automatically match or return the funds.
  • Overpayment or underpayment: The token amount that your customer transfers must exactly match the amount on the PaymentIntent. If your customer sends more or less than the specified amount, we can’t automatically match or return the funds.
    • The transferred token amount must exactly match the PaymentIntent amount. Because fiat currencies and stablecoins use different decimal precisions, account for this difference when you calculate the transfer. For example, USD uses two decimal places, while USDC uses six. To fulfill a PaymentIntent for 1.01 USD (101 minor units), your customer must transfer exactly 1.010000 USDC (1,010,000 minor units).

Refunds

When you refund a deposit mode payment, we return funds to the sending wallet address from the detected on-chain transaction.

注意

Make sure that you verify the destination address before you initiate the refund. If your customer paid from an exchange or omnibus wallet, they might not be able to recover refunded funds.

Token and network support

PaymentIntents with the crypto payment method in mode: deposit support USDC on the following networks:

NetworkTokenToken contract address
TempoUSDC0x20c000000000000000000000b9537d11c60e8b50
BaseUSDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
SolanaUSDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

Test your integration

Sandboxes don’t monitor crypto testnets, so we can’t automatically detect testnet transactions that you send. Instead, use the test helper endpoint to simulate crypto deposits for sandbox PaymentIntents. This lets you verify your integration immediately without relying on on-chain transactions.

Command Line
cURL
No results
curl https://api.stripe.com/v1/test_helpers/payment_intents/{{PAYMENT_INTENT_ID}}/simulate_crypto_deposit \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2026-03-04.preview" \ -d transaction_hash=0x00000000000000000000000000000000000000000000000000000testsuccess \ -d network=base \ -d token_currency=usdc \ -d buyer_wallet=0x0000000000000000000000000000000000000000

To simulate different outcomes, set transaction_hash to one of the following:

Transaction hash Outcome
0x00000000000000000000000000000000000000000000000000000testsuccessPaymentIntent succeeds within 15 seconds
0x000000000000000000000000000000000000000000000000000000testfailedThe charge fails, and the PaymentIntent returns to requires_payment_method within 15 seconds
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • Discord で Stripe の開発者とチャットしてください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM は llms.txt を参照してください。
  • Powered by Markdoc
このページの内容
関連ガイド
Machine Payments