QR決済
PromptPay(タイ)、PayNow(シンガポール)、DuitNow QR(マレーシア)を含む国の リアルタイム決済システムを通じて、QRコード経由で即時支払いを受け付けます。
概要
QR決済により、顧客はバンキングまたはウォレットアプリでQRコードをスキャンして即時支払いができます。これらは中央銀行が支援する国の決済スキームで、リアルタイム決済と広範な銀行サポートを提供します。
なぜQR決済?
- ⚡ 即時 - リアルタイム支払い確認
- 🏦 銀行支援 - 国の決済インフラ
- 📱 便利 - 任意のバンキングアプリでスキャン
- 💰 低コスト - カードよりも低い手数料
- 🔐 セキュア - 銀行レベルのセキュリティ
- 🌐 ユニバーサル - 国内のすべての銀行で動作
対応QR決済方法
タイ 🇹🇭
| 方法 | ユーザー | タイプ | 返金可能 | 決済 |
|---|---|---|---|---|
| PromptPay | 6000万+ | 国内QR | ✅ あり | 即時 |
| TrueMoney QR | 3000万+ | ウォレットQR | ✅ あり | 1-3日 |
シンガポール 🇸🇬
| 方法 | ユーザー | タイプ | 返金可能 | 決済 |
|---|---|---|---|---|
| PayNow | 500万+ | 国内QR | ✅ あり | 即時 |
マレーシア 🇲🇾
| 方法 | ユーザー | タイプ | 返金可能 | 決済 |
|---|---|---|---|---|
| DuitNow QR | 3000万+ | 国内QR | ✅ あり | 即時 |
| Maybank QR | 1000万+ | 銀行固有 | ✅ あり | 1-3日 |
QR決済の仕組み
顧客体験:
- 加盟店がQRコードを表示
- 顧客がバンキング/ウォレットアプリを開く
- カメラでQRコードをスキャン
- 支払い詳細を確認
- PIN/生体認証で確認(5秒)
- 即時確認を受信
典型的な完了時間: 10-30秒
実装概要
基本統合
- Node.js
- PHP
- Python
const omise = require('omise')({
secretKey: 'skey_test_YOUR_SECRET_KEY'
});
// QR決済ソースを作成
const source = await omise.sources.create({
type: 'promptpay', // またはpaynow、duitnow_qrなど
amount: 50000,
currency: 'THB'
});
// QRコード画像を取得
console.log('QR Code:', source.scannable_code.image.download_uri);
// 請求を作成
const charge = await omise.charges.create({
amount: 50000,
currency: 'THB',
source: source.id
});
// 支払いステータスをポーリングまたはwebhooksを使用
<?php
// ソースを作成
$source = OmiseSource::create(array(
'type' => 'promptpay',
'amount' => 50000,
'currency' => 'THB'
));
// QRコードを取得
$qr_code_url = $source['scannable_code']['image']['download_uri'];
// 請求を作成
$charge = OmiseCharge::create(array(
'amount' => 50000,
'currency' => 'THB',
'source' => $source['id']
));
?>
import omise
omise.api_secret = 'skey_test_YOUR_SECRET_KEY'
# ソースを作成
source = omise.Source.create(
type='promptpay',
amount=50000,
currency='THB'
)
# QRコードを取得
qr_code_url = source.scannable_code['image']['download_uri']
# 請求を作成
charge = omise.Charge.create(
amount=50000,
currency='THB',
source=source.id
)
比較マトリックス
| 機能 | PromptPay | PayNow | DuitNow QR | Maybank QR |
|---|---|---|---|---|
| 国 | タイ | シンガポール | マレーシア | マレーシア |
| ユーザー | 6000万+ | 500万+ | 3000万+ | 1000万+ |
| 銀行 | すべてのタイ銀行 | すべてのSG銀行 | すべてのMY 銀行 | Maybankのみ |
| 速度 | 即時 | 即時 | 即時 | 1-3日 |
| 返金 | ✅ あり | ✅ あり | ✅ あり | ✅ あり |
| 通貨 | THB | SGD | MYR | MYR |
QR決済 vs 他の方法
| 機能 | QR決済 | Mobile Banking | デジタルウォレット |
|---|---|---|---|
| 速度 | 10-30秒 | 30-90秒 | 30-90秒 |
| プラットフォーム | 任意のデバイス | モバイルのみ | モバイルのみ |
| 銀行サポート | すべての銀行 | 主要銀行 | 特定ウォレット |
| デスクトップ | ✅ あり | ❌ なし | ❌ なし |
| アプリ必須 | バンキングアプリ | バンキングアプリ | ウォレットアプリ |
| セットアップ | なし | なし | ウォレットアカウント |
ユースケース
最適:
店頭支払い
- POSシステム
- レストランの請求書
- 小売チェックアウト
Eコマース(デスクトップ)
- モバイルバンキングなしのデスクトップ買い物客
- カードよりQRを好む顧客
- クロスデバイス支払い
請求書と請求
- 公共料金の支払い
- 請求書決済
- B2B支払い
適さない:
- モバイル専用体験(モバイルバンキングを使用)
- 国際顧客(国固有)
- 非常に少額(最小制限が適用)
ベストプラクティス
1. 明確な指示を表示
<div class="qr-instructions">
<h4>支払い方法:</h4>
<ol>
<li>バンキングまたはMobile Bankingアプリを開く</li>
<li>「QRをスキャン」または「Scan」を選択</li>
<li>上記のQRコードをスキャン</li>
<li>金額を確認して承認</li>
</ol>
</div>
2. QRの有効期限を処理
const QR_EXPIRY = 5 * 60 * 1000; // 5分
setTimeout(() => {
if (!paymentCompleted) {
showMessage('QRコードの有効期限が切れました。クリ ックして新規作成');
enableRetry();
}
}, QR_EXPIRY);
3. Webhooksを使用
app.post('/webhooks/omise', (req, res) => {
const event = req.body;
if (event.key === 'charge.complete') {
const charge = event.data;
if (['promptpay', 'paynow', 'duitnow_qr'].includes(charge.source.type)) {
if (charge.status === 'successful') {
processOrder(charge.metadata.order_id);
}
}
}
res.sendStatus(200);
});
FAQ
QR決済とは何ですか?
QR決済は国の決済スキーム(PromptPay、PayNow、DuitNow)を使用し、顧客がバンキングアプリでQRコードをスキャンして即時支払いを行います。国内のすべての銀行で動作します。
どのQR方法を使用すべきですか?
ターゲット国の国内QRスキームを使用:
- タイ: PromptPay
- シンガポール: PayNow
- マレーシア: DuitNow QR(すべての銀行)またはMaybank QR(Maybankのみ)
顧客は特別なアプリが必要ですか?
いいえ、顧客は通常のバンキングアプリを使用できます。各国のすべての銀行が国のQR決済スキームをサポートしています。
QRコードはどのくらい有効ですか?
通常5分間。有効期限後、顧客用に新しいQRコードを生成します。
QR決済を返金できますか?
はい、すべてのQR決済方法 は全額および部分返金をサポートしています。
関連リソース
- 決済方法概要 - 利用可能なすべての方法
- PromptPay - タイ国内QR
- PayNow - シンガポール国内QR
- DuitNow QR - マレーシア国内QR
- Mobile Banking - モバイルユーザー向けの代替
- テスト - QR決済をテスト
次のステップ
- ターゲット国のQR方法を選択
- ソース作成を実装
- サイトにQRコードを表示
- ステータスポーリングまたはwebhooksを設定
- QRの有効期限を処理
- 実際のバンキングアプリでテスト
- 本番稼働
開始の準備はできましたか? QR決済方法を選択: