Stripe で定期課金が失敗したときのテストを行いたいけど失敗した。
月の変わり目に今月まで有効なクレジットカードで定期課金を登録し、来月1日に定期課金しようとしたら…
普通に課金されて終わっていたw
1日になってログによると 3:00 に処理が始まり…
具体的に 2020/08 が有効期限だったカードが
2020/09/01 03:00 に行われた定期課金処理では通ってしまったのだ。
ああああ、1日だったから悪いのかな…とかいろいろ考えたけど、まぁ、仕様として1日だと時差の関係で有効な時間帯があるのかもしれない。そもそもテスト環境で、テストカード番号だったから???
いろいろ考えたものの、そもそも厳格に不具合扱いしたいわけではなく、失敗したときのテストをしたいだけだから
通常運用では1日だと先月までのカードが有効であればそれはそれで通っていいわけだ。来月から失敗するにしても。
それはそれで問題ない。こちらのシステムが神ではないのだから(笑)
じゃあ、どうやってテストするか…だ(笑)
来月待つか(笑) そんなこと言ってる場合ではないww
苦肉の策 毎日課金のテスト商品作ってトークン入れ替えた
要するにStripeで定期課金処理が行われてそれがエラーになればいいわけで。
こちらのデータとしては定期課金のトークンがある。
それを毎日課金のテスト的に作った商品(テスト商品)のものに替えてみたらどうだろう。
毎日課金のテスト商品登録
テスト商品は以下の感じで作った。
毎日課金 500円
あとはテキトーw
魔法のカード登場
そして認証は通るけど課金でダメになる魔法のカード番号の登場w
もろもろのカード番号は拒否されて顧客にさえ登録できないものが多いが、この専用番号であれば、いったん顧客に支払い情報として登録しておいて、あとから課金・決済・支払いを失敗させることができる。 4000000000000341 | Attaching this card to a Customer object succeeds, but attempts to charge the custo...
こちらで紹介されているカード番号「4000000000000341」こちらを支払い方法で追加して…
テスト商品で定期課金を作った。
…ここでちょっと問題発生。
テストカードのNGをもう一回くぐる必要があった
定期課金を作ろうと思った瞬間エラーになった「カード拒否」みたいな。
カードの登録時はOKだったが、このタイミングでエラーになるとテストでは使えない…
仕方なく…テスト商品に「トライアル」を1日設けた。
そして再度、「定期課金」を登録…出来た!
そして、結果は…
テスト完了
定期課金失敗しました!
失敗したのに嬉しいw
失敗ログを確認したあと、システムのバッチを流してみる…
キチンと失敗したことを確認できました!!
仕込みから検証まで2日かかりました。(ずっとやっていたわけではないけどw)
以上です!
ですよね。でしたよね。
testですよね。
これは。