決済サービスとして人気なStripeを使用して決済フォームを作成してみます。
以前GMO Paymentサービスを利用した際の導入コストや使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。
・環境
Laravel 10.3
PHP 8.1
nginx
MySQL
Stripe
決済サービスとして人気なStripeを使用して決済フォームを作成してみます。
以前GMO Paymentサービスを利用した際の導入コストや使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。
Laravel 10.3
PHP 8.1
nginx
MySQL
Stripe
Stripeは2011に誕生した、ユーザーの事業者アカウントと決済代行会社の間で送金を行うことでクレジットカード(直接またはオンライン)での支払いを可能にする決済代行サービスです。
クレジットカード処理端末、もしくはオンラインのプロセッサを介して、支払い処理が行われます。
出典:
https://kinsta.com/jp/blog/stripe-vs-square/#:~:text=Stripe%E3%81%AF2011%E3%81%AB%E8%AA%95%E7%94%9F,%E5%87%A6%E7%90%86%E3%81%8C%E8%A1%8C%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
また、Stripeは初期費用・運用コスト0円で、利用料は決済手数料のみで導入可能なオンライン決済プラットフォームのため、昨今人気が高まっています。
まずはStripeのアカウントを作成します。
メールアドレス+名前+PWを求められるので、登録し、登録後は登録メールアドレスに対してメールが送信されるので、そちらを確認します。
メールに添付してあるリンクを押下し、ホーム画面へと遷移すると、下図のようなダッシュボードが表示されます。
画面右上のテスト環境がオンになっていることを確認し、右上の開発者リンクを押下します。
すると、下図のような開発者向けダッシュボードに遷移しますので、タブからAPIキーを選択します。
API公開可能キーとシークレットキーが表示されているので、こちらをコピーして、Laravel環境の.envファイルに貼り付けを行います。
.env
STRIPE_PUBLIC_KEY=pk_test_51xxxxxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_test_51xxxxxxxxxxxxxxxxxxx
config/stripe.php
<?php
return [
'stripe_public_key' => env('STRIPE_PUBLIC_KEY'),
'stripe_secret_key' => env('STRIPE_SECRET_KEY'),
];
$ composer require stripe/stripe-php
<?php
PaymentController.php
namespace App\Http\Controllers;
class PaymentController extends Controller
{
/**
* 決済フォーム表示
*/
public function create()
{
return view('payment.create');
}
}
Route::prefix('payment')->name('payment.')->group(function () {
Route::get('/create', [PaymentController::class, 'create'])->name('create');
Route::post('/store', [PaymentController::class, 'store'])->name('store');
});
<div class="container">
<div class="p-5">
<div class="col-6 card">
<div class="card-header">Stripe決済</div>
<div class="card-body">
<form id="card-form" action="#" method="POST">
@csrf
<div>
<label for="card_number">カード番号</label>
{{ Form::text(
次回は決済の中身の実装を行いたいと思います。
使ってみた感じ、かなり直感的に使え、難しい部分もないため、導入コストをかなり抑えた実装が可能なんじゃないかといった所見でした。