Как настроить контроллер уведомлений в 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
Кроме того, вы можете полностью перезаписать действие уведомления по умолчанию на пользовательское, хотя я бы рекомендовал сначала посмотреть на расширения.