自動消し込み
Stripe で銀行振込の支払い方法での現金の消し込みを処理します。
警告
このページでは、クレジットトランスファーの Sources ベースの実装について説明します。Stripe は、Sources API を廃止しました。今後は現地の支払い方法への対応をなくす予定です。現在クレジットトランスファーを導入している場合、Payment Methods API に移行する必要があります。対応の終了に関する詳細については、メールでご案内いたします。
銀行振込による支払いは、高額の取引や新しいビジネスの取引でよく使用されますが、チームの手作業が増える場合があります。Stripe を使用すると、未払いの請求書を支払う送金を受け付けることで、このプロセスを速やかに処理できます。
Stripe は、顧客ごとに、ACH クレジットまたは電信送金を使用して USD で支払い可能なアメリカの仮想銀行の口座番号を自動生成します。この仮想銀行口座が記載された請求書が顧客に表示された場合、顧客はその口座に支払いを送金できます。Stripe は仮想銀行口座への支払いと請求書を自動的に消し込みます。その後、請求書を支払い済みとしてマークします。
送金と口座引き落とし
自動消し込みを使用すると、機密データである銀行口座情報をユーザーに公開したり、未払いの請求書を銀行で手動で消し込む必要がなくなります。請求書の自動消し込みにより、Stripe は次の処理を実行できます。
- 入金と請求書の金額を照合する。
- 支払い額が請求書と一致しない場合に、過払いまたは支払い不足を管理する。
- Stripe に売上を送金する際に必要な API コールの数を削減する。
- 未払いの請求書に対する支払いの再試行を管理する。
請求書に対する支払いを行う
顧客に ach_credit_transfer サブハッシュがない場合、Stripe は各請求書にそのサブハッシュを 1 つ作成します。請求書のすべてに、支払いの送金先に関する指示が含まれています。また、顧客のそれぞれに一意の支払い住所があり、これはすべての請求書間で共有されます。ach_
サブハッシュを使用すると、顧客はアメリカの ACH システムまたは国内の電信送金のいずれかを使用して送金できます。請求書番号はメモ欄に記載されます。
注
ACH クレジットトランスファーは USD のみに対応します。
顧客が送金を行うとすぐに、Stripe は送金のメモフィールドの請求書番号を確認することで、支払いと請求書を照合します。一致が確認されたすべての請求書が処理されます。一致を確認できない場合は、同じ金額を指定した未処理の請求書のうち、一番古いものが処理されます。同じ金額を指定した未払いの請求書を確認できない場合は、支払い可能な未払いの請求書の支払いを、古い順に、該当の送金額で対応できる限り多く行います。請求書が処理されると、invoice.
イベントが発生します (このイベントは、Webhook を使用して受信できます)。
ACH クレジットトランスファーのステータスは、ダッシュボードで顧客の支払い方法のリストを表示して確認できます。また、API で顧客のソースを表示して確認することもできます。
curl https://api.stripe.com/v1/customers/cus_9jWC3097MQwYwF/sources \ -u
:sk_test_4eC39HqLyjWDarjtT1zdp7dc
Stripe は、その顧客に関連付けられているソースのリストを返します。ACH クレジットトランスファーのソース type
の値は、ach_
となります。以下のレスポンスの例では、ACH クレジットトランスファーの受取人が顧客からの支払いを待っています。
{ "object": "list", "data": [ { "id": "src_19Q3AILlRB0eXbMt81RVDnM9", "object": "source", "amount": null, "client_secret": "src_client_secret_Z0zPIgnR0BVafiMLaJcxI3HS", "created": 1481585102, "currency": "usd", "customer": "cus_9jWC3097MQwYwF", "flow": "receiver", "livemode": false, "metadata": {}, "owner": { "address": null, "email": "jenny.rosen@example.com", "name": null, "phone": null, "verified_address": null,
場合によっては、顧客が紙の小切手など Stripe 以外の支払い方法の使用を希望することがあります。このような状況でも、Stripe では請求書の支払いステータスを追跡できます。顧客から Stripe を使用せずに請求書の支払いを受け取った場合は、手動で請求書に支払い済みのマークを付けることができます。
例外を処理する
顧客の支払い額が請求書の金額と一致しない場合、売上は支払われず Source
オブジェクトに残ります。これらの売上を使用して請求書を処理するには、いくつかのオプションがあります。
- 過払い: ユーザーが請求書のリクエストよりも多く資金を送金した場合、Stripe は未払いの請求書と一致する売上を使用して、請求書を支払い済みとして自動的にマークします。残りの売上は
Source
の受取人に残されます。これらの売上を手動で請求書に適用することもできます。一致する未払いの請求書が複数ある場合、Stripe は最も古い請求書に売上を適用します。 - 支払い不足: サブスクリプションとメールの設定の部分的な支払いセクションで、支払い不足に関するルールを指定できます。一定の誤差の範囲内で Stripe が請求書を自動で消し込み、その差額をクレジット処理するよう指定できます。
支払い不足の一般的なシナリオとして、顧客の銀行が、送金された合計金額から資金を差し引く場合が考えられます。たとえば、顧客が 100 USD の請求書を支払うために 100 USD を送金した場合、顧客の銀行が 20 USD を差し引き、80 USD が残ります。この差額 (通常は 20 USD 以内) が許容可能な場合は、この差額の範囲を事前に指定することで手作業を最小限に抑えることができます。
その他の例外を以下に示します。
- 受取人が請求書を支払うのに十分な資金を持っている場合は、ダッシュボードで請求書の顧客に請求ボタンをクリックするか、請求書の支払いエンドポイントを呼び出し、ソースとして ACH クレジットトランスファーオブジェクトを指定することにより、それらの資金を請求できます。
- 請求書を支払うための資金が不足していて、差額を許容していない場合は、顧客に残額を送金するように依頼できます。また、古い請求書を無効にして、金額の少ない新しい請求書を作成し、その新しい請求書で顧客に請求をクリックすることもできます。
十分な資金のある ACH クレジットトランスファーソースを顧客が持っているか、登録済みのクレジットカードまたは銀行口座がある場合、使用するソースを指定して請求書の支払いエンドポイントを呼び出すことにより、これらのソースを請求書の支払いに利用できます。
返金する
ACH クレジットトランスファーと小切手による支払いは、ダッシュボードまたは API を使用して返金できます。ただし、返金先の口座は顧客が指定する必要があります。Stripe は、提供されたメールアドレスを使用して自動的に顧客に連絡します。顧客から口座情報が提供されると、返金が自動的に処理されます。
返金の初期ステータスは pending
です。返金が失敗すると、refund.
イベントが届き、返金のステータスは failed
に変わります。これは、返金を処理できなかったため、Stripe 以外の方法で顧客に返金する必要があることを示します。これはまれなケースですが、凍結された口座に返金された場合に発生することがあります。完了した返金のステータスは succeeded
になります。
支払いのテスト
テスト環境の場合、ソースの所有者のメールアドレスを amount_
に更新することで、受取人への振込をシミュレーションできます。ここで、XXXX
は、振込をシミュレーションする金額です。Stripe によって請求書の編集がロックされていない限り、支払いは請求書に関連付けられません。これは、Webhook が送信されてから 1 時間後、または請求書のメールを顧客に送信したときに発生します。ダッシュボードでは、請求書にある請求書を送信ボタンをクリックして、すぐにメールを送信できます。
更新リクエストの少し後に、receiver
パラメーターを取得できます。
更新リクエストが成功した場合、receiver
属性には資金が表示されます。
{ "object": "list", "data": [ { "id": "src_19Q3AILlRB0eXbMt81RVDnM9", "object": "source", "amount": null, "client_secret": "src_client_secret_Z0zPIgnR0BVafiMLaJcxI3HS", "created": 1481585102, "currency": "usd", "customer": "cus_4fdAW5ftNQow1a", "flow": "receiver", "livemode": false, "metadata": {}, "owner": { "address": null, "email": "amount_1000@test.com", "name": null, "phone": null, "verified_address": null,
この例では、顧客の未払いの (同額) 請求書が支払い済みに移行します。この請求書には対応する Payment (支払い) オブジェクトがあり、支払いの詳細が示されます。