こんにちは。開発部の久保見です。
前回、PayPay API の実装を試してみたところ、それなりに収穫(?)があったので、今回は別の決済手段として Stripe API を試してみます。
Stripe は「実装難易度が低い」と言われることも多く、APIベースで決済を組み込む際の選択肢としてよく挙がるサービスです。
今回は PHP(stripe-php SDK)を使ってクレジットカード決済を実装してみます。
▼前回の記事はこちら
1. Stripe に登録する
まずは Stripe に登録します。
Stripe には sandbox(テスト)モードが用意されているため、そちらで 「APIキー(認証キー)」を確認することができます。
2. SDK をインストール
PayPay API と同様に、SDKのインストールは必須ではありませんが、導入しておいた方が実装はかなり楽になります。
composer require stripe/stripe-php
3. 実装する
今回は Stripe Checkout(カード決済) を使用します。
Stripe Checkout は、決済画面をStripe側が提供してくれるため、比較的シンプルにカード決済を実装できます。
以下がサンプルコードです。
require __DIR__ . '/vendor/autoload.php';
// ----- 決済情報 -----
$item = ’ハンバーグ定食’;
$price = 980;
// ----- 認証キー -----
\Stripe\Stripe::setApiKey('sk_test_XXXXXXXXXX');
// ----- 決済データ作成 -----
$orderId = 1234; //テスト
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'jpy',
'product_data' => [
'name' => $item,
],
'unit_amount' => $price,
],
'quantity' => 1,
]],
'mode' => 'payment',
//※metadataは自由項目
'metadata' => [
'order_id' => (string)$orderId, // 自社注文ID
'user_id' => (string)$userId, // ユーザーID
'item_name'=> (string)$item,
],
'success_url' => 'https://www.exsample.com/Complete.php',
'cancel_url' => 'https://www.exsample.com/Cancel.php',
]);
header("Location: " . $session->url);
exit;実際の画面
アプリメンバーズメニュー

決済画面

補足
Stripe API には、今回使用している内容以外にもさまざまなオプションがあります。
例えば
・商品画像の設定
・税率設定
・サブスクリプション
・顧客管理
など、用途に応じて細かく設定することが可能です。
ただし、
「指定した金額の決済を行う」
というシンプルな用途であれば、今回の実装でも十分対応できます。
また、Stripe の metadata は非常に便利です。任意のキーを自由に設定でき、そのまま決済データに紐づけて取得できます。
注文IDやユーザーIDなどを持たせておくと、自社システムとの連携がしやすくなります。
すでに Stripe を利用している企業様の場合、アプリや LINEミニアプリからそのまま決済を利用したいケースもあると思います。
そのため、こうした決済方法を サービスの選択肢として用意しておくのは一つの方法かもしれません。
もし
「こんな決済方法があったら良い」
「こういう決済を組み込みたい」
といったご要望がありましたら、ぜひお気軽にお問い合わせください。
▼合わせて読みたい
