2016-01-08 9 views
0

Я хочу перенаправить на пользовательскую страницу после сбоя в оплате, возвращенного платежным шлюзом. С этой целью я использую hookCoreCheckoutCompletePage, чтобы проверить это с помощью переменной $ vars ['ispaid']. Когда платеж будет успешным, $ vars ['ispaid'] верен и перенаправление на страницу thankyou.Переназначение на custompage.php вместо viewinvoice.php, если сбой платежей в WHMCS Vs 6.2.0

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; 
    } 
} 

Однако оператор еще не выполняется, когда платеж явно не удается, скорее странице viewinvoice.php загружается и статус платежа устанавливается в «неоплаченный»

ли я что-то отсутствует? Как перенаправить на страницу с ошибкой транзакции?

Спасибо.

ответ

1

WHMCS не предоставляет интуитивно понятный способ добраться туда, куда вы хотите отправиться, это точно. Вам может потребоваться добавить файл для запуска в каталог hooks для запуска без крючка - любой php, который вы добавляете в каталог hooks, запускается, как только система запускается, и проверки безопасности выполняются. Таким образом, это означает, что вы можете видеть, являетесь ли вы a) в файле viewinvoice.php, b) если есть сообщение об ошибке, указывающее неудачный платеж, и c) перенаправить оттуда, если они верны.

ShoppingCartCheckoutCompletePage Я считаю, что вызывается только после того, как заказ завершен и произведен платеж, вот что я помню, но, опять же, это не интуитивно.

Надеюсь, что это поможет.

+0

Ваш предлагаемый рабочий процесс был отличным !! Единственная модификация, которую я применил к вашему предлагаемому решению, заключалась в том, чтобы запустить hookApApage и проверить следующие переменные: $ templateVariables ["filename"] и $ templateVariables ["paymentSuccess"] == false. Итак, если возвращаемые переменные viewinvoice и false соответственно, я вызываю перенаправление. – Terungwa

 Смежные вопросы

  • Нет связанных вопросов^_^