我已经通过Laravel框架实现了Mollie Payment。
如何添加取消URL以重定向到取消屏幕?正如我在文档中检查的那样,它只有重定向URL。对于这个问题,我还没有找到任何东西。
答案 0 :(得分:0)
阅读documentation,我会做的事情类似:
$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
答案 1 :(得分:0)
无法使用Mollie指定“已取消”的网址。而且永远不会。查看comment from Mollie's team member on Github:
伙计们,只是想插话,看看我们在Mollie可以做什么来清理问题。
如前所述,我们使用webhook系统向您发送有关您付款的状态更新。我们明确不支持cancelUrl或任何其他类型的状态相关URL,因为它引入了Webhook系统已解决的各种安全问题。
(...)
简而言之:我们将永远不会实现cancelUrl,因为它完全违反了我们的API设计。如果您仍有疑问,请随时向我们询问有关Webhook系统的更多信息。
但是:
只需使用Webhook URL设置您的付款,我们就可以将状态推送到该URL。将您的消费者转到我们提供的网关URL。然后,一旦他们取消或完成付款,我们将把您的消费者送回到您提供的重定向URL。在这两种情况下,我们通常会在消费者返回您的网站之前立即调用您的Webhook URL ,从而使您可以向消费者显示正确的状态消息。
因此,您可以做的是在redirectUrl中指定订单ID(可能在JWT内可以提高安全性)。您应该在payment metadata中将该订单ID发送给Mollie。然后,在Webhook的控制器中,您应该存储与订单关联的Mollie付款状态(当用户通过单击“返回网站”链接取消交易时,此状态为canceled
)。最后,一旦Mollie将用户重定向到您的redirectUrl
,您就可以在控制器中检查订单的付款状态。如果为canceled
,则显示已取消的视图。否则,显示成功屏幕。