Alipay+ マーチャント提示モード(MPM)
対応ウォレットアプリを通じて加盟店が生成したQRコードをスキャンすることで、Alipay+ユーザーからのオフライン店舗決済を受け付けます。
概要
マーチャント提示モード(Cスキャン B)では、顧客が加盟店のPOS端末に表示されたQRコードをスキャンして支払いを行います。これは、加盟店が取引ご とに固有のQRコードを生成する店舗決済に最適です。
主な機能:
- ✅ 店舗決済 - 小売店、レストラン、実店舗に最適
- ✅ 複数のウォレット - 12以上のAlipay+パートナーウォレットからの決済に対応
- ✅ 迅速なチェックアウト - 顧客は数秒でスキャンして支払い完了
- ✅ 専用ハードウェア不要 - 任意の画面にQRコードを表示または印刷可能
- ✅ クロスボーダー対応 - 海外からの旅行者の決済に対応
対応地域
| 地域 | 通貨 | 最小金額 | 最大金額 | APIバージョン |
|---|---|---|---|---|
| タイ | THB | ฿20.00 | ฿150,000.00 | 2017-11-02 |
| シンガポール | SGD | $1.00 | $20,000.00 | 2017-11-02 |
対応ウォレット
| ウォレット | タイ | シンガポール |
|---|---|---|
| Alipay CN | ✅ | ✅ |
| Alipay HK | ✅ | ✅ |
| KakaoPay | ✅ | ✅ |
| GCash | ✅ | — |
| Touch 'n Go | ✅ | ✅ |
| TrueMoney | ✅ | — |
仕組み
決済フロー:
- 加盟店がOmiseで決済ソースを作成
- POS端末にQRコードを表示
- 顧客がウォレットアプリ(GCash、KakaoPayなど)を開く
- 顧客がQRコードをスキャン
- 顧客がアプリ内で決済を確認
- 加盟店がWebhook通知を受信
一般的な完了時間: 30秒〜1分
実装方法
ステップ1:ソースの作成
- cURL
- Node.js
- PHP
curl https://api.omise.co/sources \
-u $OMISE_PUBLIC_KEY: \
-d "amount=150000" \
-d "currency=THB" \
-d "type=alipayplus_mpm"
const omise = require('omise')({
secretKey: 'skey_test_YOUR_SECRET_KEY'
});
const source = await omise.sources.create({
type: 'alipayplus_mpm',
amount: 150000,
currency: 'THB'
});
console.log('QR Code:', source.scannable_code.image.download_uri);
<?php
$source = OmiseSource::create([
'type' => 'alipayplus_mpm',
'amount' => 150000,
'currency' => 'THB'
]);
echo "QR Code: " . $source['scannable_code']['image']['download_uri'];
?>
ステップ2:課金の作成
curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=150000" \
-d "currency=THB" \
-d "source=src_test_xxx"
ステップ3:QRコードの表示
const qrCodeUrl = charge.source.scannable_code.image.download_uri;
// Display this QR code on your POS terminal
ステップ4:Webhookの処理
app.post('/webhooks/omise', (req, res) => {
const event = req.body;
if (event.key === 'charge.complete') {
const charge = event.data;
if (charge.status === 'successful') {
// Payment successful - fulfill order
console.log('Payment received!');
}
}
res.status(200).send('OK');
});
課金のライフサイクル
| ステータス | 説明 |
|---|---|
pending | QRコード表示中、決済待ち |
successful | 決済完了 |
failed | 決済失敗または拒否 |
expired | 決済期限切れ(24時間) |
返金とボイド
- ボイド期限: 取引日の16:15 UTC まで
- 返金期限: 取引から1年以内
- 部分返金: 対応
ベストプラクティス
- 明確な案内を表示 - 対応ウォレットを表示
- 適切なタイムアウトを設定 - QRコードの有効期限のカウントダウンを表示
- Webhookを処理 - 顧客の戻りのみに依存しない
- 十分なテスト - 対応する各ウォレットでテスト
よくある質問
マーチャント提示モード(MPM)とは何ですか?
MPMは「Cスキャン B」(顧客が加盟店をスキャン)とも呼ばれ、加盟店がQRコードを表示し、顧客がウォレットアプリでスキャンする店舗決済方法です。POS端末を備えた小売環境に最適です。
顧客はどのウォレットでQRコードをスキャンできますか?
顧客はAlipay CN、Alipay HK、KakaoPay、GCash、Touch 'n Go、TrueMoneyなど、Alipay+パートナーウォレットを使用できます。利用可能なウォレットは地域(タイまたはシンガポール)によって異なります。
QRコードの有効期限はどのくらいですか?
QRコードは作成後24時間で期限切れになります。ただし、より良い顧客体験のために、カウントダウンタイマーを表示し、予想より時間がかかる取引についてはQRコードを再生成することをお勧めします。
MPM取引をボイドまたは返金できますか?
はい。取引日の16:15 UTCまでボイドが可能です。返金(全額または部分)は元の取引から1年以内に対応しています。
MPMに特別なハードウェアは必要ですか?
特別なハードウェアは必要ありません。QRコードは任意の画面(タブレット、モニター、スマートフォン)に表示するか、印刷することも可能です 。顧客は自分のスマートフォンでスキャンして支払います。
顧客の決済が失敗した場合はどうなりますか?
決済が失敗した場合、status: failedと失敗理由を説明するfailure_code(例:insufficient_fund、payment_rejected)を含むWebhookを受信します。適切なエラーメッセージを表示し、顧客が再試行できるようにしてください。
関連リソース
- Alipay+ 概要 - Alipay+エコシステム完全ガイド
- Alipay+ UPM - ユーザー提示モード
- QR決済 - その他のQR決済方法