Как настроить контроллер уведомлений в Payum

Я пытаюсь внедрить / обновить экспресс-проверку PayPal в приложении Symfony.

Хотя я успешно интегрировал его "обычным" способом, у нас есть некоторые проблемы, связанные с захватом: не все пользователи возвращаются на сайт после оплаты, поэтому код в "doneAction" не выполняется, заказ не установлен по завершении, ни по электронной почте, и т. д. Каждый месяц из-за этого теряется до 10 сборов платежей.

В PayPal есть система уведомлений IPN, и, если я не ошибаюсь, Payum использует ее через "URL-адрес уведомления". Как я могу расширить или переопределить контроллер уведомлений? Могу ли я прикрепить событие к уведомлению? Я хочу разместить здесь логику "Заказ выполнен".

Единственные события, которые я нашел:

  • payum.gateway.pre_execute

  • payum.gateway.execute

  • payum.gateway.post_execute

1 ответ

Решение

Вам не нужно перезаписывать контроллер Symfony. Что вам нужно, это расширение, которое делает некоторые дополнительные вещи после обработки уведомления. Вот документация: https://github.com/Payum/Payum/blob/master/docs/instant-payment-notification.md

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

Другие вопросы по тегам