From f36efae5418bbced8291e0d1ce349ca2f520aff8 Mon Sep 17 00:00:00 2001 From: OgheneTega Date: Fri, 5 Apr 2024 13:11:35 +0100 Subject: [PATCH] check if paystack gateway exists --- ...ass-wc-gateway-paystack-blocks-support.php | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-gateway-paystack-blocks-support.php b/includes/class-wc-gateway-paystack-blocks-support.php index 9388474..3368f73 100644 --- a/includes/class-wc-gateway-paystack-blocks-support.php +++ b/includes/class-wc-gateway-paystack-blocks-support.php @@ -28,10 +28,26 @@ public function initialize() { * @return boolean */ public function is_active() { - $payment_gateways_class = WC()->payment_gateways(); - $payment_gateways = $payment_gateways_class->payment_gateways(); - return $payment_gateways['paystack']->is_available(); - } + $payment_gateways_class = WC()->payment_gateways(); + + // Check if payment gateways are available + if ($payment_gateways_class) { + $payment_gateways = $payment_gateways_class->payment_gateways(); + + // Check if payment gateways is not empty and Paystack gateway exists + if (!empty($payment_gateways) && isset($payment_gateways['paystack'])) { + // Check if Paystack gateway is available + return $payment_gateways['paystack']->is_available(); + } else { + // Paystack gateway not found + return false; + } + } else { + // Payment gateways not initialized + throw new Exception('Payment gateways not initialized'); + } +} + /** * Returns an array of scripts/handles to be registered for this payment method.