銀行振込 導入ガイド

銀行振込について

「GMOあおぞらネット銀行」の口座を利用した決済サービスです。発行した口座番号への入金確認・消込を自動で行い、結果を反映いたします。
また、管理画面の「ウェブフック」でURLを登録することによって、入金結果のシステム通知を受けることも可能です。
これらにより、手作業による入金確認と消込が不要となり、バックオフィスのリソースを有効活用いただく事が可能です。

課金ステータスと結果

管理画面の決済メニューから申込や入金の履歴を確認することができます。
課金詳細ページの「ステータス」と「結果」の2つの項目の組み合わせで、入金状況がご確認いただけます。

・ステータスについて
 成功:申込金額以上が入金されています。
 失敗:申込金額の入金がなく振込期限が切れています。

処理の基本フローは以下の通りです。
フローは管理画面の設定で振込の受付が「すべて」のパターンです。

〇発生する組み合わせ例

・ステータス:処理待ち かつ 結果:未入金
お客様から入金待ちの状態です。申込後はまずこの状態となります。

・ステータス:処理待ち かつ 結果:不足
申込金額に満たない金額が入金されています。振込期限までに追加で同一口座に振込することが可能です。

・ステータス:成功 かつ 結果:丁度
申込金額と同一の金額が入金されています。

・ステータス:成功 かつ 結果:超過
申込金額以上の金額が入金されています。銀行振込決済では返金機能がないため、超過分については加盟店様側でお客様へのご対応が必要です。

・ステータス:失敗 かつ 結果:未入金
振込期限までに入金がございませんでした。口座が停止しているため入金はできません。
必要に応じて新たに課金申込を行ってください。

・ステータス:失敗 かつ 結果:不足
申込金額に満たない金額が入金されています。振込期限を過ぎて口座が停止しているため、追加の入金はできません。
銀行振込決済では返金機能がないため、入金分については加盟店様側でお客様へのご対応が必要です。

口座の発行方法について

口座の発行方法として「ワンタイム型」と「リカーリング型」の2種類ございます。

「ワンタイム型」

1度限り使用可能なお客様情報(トークン)を生成します。このお客様情報(トークン)に対して課金申込を行うと、1決済ごとに異なる口座番号を振込先として発行します。
リカーリング型と比べて正確な入金管理を行うことができます。

「リカーリング型(口座番号固定)」

繰り返し使用可能なお客様情報(トークン)を生成します。このお客様情報(トークン)に対して課金申込を行うと、毎回同じ口座番号を振込先として発行する事が可能です。
なお、1つのお客様情報(トークン)で入金待ちの課金申込が複数存在する場合、入金情報は古い課金申込が優先で消し込まれます。

例)
下記状況で10,000円入金があった場合は、5,000円の課金申込が金額丁度で成功となり、残り5,000円分が10,000円に紐づきます。

・入金前

課金申込日課金ID金額ステータス結果入金額
2022/1/111ed2a5e-91bd-2b04-be0c-733e06e5b0fd¥5,000処理待ち未入金¥0
2022/1/1511ed2a5e-4523-267c-be30-b33ea12033ff¥10,000処理待ち未入金¥0

・入金後

課金申込日課金ID金額ステータス結果入金額
2022/1/111ed2a5e-91bd-2b04-be0c-733e06e5b0fd¥5,000成功丁度¥5,000
2022/1/1511ed2a5e-4523-267c-be30-b33ea12033ff¥10,000処理待ち不足¥5,000

振込期限について

管理画面上で振込期限を選択できます。振込期限を超えた課金申込はステータスが失敗となり、該当口座への振込を行うことができません。

また、決済ごとに異なる期限を指定することも可能です。決済時に指定しない場合は管理画面の振込期限が適用されます。


※「リカーリング型」は同じ口座で複数の課金申込が存在するため、該当口座に紐づく全ての課金ステータスが成功か失敗となった段階で、振込を行うことができなくなります。

・管理画面内での振込期限の設定箇所
一般設定>決済サービス>決済方法>銀行振込>振込のお支払い期限

・期限パターン例
一日:
1/1 に申込を行った場合、1/2 23時59分までに振込

三日:
1/1 に申込を行った場合、1/4 23時59分までに振込

一週間:
1/1 に申込を行った場合、1/8 23時59分までに振込

二週間:
1/1 に申込を行った場合、1/15 23時59分までに振込

四週間:
1/1 に申込を行った場合、1/29 23時59分までに振込

Widgetでの振込期限の設定方法
例)2023/4/3 12:34:56までの場合、下記パラメータを追加
data-capture: “false”
data-capture_at: “2023-04-03T12:34:56+09:00”

・APIでの振込期限の設定方法
例)2023/4/3 12:34:56までの場合、課金作成時に下記パラメータを追加
“capture_at”: “2023-04-03T12:34:56+09:00”

入金反映について

振込限度金額の設定

管理画面上の設定で超過入金を防ぐことが可能です。設定を有効にする事で、超過入金分についての返金対応を減らします。

・管理画面内での振込期限の設定箇所
一般設定>決済サービス>決済方法>銀行振込>振込の受付

すべて:
課金申込と同額以上の金額となるまで振込が可能です。

超過入金を防ぐ:
口座に対して振込限度金額が設定されます。限度金額を上回る振込の場合、金融機関側で振込元口座に全額が自動返金されます。

※口座への入金額に応じて、振込限度金額がその都度更新されます。振込タイミング等により完全に防げない可能性がございます。

※「リカーリング型」は同じ口座で複数の課金申込が存在するため、該当口座に紐づく全ての課金申込金額の合計が振込限度金額となります。

反映タイミング

該当口座へ入金が確認できましたら、時間帯や曜日を問わずおよそ1時間以内に課金ステータスおよび結果が更新されます。
なお、振込元金融機関の処理によっては、該当口座への入金が金融機関の翌営業日以降となる可能性がございます。入金予定時間につきましては、振込元の金融機関にお問い合わせください。

Widget / リンクフォームの実装

弊社提供のWidgetやリンクフォームで実装する場合の説明です。
加盟店様で1から支払ページを作成する必要がなくスムーズな導入が可能です。

Widget

詳細な設置方法はリンク先のドキュメントをご確認ください。

Widget HTML 記載例)

<script src="https://widget.univapay.com/client/checkout.js"></script>
<form action="<任意のURL>">
 <span data-app-id="<アプリトークンID>"
  data-checkout="payment"
  data-amount="1000"
  data-currency="jpy"
  data-payment-type="bank_transfer"
 ></span>
</form>

※Widget上に利用可能な支払方法を全て表示させる場合は、
「data-payment-type=”bank_transfer”」の行を取り除いてください。

リンクフォーム

詳細な設置方法はリンク先のドキュメントをご確認ください。
なお、銀行振込ではリンクフォーム作成時に、「詳細設定」の以下項目にご注意いただき、作成をお願いいたします。

・カード登録(リカーリングトークン作成):
有効では「リカーリング型(口座番号固定)」の設定となります。「ワンタイム型」で使用する場合は無効にしてください。

・CVV認証(CVV auth)、仮売上、分割払い:
銀行振込では無効な項目です。有効にしても銀行振込ではご利用いただけません。

・定期課金:
銀行振込では未実装です。有効にしても銀行振込ではご利用いただけません。

APIの実装について

弊社提供のWidgetやリンクフォームを使用せず、加盟店様側で支払ページを作成しAPIで処
理するフローの説明です。本ガイドは銀行振込における各API処理の補足説明となっております。

1、トークン作成

お客様情報をトークン化して保存します。


リクエストBdoy 例)

{
  "payment_type" : "bank_transfer",
  "type" : "one_time",
  "email" : "demo@univapay.com",
  "data" : {
    "brand" : "aozora_bank"
  },
  "metadata": {
    "memberid" : "12345"
  }
}

2、課金作成

作成したトークンに対して課金申込を行います。


リクエストBdoy 例)

{
  "transaction_token_id": "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  "amount": "100",
  "currency": "jpy",
  "metadata": {
    "orderid": "12345"
  }
}

3、課金の取得

課金申込の結果を取得します。ウェブフック(※)で結果を受信することも可能です。
「”status”: “awaiting”」が確認できたら正常に課金申込が完了し、お客様からのお振込待ちの状態です。
※ウェブフックのイベント名は「charge_updated」です。

レスポンス / ウェブフック Body 例)

{
  "id": "11ed07f5-345d-4308-a4c9-9f6b3663e18f",
  "store_id": "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  "transaction_token_id": "11ed07f5-2da0-18ce-96f7-9f06340a7a87",
  "transaction_token_type": "one_time",
  "subscription_id": null,
  "merchant_transaction_id": null,
  "requested_amount": 100,
  "requested_currency": "JPY",
  "requested_amount_formatted": 100,
  "charged_amount": 100,
  "charged_currency": "JPY",
  "charged_amount_formatted": 100,
  "only_direct_currency": false,
  "capture_at": null,
  "descriptor": null,
  "descriptor_phone_number": null,
  "status": "awaiting",
  "error": null,
  "metadata": {
    "orderid": 123456
  },
  "mode": "live",
  "created_on": "2022-07-20T06:28:44.521327Z"
}

4、トークン取得

課金申込後に発行した口座の支店や口座番号の情報を取得できます。
(この処理は必須ではありません。必要に応じて行ってください。)


レスポンス Body 例)

{
  "id": "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  "store_id": "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  "email": "demo@univapay.com",
  "payment_type": "bank_transfer",
  "active": true,
  "mode": "live",
  "type": "recurring",
  "usage_limit": null,
  "confirmed": null,
  "metadata": {
    "customer_id": 12345
  },
  "created_on": "2022-07-11T08:17:06.47037Z",
  "updated_on": "2022-07-26T09:37:05.663521Z",
  "last_used_on": "2022-07-26T09:37:05.666269Z",
  "data": {
    "brand": "aozora_bank",
    "bank_code": "0310",
    "bank_name": "GMOあおぞらネット銀行",
    "branch_name": "アジサイ",
    "branch_code": "123",
    "account_holder_name": "カ)ユニヴア ペイキヤスト",
    "account_number": "1234567"
  }
}

5、課金の取得

APIリクエストで入金結果、振込期限切れの結果を取得します。
ウェブフックで結果を受信することも可能です。
※ウェブフックのイベント名は「charge_finished」です。

レスポンス Body 例)

{
  id: "11ed00f1-f0c4-1ca2-b754-db0d9311d5a0",
  store_id: "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  transaction_token_id: "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  transaction_token_type: "one_time",
  subscription_id: null,
  merchant_transaction_id: null,
  requested_amount: 100,
  requested_currency: "JPY",
  requested_amount_formatted: 100,   //元々の申込金額
  charged_amount: 100,
  charged_currency: "JPY",
  charged_amount_formatted: 100,   //実際の入金額
  only_direct_currency: false,
  capture_at: null,
  descriptor: null,
  descriptor_phone_number: null,
  status: "successful",
  error: null,
  metadata: {
    "orderid": 123456
  },
  mode: "live",
  created_on: "2022-07-11T08:17:44.481834Z"
}

「status」で課金状態を、「charged_amount_formatted」で入金額を確認できます。
2つの項目の組み合わせで状況をご確認ください。

結果の通知/確認

結果を加盟店さまの配送(または、それに準ずる会員ステータス等の)システムに自動で反映する必要がある場合は、ウェブフックで結果を受信して注文システムを更新するプログラムを設置してください。また、結果はAPIへリクエストすることでも取得できます。
システム連動を行わず、管理画面またはメールで結果を確認する場合は作成する必要はありません。

〇結果通知のタイミング例
・トークン作成:
メール / ウェブフック(token_created)

・課金申込(ステータス:処理待ち かつ 結果:未入金)
メール / ウェブフック(charge_updated)

・不足入金(ステータス:処理待ち かつ 結果:不足)
メールのみ

・課金成功(ステータス:成功 かつ 結果:丁度 or 超過)
メール / ウェブフック(charge_finished)

・課金失敗(ステータス:失敗 かつ 結果:丁度 or 不足)
メール / ウェブフック(charge_finished)

テストについて

テストモードでは、Widgetやリンクフォームで課金申込を行った場合は、即時に課金ステータスが「成功」、結果が「丁度」の状態へと変わり、APIで課金申込を行った場合は、課金の取得で「”status”: “awaiting”」が確認できた後に、イシュアトークンの取得を行うことで、課金ステータスが「成功」、結果が「丁度」の状態へと変わります。

このテストにより、メール通知とウェブフック(システム通知)をご確認いただくことが可能です。テストパターンは上記のみで、振込期限切れによる失敗や超過入金のテストは行えません。

メンテナンスについて

GMOあおぞらネット銀行側で、定期的にシステムメンテナンスがございます。「課金申込」「入金通知」「請求停止」「振込期限切れによる口座停止」などの処理で、エラーや処理遅延が発生する可能性がございます。誠に恐れ入りますが、予めご了承いただけますようお願いいたします。

よくある質問

・申込後に発行される口座種別はすべて「普通」でしょうか。
口座種別はすべて「普通」です。

・入金された金額をお客様に返金できますか。
当サービス上で返金機能はございません。加盟店様から直接お客様の口座へご返金をお願いいたします。

・申込をキャンセルしたい。
未入金の状態であれば振込を出来なくすることが可能です。管理画面の「決済」メニューから該当の課金を検索し、詳細画面から「請求停止」処理を行ってください。

・お客様に振込手数料はかかりますか。
振込手数料はお客様のご負担です。金額詳細は振込元の金融機関にお問い合わせください。

・申込後に商品金額が変更になった場合はどうしたらいいですか。
未入金の状態であれば管理画面の決済詳細ページより「請求停止」を行い、変更後の金額で再度申込を行ってください。

・お客様から振込先口座が分からないと問い合わせがありました。
管理画面の「決済」メニューから該当の課金を検索し、詳細画面から口座情報をご確認いただきお客様へご案内をお願いいたします。

・日本以外にお住まいのお客様から振込いただくことは出来ますか。
日本の金融機関からのみ振込可能です。海外金融機関からの振込は対応していません。