如果在WHMCS Vs 6.2.0中付款失败,则重定向到custompage.php而不是viewinvoice.php

时间:2016-01-08 17:31:14

标签: whmcs

我希望在支付网关返回付款失败后重定向到自定义页面。 为此,我使用ShoppingCartCheckoutCompletePage钩子使用变量$ vars ['ispaid']来检查这个。 付款成功后,$ vars ['ispaid']为true,重定向到thankyou页面。

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页面并将付款状态设置为“未付”

我错过了什么吗? 如何重定向到交易失败页面?

感谢。

1 个答案:

答案 0 :(得分:1)

WHMCS没有提供直观的方式来到达您想去的地方,这是肯定的。您可能需要添加一个要在hooks目录中执行的文件,以便在没有钩子的情况下运行 - 一旦系统启动并完成安全检查,您添加到hooks目录中的任何php都会被执行。因此,这意味着您可以在viewinvoice.php文件中查看您是否a)b)如果有错误消息指示付款失败,c)如果这些是真的则从那里重定向。

ShoppingCartCheckoutCompletePage我认为只有在订单完成并付款后才会调用,这是我记得的,但同样,它并不直观。

希望有所帮助。