添加取消URL-Mollie付款

时间:2018-12-24 10:49:59

标签: php laravel mollie

我已经通过Laravel框架实现了Mollie Payment

如何添加取消URL以重定向到取消屏幕?正如我在文档中检查的那样,它只有重定向URL。对于这个问题,我还没有找到任何东西。

2 个答案:

答案 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,则显示已取消的视图。否则,显示成功屏幕。