PayPay決済を実装する【PHP/Laravel】【PayPay for Developers】

こんにちは。sohnishiです。

PayPay for Developersを使用してPayPay決済を実装する際に、

決済の流れや決済完了後に処理を行いたい場合の流れなど、

私の実現したかった内容が纏まっている文献がなかったため、備忘録として残しておきます。

 

処理の流れ

  1. フロントエンド(モバイルアプリ)からサーバーサイドにPOSTリクエストを送信。
  2. サーバーサイドで支払いページのURLを作成し、戻り値にセット。
  3. フロントエンドは受け取ったURLにアクセスし、ユーザーが支払いを実行。支払い完了後はディープリンクでアプリに戻る。
  4. サーバーサイドはWebhookで支払いデータを受け取る。

 

composer

 

ソースコード

.env

config/paypay.php

config/paypay-webhook-whitelist.php

Middleware/PaypayWebhookWhitelist.php

Http/Kernel.php

API_KEYやAPI_SECRET等のAPIに必要な情報をPayPay for Developersで取得し、

.envに記載してください。

また、WebhookにアクセスできるIPを制限するため、PayPay側のIPアドレスも記載します。

IPアドレスは念のため最新のものを確認してください。

PayPay決済完了後にアプリに戻るため、ディープリンクも記載してください。

 

api.php

ルーティングの定義を行います。

 

PaypayController.php

商品情報を定義し、QRコード(支払いページのURL)を作成します。

作成したURLをレスポンスで返却します。

 

PaypayWebhookController.php

Webhookで支払い完了データを受けとった際の処理を定義します。

 

あとはアプリ側からpaypay/qrcode/createにPOSTリクエストを送信し、戻り値でURLを受け取ってください。

受け取ったURLにアクセスすると、支払いページが表示されます。

 

Webhookのエンドポイントの設定等はPayPay for Developersから問い合わせることで可能です。

 

以上、PayPay決済実装方法のご紹介でした。

万が一、間違っている箇所等ありましたらコメントにてご指摘いただけますと幸いです!

 

参考にさせていただいた記事

https://kawaidesu.hatenablog.com/entry/2020/07/31/135428

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です