5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PaymentAdvent Calendar 2015

Day 4

PayPal Webhookについて

Last updated at Posted at 2015-12-07

PayPalには、定期支払い完了時や決済エラー時に指定したURLにデータをPOST送信してくれる
Instant Payment Notification (IPN)という機能があります。

PayPal Instant Payment Notification
https://developer.paypal.com/webapps/developer/docs/api/#notifications

これは、PayPalのアカウント管理画面での設定、およびClassic APIのパラメータなどで設定できます。

REST APIには、さらに、この設定自体をAPIで作成できるWebhookという機能があります。

PayPal Webhook
https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/

IPNで、例えば決済する画面ごとに通知先を変えたい場合は、IPNの通知先のURL自体をAPIや決済フォームのパラメータに渡さないとならないため、セキュリティ的に課題が残ったり、URLごとに通知するイベントをコントロールすることはできません。

Webhookの場合、通知の設定ごとにIDが振られ、そのIDを使って通知先の指定やどのイベントを送るか設定できるので、より細かい制御が可能になります。

Webhookで送られるイベントは以下です。

Webhook Event Types
https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/#event-types

PayPal Webhookも、こちらでのべたHATEOAS Linkと共に、REST APIの設計において、よく参考にされているモデルです。

ただし、IPNの通知はClassic API、PayPal提供フォーム、REST APIどの支払いについても、管理画面で有効にしている限り通知されますが、Webhookは、REST APIのアプリに紐づくため、そのアプリを使ったREST APIコールよるイベントしか通知されないことに注意が必要です。

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?