プログラミング(Rails)初学者です。(初めて3か月ほど…)
決済関連の処理を書こうとした時、
ロールバックしたいと思って調べたのですが、あまり良い文献が見つかりませんでした…
そこで、下記前提のもとでの処理の組み方について、ご教示ください。
【 想 定 】
① 外部APIを使って決済処理を実行(Payjp)
↓
② 商品レコードを売り切れに更新
↓
③ 成功したら取引レコードを作成
↓
④ 購入完了メールを送信
【 ご教示頂きたいこと 】
上記で③の処理で失敗した時の動きについてです。
②と③はTransactionで処理を行えば良いのかな?と思うのですが、
①については外部APIであるため、ロールバックなどの概念はないのかなと思います。
その場合は、ActiveRecord::Rollback例外を捕捉して、外部APIで決済キャンセルをさせるようなイメージになるのでしょうか???
検索能力がないだけなのか、自分が根本的に考え違いをしているのか…。。
ご教示いただければ幸いです。よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。