laravel8とstripeでクレジットカード登録して決済してみた

laravel8とstripeでクレジットカード登録して決済してみた

前回の続き

laravel8でログインしたユーザにのみファイルをダウンロードさせる。ついでに購入処理(NOT決済処理)も入れてみた。

参考URL
https://arrown-blog.com/php-laravel-stripe-creditcard/

前提知識
1, stripeとはクレカ決済会社。決済手数料3.8%(端数切り上げ)
2, クレカ登録を行うと、stripe用の顧客IDが割り振られるのでuserテーブルに登録して、以後の決済はそのidで行う
3, stripeの管理画面では、クレカ情報はブランド名(visaとかmasterとか)・下4桁・有効期限のみ見られる
4, stripe管理画面から、顧客ID(stripe_id)の削除とか返金処理が出来るので、いきなり本番環境で本物のクレカを使っても問題なさげ。

1, stripe用パッケージのインストール

2, usersテーブルにstripe_idカラムを追加(クレカ情報はstripe側が保持)

3 .envファイルにstripe管理画面から取得したキーを記述(本番用は一度しか表示されないので注意!)
参考サイトは古いせいか微妙に違ってた!
STRIPE_PUBLIC_KEY -> STRIPE_KEY
STRIPE_SECRET_KEY -> STRIPE_SECRET

4, config/payment.phpを作っておく。新旧の変数名の変更に注意!

5, payment(クレカ)関係を作っておく

6. routes/web.php

7, クレカ登録画面を作る
App\Http\Controllers\PaymentController;

resources/views/payment/form.blade.php

public/js/payment.js
クレカ登録画面でしか使わないから、resources/views/payment/form.blade.phpに直書きでも良いかも。

8, 購入処理にstripe決済処理を追加

stripeの顧客情報を作成・更新・削除処理を記述
app/Models/Payment

実際にクレカ決済が確定する所
App\Http\Controllers\PaymentController;

最後の方は参考URLのコピペになっちゃったけど、クレカ決済出来るようにはなった。
決済の実装、めんどい〜!と思いながらも、知らない事・分からない事・出来ない事を、理解して出来るようになってくの、面白い!^_^