【Stripe】本番環境時のテストは決済金額を50円以上にする

stripe-payment
この記事は約4分で読めます。

はじめに

おしゃべり猫型ロボット「ミーア」を開発中。

ミーア
おしゃべり猫型ロボット「ミーア」は、100以上の種類の豊かな表情で、悲しみや喜びを共有します。様々な性格(皮肉・おせっかい・ロマンチスト・天然)や方言(大阪弁・博多弁・鹿児島弁・広島弁)も話してくれます。ミーアとの暮らしで、毎日の生活をもっ...

6月1日リリースに向けて、本体購入の決済をHPに設定中。

WordPress(WooCommerce)+Stripeの組み合わせで、Stripeの本番決済をテストしたところ、思わぬ落とし穴に遭遇したので共有。

クレジット入力画面が表示されない!?

WooCommerce + Stripeの連携設定は、下記記事に分かりやすく書かれているので割愛。記事を参考に設定を進めていき、無事テストモードでの検証が終わったので、そのまま本番環境の設定を進めていった。

https://tcd-theme.com/2022/06/woocommerce-stripe.html

ちなみにテストモードだと、下記のように、Stripeがあらかじめ用意しているテストカード番号を入力することで決済テストできる。

本番決済をテストしようと思い、とりあえず、配送無料、購入金額1円の最小単位にして、自分のクレジットカードで決済できるか試みたところ、、

「あれ!?クレジット画面入力欄が表示されていない?」

枠は表示されているが、実際のクレジット番号やCVCなどの記入欄が表示されていない。

これは、枠をクリックして、次の画面に遷移したら入力フィールドが表示されるのかな?と思ったがそうではなさそう。

Stripeの本番利用の権限がまだ降りていないのか、本番環境移行の設定(秘密鍵・公開鍵・webhookの設定など)が間違っていたのかなど確認したが特に問題はなかった。

最低購入金額として50円が必要

ということで、console.logを見たところ、StripeへのAPI通信の部分で400エラーが大量に吐かれていた。

エラーのリンクをクリックしたところ、下記メッセージが。

JavaScript
{
  "error": {
    "code": "amount_too_small",
    "doc_url": "https://stripe.com/docs/error-codes/amount-too-small",
    "message": "Amount must be at least ¥50 jpy",
    "param": "deferred_intent.payment_method_types",
    "request_log_url": "https://dashboard.stripe.com/logs/req_z7SjHMagmZfhA9?t=1716859713",
    "type": "invalid_request_error"
  }
}

円の場合、最低金額は50円必要なの?

最低金額に関しては、Stripeのドキュメントを見たが、50円と明記しているところは調べた限りなさそう。該当しそうな説明は下記リンクの「請求しきい値」の欄。

従量課金
Stripe Billing を導入すると、SaaS の従量課金も簡単です

とりあえず、販売価格を50円に変更して、再度トライしたところ

無事表示された!

そのまま決済も無事完了!

Stripeの管理画面にも売上計上された。

メールも届いている。

結論

にしても、エラーのUI分かりづらすぎるな。というかそもそも画面上にエラー吐いていない。

50円以下の商品を売る人はそうそういないだろうから、というのもあるかもしれないが。

何はともあれ、無事本番決済もテストできたので、6/1のリリースに向けて進められそうである。

タイトルとURLをコピーしました