メインコンテンツへスキップ

QR決済

PromptPay(タイ)、PayNow(シンガポール)、DuitNow QR(マレーシア)を含む国の リアルタイム決済システムを通じて、QRコード経由で即時支払いを受け付けます。

概要

QR決済により、顧客はバンキングまたはウォレットアプリでQRコードをスキャンして即時支払いができます。これらは中央銀行が支援する国の決済スキームで、リアルタイム決済と広範な銀行サポートを提供します。

なぜQR決済?

  • 即時 - リアルタイム支払い確認
  • 🏦 銀行支援 - 国の決済インフラ
  • 📱 便利 - 任意のバンキングアプリでスキャン
  • 💰 低コスト - カードよりも低い手数料
  • 🔐 セキュア - 銀行レベルのセキュリティ
  • 🌐 ユニバーサル - 国内のすべての銀行で動作

対応QR決済方法

タイ 🇹🇭

方法ユーザータイプ返金可能決済
PromptPay6000万+国内QR✅ あり即時
TrueMoney QR3000万+ウォレットQR✅ あり1-3日

シンガポール 🇸🇬

方法ユーザータイプ返金可能決済
PayNow500万+国内QR✅ あり即時

マレーシア 🇲🇾

方法ユーザータイプ返金可能決済
DuitNow QR3000万+国内QR✅ あり即時
Maybank QR1000万+銀行固有✅ あり1-3日

QR決済の仕組み

顧客体験:

  1. 加盟店がQRコードを表示
  2. 顧客がバンキング/ウォレットアプリを開く
  3. カメラでQRコードをスキャン
  4. 支払い詳細を確認
  5. PIN/生体認証で確認(5秒)
  6. 即時確認を受信

典型的な完了時間: 10-30秒

実装概要

基本統合

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を使用

比較マトリックス

機能PromptPayPayNowDuitNow QRMaybank QR
タイシンガポールマレーシアマレーシア
ユーザー6000万+500万+3000万+1000万+
銀行すべてのタイ銀行すべてのSG銀行すべてのMY銀行Maybankのみ
速度即時即時即時1-3日
返金✅ あり✅ あり✅ あり✅ あり
通貨THBSGDMYRMYR

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決済方法は全額および部分返金をサポートしています。

関連リソース

次のステップ

  1. ターゲット国のQR方法を選択
  2. ソース作成を実装
  3. サイトにQRコードを表示
  4. ステータスポーリングまたはwebhooksを設定
  5. QRの有効期限を処理
  6. 実際のバンキングアプリでテスト
  7. 本番稼働

開始の準備はできましたか? QR決済方法を選択: