ホームRailsの覚書Vue.jsの覚書MenuSidebarPrevNextSearchRailsでPAY.JPを利用した決済処理をモデルに追加するはじめにアプリケーションに対するクレジットカードによる決済機能の要件はちまたに溢れております。マイクロサービスが叫ばれて久しい昨今、そのバックグラウンド側の実装について、Railsのモデルをベースに考えたいと思います。決済処理はAPY.JPに対する支払い処理と、アプリケーションが保持するデータとの間で、一貫性が保たれていなければなりません。トランザクションを利用することになります。そこで便利なのがモデルのコールバック関数です。ActiveRecord::Rollbackが行われるのに応じて、createやupdateといった処理がロールバックするように作られております。これを利用してデータの一貫性を担保するのが便利です。APIへのアクセスには、PAY.JPが提供しているpayjp/payjp-rubyを利用します。支払い用のトークン(self.token)の生成については、以下の記事をご参考下さい。