【Laravel5.8】stripeで決済機能を導入したい

基本は以下のサイトを見ながら作ることができます。

【簡単・オシャレ】PHPでstripeの決済を導入する手順【決済システム導入】 - Qiita
【準備編】LaravelでのStripeの環境を作成する - TAKKUBLOG
【初級編】LaravelでStripeを使って単発決済を実装する - TAKKUBLOG
LaravelとStripeを使って決済機能を持つショッピングサイトを作った - Qiita


一方で、記述されておらずまだLaravelの仕組みを完全に理解していない私からすると抜かされている前提があったため、備忘録として。

composerへのlaravel/cashierのinstall

$ composer require "laravel/cashier"

composerへのstripe/stripe-phpのinstall

composer.json

    "require": {
        "stripe/stripe-php": "^6.29"★
    },
$ composer require stripe/stripe-php
$ composer update

これでcomposerに必要なものが入ったはず。

ちなみに

$ composer show -i

でcomposerにinstallされているものが確認できます。

laravel/cashier                       v9.3.3   Laravel Cashier provides an expressive, fluent inter...
stripe/stripe-php                     v6.40.0  Stripe PHP Library

が入っていたらとりあえずOK。

また、AWS C9を使用していた私はエラーコードで「installする容量がないよ」的なことを言われました。

その場合には、AWSのES2からインスタンスのタイプを大きなものにしなければなりません。

決済する時に「publish key」のエラーが出る

You did not set a valid publishable key. Call Stripe.setPublishableKey() with your publishable key. For more info, see https://stripe.com/docs/stripe.js

実際にカード番号などを打ち込み、購入手続きを進めるとこのようなエラーが出ました。

このエラーの解決法ですが、以下のQiita記事に書かれていました。

何回やってもRails Stripeが実装出来ない - Qiita

Railsの記事なのですが、手直しすべき点は同じです。

view上の決済画面を出す