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