銀行振込
タイ、マレーシア、シンガポール全域で、モバイルバンキングアプリ、インターネットバンキング、オンラインdirect debitを介して、顧客の銀行口座から直接支払いを受け付けます。
概要
銀行振込により、顧客はクレジットカードなしで銀行口座から直接支払うことができます。これらの方法は東南アジアで高い信頼を得ており、銀行口座の普及率は高いものの、クレジットカードの使用率は欧米市場よりも低くなっています。
銀行振込を選ぶ理由
- 🏦 高い信頼性 - 顧客の信頼できる銀行から直接
- 📱 モバイルファースト - 人気のモバイルバンキングアプリ
- 💳 カード不要 - クレジットカードなしの顧客にアクセス
- 🔒 安全 - 銀行レベルのセキュリティ
- 💰 低手数料 - カードよりも安い場合が多い
- 🌏 広範囲 - 東南アジアでの高い銀行口座普及率
利用可能な決済方法
モバイルバンキング(タイ)
銀行モバイルアプリとの直接統合 - 顧客はバンキングアプリで支払いを承認します。
| 銀行 | ユーザー | 決済 | 返金可能 |
|---|---|---|---|
| Bangkok Bank | 600万人以上 | 1-3日 | ✅ はい |
| Krungthai Bank (KTB) | 500万人以上 | 1-3日 | ✅ はい |
| Kasikornbank (K-Bank) | 1000万人以上 | 1-3日 | ✅ はい |
| Krungsri (Bank of Ayudhya) | 400万人以上 | 1-3日 | ✅ はい |
| Siam Commercial Bank (SCB) | 1200万人以上 | 1-3日 | ✅ はい |
モバイルバンキング(シンガポール)
| 銀行 | 決済 | 返金可能 |
|---|---|---|
| OCBC | 1-3日 | ✅ はい |
インターネットバンキング
| 方法 | 地域 | 決済 | 返金可能 |
|---|---|---|---|
| Internet Banking(タイ) | タイ | 1-3日 | ❌ いいえ |
| FPX(マレーシア) | マレーシア | 1-3日 | ❌ いいえ |
Direct Debit
| 方法 | 地域 | 決済 | 返金可能 |
|---|---|---|---|
| Online Direct Debit | タイ | 1-3日 | ✅ はい |
モバイルバンキング vs インターネットバンキング
| 機能 | モバイルバンキング | インターネットバンキング |
|---|---|---|
| プラットフォーム | モバイルアプリのみ | デスクトップブラウザ |
| 体験 | シームレスなディープリンク | 銀行サイトへリダイレクト |
| 速度 | 高速(30-60秒) | 遅い(2-3分) |
| 返金 | ✅ サポート | ❌ 非対応 |
| 人気 | 2023年以降 | 2018-2022年 |
| 推奨 | ✅ はい | ⚠️ レガシー |
新しい統合にはモバイルバンキングを使用してください。より良いUX、より速い支払い、返金サポートを提供します。インターネットバンキングはレガシーですが、まだ広く使用されています。
銀行振込の仕組み
モバイルバンキングフロー
顧客体験:
- 顧客がチェックアウト時に銀行を選択
- バンキングアプリが自動的に開く
- 顧客がログイン(まだの場合)
- 支払い詳細を確認
- 生体認証/PINで確認
- 加盟店サイトに戻る
通常の完了時間: 30-90秒
インターネットバンキングフロー
顧客体験:
- 顧客が銀行を選択して支払いをクリック
- 銀行のインターネットバンキングサイトにリダイレクト
- ユーザー名/パスワードでログイン
- 支払いを確認して確定
- 確認を受け取る
- 加盟店にリダイレクトバッ ク
通常の完了時間: 2-5分
実装概要
基本統合(モバイルバンキング)
- Node.js
- PHP
- Python
const omise = require('omise')({
secretKey: 'skey_test_YOUR_SECRET_KEY'
});
// モバイルバンキングのソースを作成
const source = await omise.sources.create({
type: 'mobile_banking_scb', // または kbank, bbl, bay, ktb
amount: 100000, // 最小単位での金額
currency: 'THB'
});
// チャージを作成
const charge = await omise.charges.create({
amount: 100000,
currency: 'THB',
source: source.id,
return_uri: 'https://yourdomain.com/payment/callback'
});
// 顧客をバンキングアプリにリダイレクト
res.redirect(charge.authorize_uri);
<?php
// ソースを作成
$source = OmiseSource::create(array(
'type' => 'mobile_banking_scb',
'amount' => 100000,
'currency' => 'THB'
));
// チャージを作成
$charge = OmiseCharge::create(array(
'amount' => 100000,
'currency' => 'THB',
'source' => $source['id'],
'return_uri' => 'https://yourdomain.com/payment/callback'
));
// リダイレクト
header('Location: ' . $charge['authorize_uri']);
?>
import omise
omise.api_secret = 'skey_test_YOUR_SECRET_KEY'
# ソースを作成
source = omise.Source.create(
type='mobile_banking_scb',
amount=100000,
currency='THB'
)
# チャージを作成
charge = omise.Charge.create(
amount=100000,
currency='THB',
source=source.id,
return_uri='https://yourdomain.com/payment/callback'
)
# リダイレクト
return redirect(charge.authorize_uri)
コールバックとWebhookの処理
// 銀行からの戻りを処理
app.get('/payment/callback', async (req, res) => {
const charge = await omise.charges.retrieve(req.query.charge_id);
if (charge.status === 'successful') {
res.redirect('/payment-success');
} else {
res.redirect('/payment-failed');
}
});
// Webhookを処理(推奨)
app.post('/webhooks/omise', (req, res) => {
const event = req.body;
if (event.key === 'charge.complete') {
const charge = event.data;
if (charge.status === 'successful') {
fulfillOrder(charge.metadata.order_id);
}
}
res.sendStatus(200);
});
ソースタイプリファレンス
タイのモバイルバンキング
| ソースタイプ | 銀行名 | コード |
|---|---|---|
mobile_banking_scb | Siam Commercial Bank | SCB |
mobile_banking_kbank | Kasikornbank | KBANK |
mobile_banking_bbl | Bangkok Bank | BBL |
mobile_banking_bay | Krungsri (Bank of Ayudhya) | BAY |
mobile_banking_ktb | Krungthai Bank | KTB |
シンガポールのモバイルバンキング
| ソースタイプ | 銀行名 |
|---|---|
mobile_banking_ocbc | OCBC Bank |
インターネットバンキング
| ソースタイプ | 地域 | 銀行 |
|---|---|---|
internet_banking_th | タイ | 全ての主要タイ銀行 |
fpx | マレーシア | 20以上のマレーシア銀行 |
Direct Debit
| ソースタイプ | 地域 | 説明 |
|---|---|---|
pay_with_bill_payment | タイ | Online Direct Debit |
適切な方法の選択
国別
タイ
- 主要: モバイルバンキング(SCB、Kasikornbank)
- 代替: インターネットバンキング
- 定期: Direct Debit
マレーシア
- 主要: FPX(インターネットバンキング)
- 用途: 全てのeコマース
シンガポール
- 主要: OCBCモバイルバンキング
- 代替: PayNow(QR)
用途別
一回限りの支払い
- モバイルバンキング(最高のUX)
- インターネットバンキング(より広いリーチ)
定期支払い
- Direct Debitのみ
- 顧客の承認が必要
大規模取引
- 銀行振込(カードより高い限度額)
- Direct Debit(事前承認済み)
比較マトリックス
| 機能 | モバイルバンキング | インタ ーネットバンキング | Direct Debit |
|---|---|---|---|
| プラットフォーム | モバイルのみ | デスクトップ/モバイル | 任意 |
| 速度 | 高速 | 中程度 | 高速 |
| 返金 | ✅ はい | ❌ いいえ | ✅ はい |
| 限度額 | 高い | 高い | 非常に高い |
| 定期 | ❌ いいえ | ❌ いいえ | ✅ はい |
| セットアップ | なし | なし | 必要 |
| 完了 | 30-90秒 | 2-5分 | 即時 |
ベストプラクティス
1. モバイルファーストで現代的な体験
// デバイスを検出して適切な方法を表示
if (isMobile()) {
showMobileBankingOptions();
} else {
showInternetBankingOptions();
showMobileQROption(); // デスクトップのフォールバック
}
2. 銀行ロゴを表示
公式の銀行ロゴを使用して信頼と認識を構築:
<img src="/banks/scb-logo.svg" alt="SCB Bank" class="bank-logo">
3. 明確な指示を表示
<div class="payment-instructions">
<h4>วิธีชำระเงิน(支払い方法):</h4>
<ol>
<li>เลือกธนาคารของคุณ(銀行を選択)</li>
<li>แอพธนาคารจะเปิดขึ้นอัตโนมัติ(銀行アプリが自動で開きます)</li>
<li>ยืนยันการชำระเงินในแอพ(アプリで支払いを確認)</li>
<li>รอการยืนยันทันที(すぐに確認を待つ)</li>
</ol>
</div>
4. タイムアウトを処理
// モバイルバンキングはすぐに期限切れになります
const TIMEOUT = 10 * 60 * 1000; // 10分
setTimeout(() => {
if (!paymentCompleted) {
showMessage('支払いが期限切れになりました。もう一度お試しください。');
enableRetry();
}
}, TIMEOUT);
5. 常にWebhookを使用
// Webhookが主要な通知
app.post('/webhooks/omise', handleWebhook);
// コールバックはユーザー体験のみ
app.get('/payment/callback', handleCallback);
よくある質問
モバイルバンキングとインターネットバンキングの違いは何ですか?
モバイルバンキング: ディープリンクで銀行のモバイルアプリを使用。より高速で、モダンなUX、返金をサポート。新しい統合に推奨。
インターネットバンキング: 銀行のウェブサイトにリダイレクト。デスクトップフレンドリー、より広い銀行サポート、ただし返金なし。レガシー方法。
どの決済方法を使用すべきですか?
- タイ: モバイルバンキング(SCB、Kasikornbank)またはより広いリーチのためのインターネットバンキング
- マレーシア: FPXインターネットバンキング(唯一のオプション)
- シンガポール: OCBCモバイルバンキングまたはPayNow
銀行振込は返金をサポートしていますか?
- モバイルバンキング: ✅ はい、全額および一部返金
- インターネットバンキング: ❌ 返金非対応
- Direct Debit: ✅ はい、返金対応
決済にはどのくらいかかりますか?
ほとんどの銀行振込の決済は1-3営業日以内に行われます。特定の決済スケジュールについては、Omiseダッシュボードをご確認ください。
定期支払いを受け付けることはできますか?
Direct Debitのみが定期支払いをサポートします。モバイルおよびインターネットバンキングは一回限りの支払いのみです。
取引限度額は何ですか?
限度額は銀行と顧客の口座タイプによって異なりますが、一般的に:
- 最小: ฿1(THB)、RM1(MYR)、$1(SGD)
- 最大: ฿2,000,000以上の取引
カード限度額よりはるかに高い。
関連リソース
- 決済方法概要 - 利用可能な全ての方法
- デジタルウォレット - 代替モバイル決済
- QR決済 - PromptPay、PayNow、DuitNow
- 支払いを受け付ける - 実装ガイド
- Webhooks - 通知を処理
- テスト - 銀行振込をテスト
次のステップ
- 市場を選択 - タイ、マレーシア、またはシンガポール
- 支払いタイプを選択 - モバイルバンキング、インターネットバンキング、またはdirect debit
- 統合を実装 - 銀行固有のガイドに従う
- 徹底的にテスト - サポートされている各銀行でテスト
- 本番環境に移行 - 本番用に有効化
始める準備はできましたか? 銀行を選択してください:
タイ:
マレーシア:
シンガポール: