diff --git a/modules/gateways/xendit/hooks.php b/modules/gateways/xendit/hooks.php index e34df1e..b0fe65a 100644 --- a/modules/gateways/xendit/hooks.php +++ b/modules/gateways/xendit/hooks.php @@ -1,30 +1,42 @@ getInvoice($vars['invoiceid']); - $xenditRecurring = new Recurring(); - $invoice = $xenditRecurring->getInvoice($vars['invoiceid']); + // if payment method is Xendit + if ($invoice->paymentmethod != $xenditRecurring->getDomainName()) { + return; + } - // if payment method is Xendit - if ($invoice->paymentmethod != $xenditRecurring->getDomainName()) { - return; + // Save xendit transaction + return $xenditRecurring->storeTransactions($vars['invoiceid']); } +} + +add_hook('InvoiceCreation', 1, 'hookInvoiceCreation'); - // Save xendit transaction - $xenditRecurring->storeTransactions($vars['invoiceid']); -}); /** * Hook to show Xendit payment gateway based on currency @@ -32,13 +44,18 @@ * @param $vars * @return array|void */ -add_hook("ClientAreaPageCart", 1, function ($vars) { - if ($vars['templatefile'] == 'viewcart') { - $actionBase = new ActionBase(); +function hookClientAreaPageCart($vars) +{ + if ($vars['templatefile'] == 'viewcart' && class_exists('\Xendit\Lib\ActionBase')) { + $actionBase = new \Xendit\Lib\ActionBase(); $activeCurrency = $vars['currency']['code'] ?? $vars['activeCurrency']->code; - if (!$actionBase->validateCompatibilityVersion() || !in_array($activeCurrency, ActionBase::ALLOW_CURRENCIES)) { + if (!$actionBase->validateCompatibilityVersion() + || !in_array($activeCurrency, \Xendit\Lib\ActionBase::ALLOW_CURRENCIES) + ) { unset($vars['gateways']["xendit"]); } } return $vars; -}); +} + +add_hook("ClientAreaPageCart", 1, 'hookClientAreaPageCart');