如果在 WHMCS 与 6.2.0 中付款失败,则重定向到 custompage.php 而不是 viewinvoice.php
Redirect to custompage.php instead of viewinvoice.php if payment fails in WHMCS Vs 6.2.0
我希望在支付网关返回支付失败后重定向到自定义页面。
为此,我使用 ShoppingCartCheckoutCompletePage 挂钩通过变量 $vars[[=21=]] 进行检查。
付款成功后,$vars[[=21=]] 为真,重定向到感谢页面有效。
add_hook('ShoppingCartCheckoutCompletePage', 1, function ($vars)
{
# Will be true if the order has been paid
if($vars['ispaid'] == true)
{
#redirect to thank you page
header('location:'.thankYouPage);
die;
}
else
{
header('location:'.transactionFailedPage);
die;
}
}
但是支付明显失败时else语句没有执行,
而是加载了 viewinvoice.php 页面并将付款状态设置为 'unpaid'
我错过了什么吗?
如何重定向到交易失败页面?
谢谢。
WHMCS 没有提供一种直观的方式来到达您想去的地方,这是肯定的。您可能需要在 hooks 目录中添加一个文件以在没有 hook 的情况下执行到 运行 - 您添加到 hooks 目录中的任何 php 都会在系统启动并完成安全检查后立即执行。因此,这意味着您可以查看您是否 a) 在 viewinvoice.php 文件中,b) 是否有指示付款失败的错误消息,以及 c) 如果这些为真,则从那里重定向。
我认为 ShoppingCartCheckoutCompletePage 仅在订单完成并付款后才被调用,虽然我记得是这样,但它并不直观。
希望对您有所帮助。
我希望在支付网关返回支付失败后重定向到自定义页面。 为此,我使用 ShoppingCartCheckoutCompletePage 挂钩通过变量 $vars[[=21=]] 进行检查。 付款成功后,$vars[[=21=]] 为真,重定向到感谢页面有效。
add_hook('ShoppingCartCheckoutCompletePage', 1, function ($vars)
{
# Will be true if the order has been paid
if($vars['ispaid'] == true)
{
#redirect to thank you page
header('location:'.thankYouPage);
die;
}
else
{
header('location:'.transactionFailedPage);
die;
}
}
但是支付明显失败时else语句没有执行, 而是加载了 viewinvoice.php 页面并将付款状态设置为 'unpaid'
我错过了什么吗? 如何重定向到交易失败页面?
谢谢。
WHMCS 没有提供一种直观的方式来到达您想去的地方,这是肯定的。您可能需要在 hooks 目录中添加一个文件以在没有 hook 的情况下执行到 运行 - 您添加到 hooks 目录中的任何 php 都会在系统启动并完成安全检查后立即执行。因此,这意味着您可以查看您是否 a) 在 viewinvoice.php 文件中,b) 是否有指示付款失败的错误消息,以及 c) 如果这些为真,则从那里重定向。
我认为 ShoppingCartCheckoutCompletePage 仅在订单完成并付款后才被调用,虽然我记得是这样,但它并不直观。
希望对您有所帮助。