Paypal не присылает IPN — решение одной из возможных проблем

Предыстория: После пол дня попыток понять почему paypal sandbox отказывается присылать IPN на «notify_url» после совершения транзакции, а так-же возвращать на сайт (по адресу в параметре «return»), мне удалось разобраться.

Сначала я грешил на код или думал может этот адрес должен быть https.

Но все оказалось намного банальнее. Когда я зашёл в настройки Instant Payment Notification и попробовал забить адрес IPN, мне выдало ошибку.

paypal sandbox ipn

открываем paypal sandbox — настройки ipn (кликабельно)

Вбиваем адрес (для примера) — http://gavnokod.com?fv-action=pfa-ipn&gateway=paypal_standard и получаем ошибку.

адрес не проходит

Оказывается после домена должен быть слеш, иначе ничего приходить не будет.

Правильный адрес: http://gavnokod.com/?fv-action=pfa-ipn&gateway=paypal_standard
Но самое интересное что в IPN Simulator все приходило на любой url.

Теперь по сути:

  1. Не забудьте по слеш после домена в Return & Notify URL
  2. Verify запросы должны идти на https

Ну и документация от paypal по IPN — https://developer.paypal.com/docs/integration/direct/rest/webhooks/

Популярные ошибки: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSimulator/#simulator_troubleshooting

Надеюсь информацию будет полезна ☺.