LaravelとSquareで決済してみた

こんにちは、遠藤です。

決済APIに関する知見を広げるためにカード決済のテスト実装を実施してみました。

StripeとSquareが代表的なのかな。くらいの知識しかなく、決済導入したいとご依頼があった場合にもスムーズに対応できるように普段利用しているLaravelとSquareでカード決済を実装しました。

できる限り最小限のコードのみでカード決済を実装しており、決済API初心者の方でもスムーズに理解しやすい内容となっていると思います。

目次

  1. Squareでアプリケーション作成
  2. パッケージインストール
  3. 環境変数設定
  4. フロントエンド構築
  5. バックエンド構築
  6. テスト決済実施

 

1. Squareでアプリケーション作成

1-1. アカウントの作成

最初に Square Developper (https://developer.squareup.com/)のアカウントを作成し、ログインします。

1-2. アプリの作成

アカウント作成時にシステムから聞かれる質問に答えていけば、アプリが既に作られた状態になっているかなと思いますが、作成方法を以下に記載します。

「+」ボタンを押下します。

アプリ名を入力します。

いろいろと聞かれますが、全てスキップで問題ないです。

Skipしていくとアプリの作成が完了し、Credential情報のページに遷移します。

以上でアプリの作成は完了です。

 

2. パッケージインストール

LaravelにはSquare用のSDKが用意されているため、以下を実行してインストールします。

SDKのGithubURL:https://github.com/square/square-php-sdk

 

3. 環境変数設定

3-1. Squareにて環境変数を確認

Application ID と Access token をメモしておきます。

次に左メニューの「Location」を押下します。Location ID をメモしておきます。

3-2. envに設定

上記でメモした内容をenvファイルにに反映します。

3-3. configに設定

Laravelにデフォルトで用意されている各種サービス用の設定ファイル(/config/service.php)に以下を追記します。

 

4. フロントエンド構築

routes/web.phpに以下を設定します。

resources/views/square.blade.phpに以下を記述します。

カード情報入力用のボックスを用意し、支払いボタン押下時にバックエンドで作成する決済APIを実行しています。

ここまで実装した時点で/squareにアクセスすると以下の画面が表示されるはずです。

5. バックエンド構築

/routes/api.phpに以下を設定します。

/app/Http/Controllers/Square/SquareController.phpに以下を記述します。

金額等を設定してSDKの利用により、決済APIを実行しています。

 

6. テスト決済実施

/squareにアクセスします。

カード番号等を入力して支払うボタンを押下します。

支払いが完了するとアラートで決済IDと支払額が表示されます。これで決済完了です。

Squareの管理画面にて決済が反映されているか確認します。「Sandbox test accounts」の「Open」を押下します。

先ほど実施した決済が反映されています。

どんな方法で支払ったかなどの内訳も見れるそうです。

 



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ