コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    仮想通貨
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
      決済を受け付ける
      顧客の残高
      返金
    クレジットトランスファー (Sources)
    後払い
    リアルタイム決済
    店舗支払い
    ウォレット
    国ごとに現地の支払い方法を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
ホーム支払いAdd payment methodsBank transfers

注

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

銀行振込を受け付ける

Payment Intents API を使用して、銀行振込による支払いを受け付けます。

顧客からの銀行振込による決済を初めて受け付ける際に、Stripe はその顧客用に仮想銀行口座を生成します。この口座は、顧客と直接共有できます。この顧客からの以降のすべての銀行振込による支払いは、この銀行口座に送金する必要があります。一部の国では、Stripe は、一意の送金照会番号も提供します。未払いの支払いと振込の照合を簡単にするため、顧客は各振込にこの番号を含める必要があります。国によっては、無料で作成できる仮想銀行口座番号の数に制限があります。

以下のシーケンス図は、銀行振込による決済を受け付ける際の一般的なステップの概要を示しています。

支払い不足と過払いを処理する

銀行振込による決済では、顧客の振込額が予想される支払い金額よりも多い場合や少ない場合があります。顧客の振込額が少ない場合、Stripe は、未払いの支払いインテントに部分的に資金を充当します。請求書に部分的に資金が充当されることはありません。入金された売上によって請求額の全額が支払われるまで、請求書は未払いのままになります。

顧客から予想される金額よりも多く振り込まれた場合、Stripe は、未払いの支払いに対して入金された売上の消し込みを試行し、残りの超過額を顧客の現金残高に保持します。Stripe による消し込み処理について、詳細はドキュメントの消し込みセクションをご覧ください。

顧客の支払いが不足している場合は以下のようになります。

顧客の支払いが過払いの場合は以下のようになります。

複数の未払いの支払いまたは請求書を処理する

銀行振込で支払うことができる未払いの支払いや請求書が複数ある場合があります。デフォルトの設定の場合、Stripe が振込の参照コードや送金額などの情報を使用して、銀行振込の自動消し込みを試行します。

自動消し込みを無効にして、支払いと請求書を手動で消し込むことができます。reconciliation mode (消し込みモード) を manual に設定すると、顧客ごとに自動消し込み動作を上書きできます。

Stripe を設定する
サーバ側

まず、Stripe アカウントが必要です。今すぐ登録してください。

アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Customer を作成または取得する
サーバ側

銀行振込による各支払いを消し込むには、Customer (顧客) オブジェクトを関連付ける必要があります。すでに Customer オブジェクトが存在する場合は、このステップをスキップできます。ない場合は、新しい Customer オブジェクトを作成します。

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

PaymentIntent を作成および確定する
サーバ側

PaymentIntent は、顧客から支払いを回収するお客様の意図を表すオブジェクトであり、支払いプロセスのライフサイクルの各段階を追跡します。回収する金額と通貨を指定して、お客様のサーバーで PaymentIntent を作成して確定してください。PaymentIntent 作成リクエストの customer パラメーターにも入力する必要があります。銀行振込は、顧客が指定されていない PaymentIntent では利用できません。

Payment Intent を作成する前に、ダッシュボードの支払い方法の設定ページで、銀行振込を有効にしていることを確認します。

注

動的な支払い方法の場合、Stripe は取引額、通貨、決済フローなどの要素に基づいて、適切な支払い方法が返されるように処理します。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d customer=
{{CUSTOMER_ID}}
\ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ --data-urlencode return_url="https://example.com/return_url" \ -d "payment_method_data[type]"=customer_balance \ -d confirm=true

最新バージョンの API では、automatic_payment_methods パラメーターがデフォルトで有効になっているため、機能の指定は任意です。

支払い額に充当できる金額が顧客の残高に十分にある場合、PaymentIntent は succeeded ステータスで即座に成功します。顧客が誤って取引に対して過払いをした場合 (銀行振込の場合によく発生します)、差額が生じることがあります。お客様の所在地に基づいて一定期間内に顧客の残高を消し込む必要があります。

銀行振込を完了するよう顧客に指示する
クライアント側

顧客の残高がリクエスト金額を賄うのに十分でない場合、PaymentIntent には requires_action ステータスが表示されます。応答には、display_bank_transfer_instructions の type 値を含む next_action フィールドがあります。next_action[display_bank_transfer_instructions] ハッシュには、顧客が銀行振込を完了できるように顧客に表示する情報が含まれています。売上を確実に決済するために、特に該当する場合は口座名義と口座番号について、提供された正確な詳細を使用するよう顧客に指示します。

注

本番環境では、Stripe は各顧客に一意の銀行振込の詳細を提供します。これに対し、テスト環境では、Stripe はすべての顧客に無効な銀行振込の詳細を提供します。本番環境とは異なり、これらの無効な詳細は一意であるとは限りません。

フィールド説明
type使用する銀行振込のタイプ。アメリカでは、タイプは us_bank_transfer である必要があります。
reference銀行送金を識別するための一意の参照コード。銀行送金の参照フィールドにこのコードを含めるよう顧客に指示します。
amount_remaining支払いを完了するために送金する必要がある残りの金額。この金額を送金するよう顧客に指示してください。顧客の残高にある既存の資金が PaymentIntent に適用された場合や、顧客の支払いが不足している場合には、これは PaymentIntent の金額と異なることがあります。
currency残りの金額の通貨。
financial_addressesアメリカの銀行口座の財務アドレスのリスト。タイプには aba と swift が含まれます。詳細については、以下を参照してください。
hosted_instructions_url送金を完了する方法を顧客に説明するオンラインページへのリンク。

aba ハッシュ

aba ハッシュの例:

{ "aba": { "account_number": "111222333444", "bank_name": "Wells Fargo Bank, NA", "routing_number": "444555666" }, "supported_networks": [ "ach", "domestic_wire_us" ], "type": "aba" }
フィールド値説明
typeaba財務アドレスのタイプ。
supported_networks
  • ach
  • domestic_wire_us
このアドレスでサポートされているネットワークのリスト。
aba.account_number111222333444ABA の口座番号。
aba.routing_number444555666ABA の金融番号。
aba.bank_nameWells Fargo 銀行、NA銀行名。

swift ハッシュ

swift ハッシュの例:

{ "swift": { "account_number": "111222333444", "bank_name": "Wells Fargo Bank, NA", "swift_code": "AAAA-BB-CC-123" }, "supported_networks": [ "swift" ], "type": "swift" }
フィールド値説明
typeswift財務アドレスのタイプ。
supported_networks
  • swift
このアドレスでサポートされているネットワークのリスト。
swift.account_number111222333444SWIFT 口座番号。
swift.swift_codeAAAA-BB-CC-123SWIFT コード。
swift.bank_nameWells Fargo 銀行、NA銀行名。

売上処理のタイミング

指定した情報を使用して銀行で振込手続きを行うよう顧客に指示した後、振込が完了するまでに最大 5 日かかります。売上処理のタイミングは、Stripe への送金に使用されたバンキングレールによって異なります。

  • ACH 送金は 1 ~ 3 営業日以内に届きます。
  • 国内の電信送金 (Fedwire) は当日中に届きます (送金が銀行のカットオフタイム前であったかどうかによって異なります)。
  • 国際電信送金 (SWIFT) は 1 ~ 5 営業日以内に届きます。

PaymentIntent の成功を確認する

PaymentIntent は、売上が銀行口座に入金されるまで requires_action ステータスのままとなります。売上の準備ができると、PaymentIntent のステータスが requires_action から succeeded に更新されます。

payment_intent.partially_funded イベントの受信を開始するには、Webhook エンドポイントを設定する必要があります。

ダッシュボードから Webhook を追加できます。

また、Webhook Endpoint API を使用して payment_intent.partially_funded イベントの受信を開始することもできます。

PaymentIntent が更新されると、Stripe は、以下のイベントを支払い資金追加フロー中に送信します。

イベント説明次のステップ
payment_intent.requires_action顧客の残高に PaymentIntent を消し込むのに十分な資金がない場合、確定時に送信され、PaymentIntent は requires_action に移行します。amount_remaining を使用して銀行振込を行うよう顧客に指示します。
payment_intent.partially_funded顧客は PaymentIntent に充てられた銀行振込を行いましたが、支払いを完了するのに十分ではありませんでした。このような状況は、振込額が不足していたり (誤りによる支払い不足または銀行から請求される手数料のため)、差引残高がこの PaymentIntent に適用されていたりすると発生する可能性があります。一部のみ資金追加された PaymentIntent は支払いが完了するまでアカウント残高に反映されません。新しい amount_remaining を使用して別の銀行振込を行い、支払いを完了するよう顧客に指示します。部分的に資金を充当して支払いを完了する場合は、amount を更新して PaymentIntent をもう一度確定できます。
payment_intent.succeeded顧客の決済が成功しました。顧客が購入した商品またはサービスの発送を行います。

注意

部分的に資金が充当された PaymentIntent の金額を変更すると、売上は顧客の残高に戻されます。他に open 状態の PaymentIntent がある場合、Stripe はそれらに自動で資金追加します。顧客に手動消し込みが設定されている場合は、もう一度売上を充当する必要があります。

支払いが成功したことを確認し、顧客に支払い完了を通知するには、Webhook を使用することをお勧めします。

サンプルコード

Ruby
require 'json' # Using Sinatra post '/webhook' do payload = request.body.read event = nil begin event = Stripe::Event.construct_from( JSON.parse(payload, symbolize_names: true)

ダッシュボードで保留中の支払いを表示する

ダッシュボードでステータスに資金供給待ちのフィルターを適用すると、保留中のすべての銀行振込 PaymentIntent を表示できます。

組み込みをテストする

ダッシュボードまたは HTTP リクエストを使用して、銀行振込の受け取りをシミュレーションすることにより、お使いの組み込みをテストできます。

ダッシュボードを使用する

サンドボックスでダッシュボードを使用して銀行振込をシミュレートするには、ダッシュボードの顧客のページに移動します。決済手段で追加をクリックし、**現金残高に資金を追加 (テスト環境のみ)**を選択します。

Stripe API を使用

API コールを作成して、銀行振込をシミュレーションできます。

Command Line
cURL
curl https://api.stripe.com/v1/test_helpers/customers/ic_xxxxxxxxx/fund_cash_balance \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1000 \ -d currency=usd \ -d reference=REF-4242

一時的な使用上の問題を処理する

次のエラーコードは、その支払い方法が一時的に使用できない状態にあることを示しています。

コード説明処理
payment_method_rate_limit_exceededこの決済手段には、API 全体のレート制限よりも厳しい制限が課されていますが、大量のリクエストが立て続けに実行されました。このエラーは、Web サイトでのセール期間中などに、多くの顧客が同じ決済方法を使用しようとすると、複数の API リクエストで生じることがあります。その場合は、顧客に別の決済方法を使用するように依頼します。

注意

全般的に、または今後のイベントで使用量が高くなることが想定される場合は、すぐに Stripe にお問い合わせください。

オプション顧客から支払い方法オプションを収集する

オプション決済手順メールを送信する

このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc