決済サービスとして人気なStripeを使用して決済フォームを作成してみます。
以前GMO Paymentサービスを利用した際の導入コストや、使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。
前回はフォームを作成したので、今回はStripeで決済の中身の実装を行っていきます。
・環境
Laravel 10.3
PHP 8.1
nginx
MySQL
Stripe
決済サービスとして人気なStripeを使用して決済フォームを作成してみます。
以前GMO Paymentサービスを利用した際の導入コストや、使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。
前回はフォームを作成したので、今回はStripeで決済の中身の実装を行っていきます。
Laravel 10.3
PHP 8.1
nginx
MySQL
Stripe
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Stripe\Stripe;
use Stripe\Customer;
use Stripe\Charge;
class PaymentController extends Controller
{
/**
* 決済フォーム表示
*/
public function create(Request $request)
{
return view('payment.create');
}
/**
* 決済実行
*/
public function store(Request $request)
{
try {
Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
$customer = Customer::create(
[
‘name’ => $request->name,
'email' => $request->email,
'source' => $request->stripeToken
]
);
} catch (Exception $e) {
&nb
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Stripe\Stripe;
use Stripe\Customer;
use Stripe\Charge;
class PaymentController extends Controller
{
/**
* 決済フォーム表示
*/
public function create(Request $request)
{
return view('payment.create');
}
/**
* 決済実行
*/
public function store(Request $request)
{
try {
Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
$customer = Customer::create(
[
‘name’ => $request->name,
'email' => $request->email,
'source' => $request->stripeToken
]
);
$charge = Charge::create([
'customer' => $customer->id,
&nbs
今回はカード決済を実施してみましたが、機会があればカード以外の決済の対応もしてみたいと思います。
また実際のECサイトではDBに対して商品情報や在庫チェックなど様々な処理が必要になりますが、ミニマムで作成する場合このような感じになるかと思います。
APIリファレンスも確認しましたがかなり直感的に使えて組み込みやすい印象を受けました。