WordPressでAlipayのQRコードを表示させても中国人でないとスキャンできません

WordPress、Stripe、Alipayの組み合わせで、決済を導入する方法を述べます。

2つに分けて説明します。

  1. Alipay決済用のQRコードを表示させる
  2. AlipayアプリでQRコードを実際にスキャンして支払いを行う

今回は「2.」の説明になります。

Alipay(支付宝)携帯アプリ

Alipay(支付宝)携帯アプリ

これがAlipayアプリになります。セットアップに必要なものは、

  • パスポート
  • 中国で使える携帯番号
  • 中国の銀行の口座

自作決済画面からAlipay支払いをやります

自作\Alipay決済画面

前回作成した決済画面から、自分のAlipayアカウントで支払いをします。

Alipay支払いエラー

Sorry,this service is only available for Chinese Mainland ID holders.(ALI40436)

先に生成したQRコードは、中国人しか支払うことはできない、ということらしいです。

つまり以下のどちらかになります。

  1. 生成したQRコードが、中国人しか受け入れない
  2. Alipayアプリの自国設定が中国でないと、どんなQRコードでもスキャンできない

どちらが原因なのかは調査中です。

中国人に自作決済画面を試してもらう

合陈クンとします。

中国人の携帯で、自作支払い画面を試してみた

まだ何か変なエラーがでます。ブラウザ変えてください、と言う内容です。Wechatの画面から直接決済ページにアクセスしたからかでしょう。

中国人の携帯で正しく支払いができる様子

仕切り直してブラウザからアクセスし直してもらう。無事に支払いできました。

最初にスキャンできなかった要因は、Alipayアプリの自国設定(2.の事)な疑いが強いです。

払い戻し発生

もうテスト終わったから支払いキャンセル、合陈クンがこちらの想定外の操作をします。

Alipay支払いキャンセル

支払いキャンセルも考慮に入れてQRコードスキャン処理を実装しないといけません。

【追記】

Stripeを経由したAlipay決済に、支払いキャンセルはありません。今回キャンセルされたのは決済フローを正しく実装していなかったためです。

次回正します。

Stripeダッシュボードで確認

Stripeダッシュボード

確かに支払いキャンセルになってます。つまり、このままいくと

  1. 合陈クンはお金を払って有料会員になる
  2. 当方の処理で(というかStripe)は合陈クンを有料会員に設定する
  3. 合陈クンが支払いをキャンセルする
  4. 合陈クンは有料会員のまま(有料会員のタダ乗り発生!

という事態が発生します。

合陈クンが支払いをキャンセルしたら、有料会員の取り消しをやらないといけない。という考慮が必要です。