Payment Failed

info(“Payment failure page accessed”, $transaction_data);
}

// Get order ID
$order_id = !empty($transaction_data[“custom4”]) ? $transaction_data[“custom4”] : (!empty($transaction_data[“order_id”]) ? $transaction_data[“order_id”] : null);

if ($order_id) {
// Get WooCommerce order
$order = wc_get_order($order_id);

if ($order) {
// Update order status to failed
$order->update_status(“failed”, __(“Payment failed via PrismPay 3DS Gateway.”, “prismpay-3ds-gateway”));

// Redirect to checkout with error
$checkout_url = add_query_arg(“payment_failed”, “1”, wc_get_checkout_url());
wp_redirect($checkout_url);
exit;
}
}
}
} catch (Exception $e) {
// Log error but continue
if (class_exists(“PrismPay_Logger”)) {
$logger = PrismPay_Logger::get_instance();
$logger->error(“Error in payment failure page: ” . $e->getMessage());
}
}
}

// Fallback: redirect to checkout
wp_redirect(wc_get_checkout_url());
exit;
?>