💰

Stripe入門

1 min read

Stripe is 何?

Stripeとは「Stripe, Inc.」によって提供される決済プラットフォームである。

初期費用が安く、手数料も低いため手軽に利用することができる。

提供されるAPI

  • Stripe Checkout
    Stripeが提供する支払いページにリダイレクトして決済するためのAPI。
    支払いページが既に用意されているためUIを作成する手間が省ける。
  • Charges API
    自分で用意した支払いページで決済するためのAPI。
    「Alipay」や「WeChat Pay」に対応している。
  • Payment Intents API
    「Charges API」同様に、自分で用意した支払いページで決済するためのAPI。
    「Apple Pay」や「Google Pay」に対応している。

必要な手続き

  • Stripeの会員登録
    こちらから会員登録
  • 新規プロジェクトの作成
    左側の「New Business」から新規プロジェクトを作成する
  • APIの利用登録をしAPIキーを取得
    ダッシュボードから「API keyを取得」をし公開鍵と秘密鍵を確認する
    .envファイルに「STRIPE_PUBLIC_KEY」と「STRIPE_SECRET_KEY」を設定する
  • Stripe APIライブラリをインストール
    composerなどを使ってライブラリをインストールする
composer require stripe/stripe-php
  • 決済する商品のリストを作成

  • シークレットキーをセットする

\Stripe\Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
  • セッションに必要な値を追加
$session = \Stripe\Checkout\Session::create([
    // 決済方法
    'payment_method_types' => ['card'],
    // 決済するアイテム
    'line_items'           => [$line_items],
    // 決済成功時のリダイレクト先の指定
    'success_url'          => route('product.index'),
    // 決済失敗時のリダイレクト先の指定
    'cancel_url'           => route('cart.index'),
]);
  • Stripeオブジェクトを作成し決済画面へリダイレクト
const publicKey = '{{ $publicKey }}';
const stripe = Stripe(publicKey);
window.onload = function() {
    stripe.redirectToCheckout({
        sessionId: '{{ $session->id }}'
    }).then(function (result) {
        window.location.href = 'http://localhost/cart';
    });
}
  • 動作確認
    遷移先の決済ページでテスト用のデータを入力
    ダッシュボードの「payment」から支払いがあったかどうかの確認

Discussion

ログインするとコメントできます