Добавить Отмена URL - Mollie Payment - PullRequest
0 голосов
/ 24 декабря 2018

Я реализовал Mollie Payment с моей платформой Laravel.

Как добавить URL отмены для перенаправления на экран отмены?Как я проверил в документации, он имеет только URL перенаправления.Я пока не нашел ничего для этой проблемы.

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Нет способа указать «отмененный» URL с Mollie.И никогда не будет.Смотрите комментарий члена команды Молли на Github :

Эй, ребята, просто хотел присоединиться, чтобы посмотреть, что мы можем сделать в Молли, чтобы прояснить ситуацию.

Как указывалось ранее, мы используем систему webhook для отправки вам обновлений статуса ваших платежей.Мы явно НЕ поддерживаем cancelUrl или любой другой тип URL-адреса, зависящего от статуса, поскольку он представляет различные проблемы безопасности, которые наша система webhook решила.

(...)

Короче говоря: мы никогда не будем реализовывать cancelUrl, потому что это полностью противоречит нашему дизайну API .Пожалуйста, не стесняйтесь спрашивать нас больше о нашей системе webhook, если у вас все еще есть вопросы.

Однако:

Просто настройте свой платеж с URL-адресом webhook, по которому мы можем нажатьстатус до.Отправьте своего потребителя по указанному нами адресу шлюза.Затем мы отправим вашего потребителя обратно на указанный вами адрес перенаправления, как только он отменит или завершит платеж.В обоих случаях мы, как правило, будем называть URL-адрес вашего веб-крюка непосредственно перед тем, как потребитель вернется на ваш сайт , что позволит вам показать правильное сообщение о статусе вашим потребителям.

Так чтоВы можете сделать, это указать идентификатор заказа в redirectUrl (возможно, внутри JWT для дополнительной безопасности).Вы должны отправить этот идентификатор заказа Mollie в метаданных платежа .Затем в контроллере вашего webhook вы должны сохранить статус платежа Mollie, связанный с вашим заказом (когда пользователь отменяет транзакцию, нажимая ссылку «Вернуться на сайт», этот статус равен canceled).Наконец, как только Mollie перенаправляет пользователя на ваш redirectUrl, вы проверяете (в своем контроллере) статус оплаты заказа.Если это canceled, показать отмененный вид.В противном случае покажите экран успеха.

0 голосов
/ 24 декабря 2018

чтение документации , что я бы сделал, выглядит примерно так:

$canceled_payment = $mollie->payments->delete($payment_id);
return redirect()->back()->with('message', 'Payment cancelled');

И в блейд вы должны показать сообщение:

@if(session()->has('message'))
<div class="alert alert-success">
    {{ session()->get('message') }}
</div>
@endif
...