# 銀行振込

請求書で銀行振込決済を受け付けます。

顧客に請求書の支払いを銀行振込で提供することも可能です。例えば、アメリカでは ACH、イギリスでは Bacs などです。Stripe は固有の仮想銀行口座番号を作成し、請求書 PDF や[オンライン請求書ページ](https://docs.stripe.com/invoicing/hosted-invoice-page.md)に表示することで、顧客がどこに送金すればよいか分かるようにします。

Stripe は、これらの銀行振込を受領すると、正しい請求書に自動的に照合します。送金を自動的に照合できない場合、手動で照合するまで、顧客の残高に残ります。

この方法では、自身の銀行口座の詳細を公開することなく銀行振込を受け付けることができます。

## 銀行振込を受け取る

銀行振込は、ダッシュボードまたは API を使用して、サポートされている決済手段として有効にできます。

#### ダッシュボード

USD および GBP 請求書のデフォルトの決済手段として銀行振込を有効にするには、以下のようにします。

1. Stripe ダッシュボードで、**設定** > **請求** > [請求書](https://dashboard.stripe.com/settings/billing/invoice) に移動します。
2. **デフォルトの決済手段**で、**決済手段を編集** を選択します。
3. 次のページで、**銀行振込**の**有効にする** をクリックします。
4. 銀行振込による決済手段が有効なステータスを示すと、新しい請求書を作成するたびに銀行振込による決済がデフォルトで表示されます。

> **銀行振込**が請求書設定ページに表示されない場合は、まず[決済手段の設定](https://dashboard.stripe.com/settings/payment_methods)で有効にしてください。

> その他の通貨では、銀行振込をデフォルトの決済手段として有効にすることはできません。ただし、個人の請求書に決済手段として追加することはできます。

#### API

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

銀行振込による決済を受け付ける際の一般的なステップ (See full diagram at https://docs.stripe.com/invoicing/bank-transfer)

```text
[サーバー] -- Stripe が銀行口座情報を含む請求書を作成: POST /v1/invoices --> [Stripe]
[Stripe] -- 請求書をメールで送信 --> [顧客]
[顧客] -- 顧客が正しい金額を銀行振込で送金 --> [Stripe]
[Stripe] -- 現金残高に資金を追加 --> [Stripe]
[Stripe] -- 未払いの請求書と照合 --> [Stripe]
[Stripe] -- POST invoice.paid Webhook --> [サーバー]
[Stripe] -- POST payment_intent.succeeded Webhook --> [サーバー]
[サーバー] -- 200 OK で応答 --> [Stripe]
```

銀行振込を有効にするには、API を使用して請求書に `customer_balance` を追加します。その後、API コールを実行して、決済手段として銀行振込を使用する請求書を作成できます。

顧客を [Customer](https://docs.stripe.com/api/customers/object.md) オブジェクトではなく、顧客が設定した [Account](https://docs.stripe.com/api/v2/core/accounts/object.md) オブジェクトとして表す場合は、これらのコード例の `customer` パラメーターを `customer_account` パラメーターに置き換えてください。詳細については、[Account オブジェクトを使用して顧客を表す](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md)をご覧ください。

#### EU

最初に、請求書を作成します。

```curl
curl https://api.stripe.com/v1/invoices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_settings[payment_method_types][]=customer_balance" \
  -d "payment_settings[payment_method_options][customer_balance][funding_type]=bank_transfer" \
  -d "payment_settings[payment_method_options][customer_balance][bank_transfer][type]=eu_bank_transfer" \
  -d "payment_settings[payment_method_options][customer_balance][bank_transfer][eu_bank_transfer][country]=NL" \
  -d collection_method=send_invoice \
  -d days_until_due=30
```

これで、請求書に 1 件以上の請求書アイテムを追加できます。

```curl
curl https://api.stripe.com/v1/invoiceitems \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1234 \
  -d currency=eur \
  -d "customer={{CUSTOMER_ID}}" \
  -d "description=Professional services" \
  -d "invoice={{INVOICE_ID}}"
```

その後に請求書を確定できます。

```curl
curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \
  -u "<<YOUR_SECRET_KEY>>:"
```

請求書を確定すると、顧客はオンライン請求書ページで支払い手順を確認できます。オンライン請求書ページの URL は API レスポンスに `hosted_invoice_url` として組み込まれます。

#### UK

最初に、請求書を作成します。

```curl
curl https://api.stripe.com/v1/invoices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_settings[payment_method_types][]=customer_balance" \
  -d collection_method=send_invoice \
  -d days_until_due=30
```

これで、請求書に 1 件以上の請求書アイテムを追加できます。

```curl
curl https://api.stripe.com/v1/invoiceitems \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1234 \
  -d currency=gbp \
  -d "customer={{CUSTOMER_ID}}" \
  -d "description=Professional services" \
  -d "invoice={{INVOICE_ID}}"
```

その後に請求書を確定できます。

```curl
curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \
  -u "<<YOUR_SECRET_KEY>>:"
```

請求書を確定すると、顧客はオンライン請求書ページで支払い手順を確認できます。オンライン請求書ページの URL は API レスポンスに `hosted_invoice_url` として組み込まれます。

#### JP

最初に、請求書を作成します。

```curl
curl https://api.stripe.com/v1/invoices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_settings[payment_method_types][]=customer_balance" \
  -d collection_method=send_invoice \
  -d days_until_due=30
```

これで、請求書に 1 件以上の請求書アイテムを追加できます。

```curl
curl https://api.stripe.com/v1/invoiceitems \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1234 \
  -d currency=jpy \
  -d "customer={{CUSTOMER_ID}}" \
  -d "description=Professional services" \
  -d "invoice={{INVOICE_ID}}"
```

その後に請求書を確定できます。

```curl
curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \
  -u "<<YOUR_SECRET_KEY>>:"
```

請求書を確定すると、顧客はオンライン請求書ページで支払い手順を確認できます。オンライン請求書ページの URL は API レスポンスに `hosted_invoice_url` として組み込まれます。

#### MX

最初に、請求書を作成します。

```curl
curl https://api.stripe.com/v1/invoices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_settings[payment_method_types][]=customer_balance" \
  -d collection_method=send_invoice \
  -d days_until_due=30
```

これで、請求書に 1 件以上の請求書アイテムを追加できます。

```curl
curl https://api.stripe.com/v1/invoiceitems \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1234 \
  -d currency=mxn \
  -d "customer={{CUSTOMER_ID}}" \
  -d "description=Professional services" \
  -d "invoice={{INVOICE_ID}}"
```

その後に請求書を確定できます。

```curl
curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \
  -u "<<YOUR_SECRET_KEY>>:"
```

請求書を確定すると、顧客はオンライン請求書ページで支払い手順を確認できます。オンライン請求書ページの URL は API レスポンスに `hosted_invoice_url` として組み込まれます。

#### US

最初に、請求書を作成します。

```curl
curl https://api.stripe.com/v1/invoices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_settings[payment_method_types][]=customer_balance" \
  -d collection_method=send_invoice \
  -d days_until_due=30
```

これで、請求書に 1 件以上の請求書アイテムを追加できます。

```curl
curl https://api.stripe.com/v1/invoiceitems \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1234 \
  -d currency=usd \
  -d "customer={{CUSTOMER_ID}}" \
  -d "description=Professional services" \
  -d "invoice={{INVOICE_ID}}"
```

その後に請求書を確定できます。

```curl
curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \
  -u "<<YOUR_SECRET_KEY>>:"
```

請求書を確定すると、顧客はオンライン請求書ページで支払い手順を確認できます。オンライン請求書ページの URL は API レスポンスに `hosted_invoice_url` として組み込まれます。

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

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

顧客から予想される金額よりも多く振り込まれた場合、Stripe は、未払いの決済に対して入金された資金の照合を試行し、残りの超過額を顧客の残高に保持します。[照合処理](https://docs.stripe.com/payments/customer-balance/reconciliation.md) の詳細をご覧ください。

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

顧客が予定よりも少ない金額を銀行振込で送金 (See full diagram at https://docs.stripe.com/invoicing/bank-transfer)

```text
[Stripe] -- POST cash_balance.funds_available --> [サーバー]
[サーバー] -- 200 OK で応答 --> [Stripe]
```

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

顧客が予定よりも多い金額を銀行振込で送金 (See full diagram at https://docs.stripe.com/invoicing/bank-transfer)

```text
[Stripe] -- POST payment_intent.succeeded --> [サーバー]
[Stripe] -- POST cash_balance.funds_available --> [サーバー]
[Stripe] -- POST invoice.paid --> [サーバー]
[サーバー] -- 200 OK で応答 --> [Stripe]
```

## 送金の自動消し込み

インバウンド送金を受けると、Stripe は送金の参照コード、金額、および日付を使用して照合対象の請求書を判別します。

### 参照コード

一般に送金には以下のようなメモが含まれます。

- 「INVOICE-0011」
- 「Payment for INVOICE-0001」
- 「これは 001 用です。来週、002 用の小切手を送ります。」

メモに請求書番号が含まれている場合、Stripe はまず、参照された請求書に対して送金の消し込みを試みます。直接の参照が一致すると、365 日間の期限超過の制限が回避されます。期限超過の期間に関係なく、Stripe は一致した請求書に送金を消し込みます。

### 正確な金額

参照の一致がない場合、Stripe は、送金額と正確に一致する最も古いオープンな請求書を探します。該当する請求書が見つかった場合、送金をその請求書に消し込みます。金額ベースや複数請求書の照合の場合、Stripe は、期限超過が 365 日未満のオープンな請求書または期限超過の請求書に対してのみ、銀行振込を消し込むことができます。

### 複数の請求書

残高が残っている場合は、顧客が 1 回の送金で複数の請求書を決済しようとした可能性があります。Stripe は、受け取った決済が想定される決済の合計額と一致する請求書のグループ (5 件以下) を探します。可能な組み合わせが複数ある場合には、Stripe は最小の組み合わせを選択します。最小の組み合わせに複数のオプションがある場合、Stripe は最も古い請求書を含む組み合わせを選択します。

### 最も古い支払い可能な請求書

さらに残余がある場合は、顧客が 1 回の振込で複数の請求書を支払おうとしたか、追加の資金を振り込んだ可能性があります。Stripe は、残高がなくなるか、支払い対象の請求書がなくなるまで、確定された日を基準にして未処理の請求書を順次支払います。

### 消し込みの失敗

Stripe に送金された資金が、未処理の [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) または請求書に対して消し込まれない場合、資金は顧客の残高に入金され、Stripe は `cash_balance.funds_available` *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) を送信します。

## 手動消し込み

状況によっては、顧客ごとに [Stripe の自動照合](https://docs.stripe.com/payments/customer-balance/reconciliation.md#cash-manual-reconciliation)動作の上書きが必要になる場合があります。

手動照合モードでは、Stripe は受け取った資金を自動的に照合しないため、すべての決済を手動で照合する必要があります。

[手動決済の適用](https://docs.stripe.com/invoicing/apply-payments.md)の詳細をご確認ください。

## 未照合の現金残高

顧客が余剰資金を送金し、未払いの請求書がない場合など、資金が顧客の残高で未照合のままになることがあります。顧客の残高が 75 日間未照合の場合、Stripe は自動的に資金を顧客の銀行アカウントに返金しようとします。

[現金残高が未照合](https://docs.stripe.com/payments/customer-balance/reconciliation.md#cash-unreconciled-funds)の顧客の一覧と、返金予定日は [ダッシュボード](https://dashboard.stripe.com/test/customers?tab=remaining_balance) で確認できます。

## 口座の所有権を確認する

顧客は送金を開始する前に銀行口座の詳細を確認したい場合があります。顧客がアカウント所有権の確認 (または銀行の確認書) を求めた場合は、[アカウント所有権の確認書をダウンロード](https://docs.stripe.com/payments/customer-balance/funding-instructions.md#vban-confirmation-letters) できます。

## 支払い不足

顧客の決済が、請求書の全額を支払うために必要な金額よりもわずかに少ない場合があります。これは、国際電信送金で一般的です。このような状況や同様の状況を手動で処理する代わりに、支払い不足のしきい値を設定して、それを下回ると請求書を自動的にクローズし、顧客に差額を入金できます。

この設定を行うには、**設定**\> **請求**\>[請求書](https://dashboard.stripe.com/settings/billing/invoice) に移動します。**調整と照合**で、**請求書を自動的に書き消す** を有効にします。

## 部分的な決済

顧客が複数回の決済で請求書の決済を希望する場合、送金した金額で請求書の支払いが完了していない場合でも、Stripe が未払いまたは期日経過の請求書に対して、受領した銀行振込による決済を自動的に照合することを許可します。顧客が送金メモに請求書番号を提供した場合にのみ、部分照合が試行されます。

この設定を行うには、**設定**\> **請求**\>[請求書](https://dashboard.stripe.com/settings/billing/invoice) に移動します。**調整と照合**で、**部分銀行振込による決済を自動的に照合する** を有効にします。

## 支払い指示書

Stripe では、顧客ごとに、請求書の通貨で送金を受け付ける、仮想銀行の一意の口座番号が生成されます。この仮想銀行口座への振込指示書は、請求書で顧客に表示されます。

Stripe が作成する支払いの詳細は次のとおりです。

- **一意性**: 顧客に同じ口座番号が設定されることはありません。
- **一貫性**: 顧客は、複数の請求書で一貫して同じ口座情報を受け取ります。
- **適切な通貨**: 銀行振込がサポートされている国では、Stripe は、各国の銀行口座情報を生成します (たとえば、イギリスの顧客のイギリスの口座)。
- **顧客別ローカライズ**: 請求書に表示される決済手順は [顧客の希望言語](https://docs.stripe.com/invoicing/customize.md#customer-language) に対応しているので、顧客ごとに手順をローカライズできます。

一部の国では、Stripe は、顧客が各送金に含める一意の送金参照番号も提供し、送金を未払いの決済と照合できるようにします。一部の国では、無料で作成できる仮想銀行アカウント番号の数に制限があります。

Stripe の仮想銀行口座に送金が届くと、Stripe は送金された資金を未処理の請求書と自動的に照合し、決済を作成して請求書に支払います。

## 送金の返金

完了した決済は、顧客の銀行口座または Stripe 上の顧客残高に直接返金することができます。自動照合を有効にしていて、資金を顧客残高に入金した場合、Stripe は未払いの請求書に対して資金を自動的に照合しようとします。

## テスト

ダッシュボードまたは Stripe CLI を使用した資金のインバウンド送金のテストについては、[統合をテストする](https://docs.stripe.com/payments/bank-transfers/accept-a-payment.md?payment-ui=direct-api#test-your-integration) をご覧ください。
