Payzah Payment Gateway for WooCommerce
Payzah Payment Gateway for WooCommerce
Description
Payzah Payment Gateway for WooCommerce allows you to accept payments via KNET and major credit cards (VISA & MasterCard) in Kuwait. This plugin integrates seamlessly with WooCommerce to provide a secure and reliable payment solution.
Features:
- Accept KNET payments
- Accept Credit Card payments (VISA & MasterCard)
- Support for both English and Arabic languages
- Secure payment processing
- Refund support
- Test mode for development
- HPOS (High-Performance Order Storage) compatible
- PHP 8.x compatible
Installation
- Upload the plugin files to the
/wp-content/plugins/payzah-payment-gateway-for-woocommercedirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Go to WooCommerce > Settings > Payments and enable Payzah.
- Configure your Payzah Private Key and other settings.
Faq
Yes, you need to sign up for a Payzah merchant account to use this plugin.
Yes, the plugin supports full and partial refunds through the WooCommerce order interface.
Yes, version 1.6 and above fully supports WooCommerce High-Performance Order Storage (HPOS).
You can send an email to info@payzah.com to get a private key for the payment gateway.
Reviews
Secure and Customizable Payment Gateway Plugin for WordPress
By Payzah Payment Systems (payzahadmin) on February 4, 2024
Changelog
1.8.1
- Refined admin setup notice with dual-action buttons: “Configure” and “I Don’t Have a Private Key”.
- Updated notice messaging for better clarity on setup requirements.
1.8.0
- Added a native WordPress admin notice to alert users when Payzah setup is required (Private Key missing).
- Implemented industry-standard redirection to the Payzah settings page from the setup notice.
1.7.6
- Combined “Get Private Key” text and request link into a single line for a cleaner UI.
1.7.5
- Moved “Request Private Key” link from tooltip to directly below the input field for better visibility.
1.7.4
- Added “Request Private Key” link directly below the Private Key field in settings.
- Restored the internal request form logic for easier developer onboarding.
1.7.3
- Reverted settings page labels, descriptions, and defaults to match original v1.5 standard.
- Removed the “Get Private Key” request form and related admin UI elements.
- Cleaned up legacy admin hooks while preserving modernized core architecture.
1.7.2
- Fixed a fatal error and “Reference code is missing” issue during refunds.
- Switched to HPOS-compatible metadata retrieval for consistent data access.
- Optimized refund logic to use standard WooCommerce parameters.
1.7.1
- Fixed a critical issue where
BlocksSupport.phpwas missing the opening<?phptag.
1.6.9
- Optimized plugin header in
payzah.phpto follow industry standards (addedTested up to,Author URI, and aligned tags).
1.6.7
- Major internal refactor of the main plugin entry point (
payzah.php).
1.6.6
- Migrated conditionally email logic to OrderHelper for complete consistency.
1.6.5
- Significant architectural cleanup: Moved core gateway and block support classes to
includes/Classes/. - Implemented
Payzah\Classesnamespace for better organization. - Optimized autoloader and removed legacy function wrappers for class definitions.
1.6.4
- Refactored functions.php into modular Helper classes (Order, Admin, Checkout, Callbacks).
- Centralized logic in namespaced Payzah\Helper components.
- Maintained full backward compatibility for all existing hooks.
1.6.3
- Architecture: Introduced namespaced SDK Client for Payzah API.
- Restructured payment and refund logic into modular SDK components.
- Fixed “Invalid token” error by synchronizing environment detection.
- Resolved various PHP 8.2+ property and access level notices.
- Centralized API communication through a dedicated SDK Client.
- Significant refactor of WC_Payzah class to use the new SDK architecture.
1.6.2 – 2026-02-06
Modernization & Full Compatibility:
* Added support for WooCommerce Checkout Blocks (React-based checkout integration)
* Fully compatible with WordPress 6.5, 6.6 and PHP 8.2/8.3
* Declared all dynamic properties in WC_Payzah class for PHP 8.2+ compatibility
* Replaced legacy new WC_Order() with modern wc_get_order() for better reliability
* Added security nonces and AJAX referer checks for Private Key requests
* Complete Arabic translation update (payzah-ar.po/mo) for all new features
* Conditional loading of Blocks integration for 100% backward compatibility
* Fixed constant case inconsistency (PAYZAH_IMAGE_DIR)
1.6.1 – 2026-02-06
- Maintenance update and internal compatibility fixes.
1.6 – 2026-02-06
Security Improvements:
* Added isset() checks for all $_GET, $_POST, and $_REQUEST access
* Replaced unsafe unserialize() with json_decode() for security
* Added backward compatibility fallback for existing serialized data
* Improved input validation and sanitization
Bug Fixes:
* Fixed undefined $selected_lang variable warning
* Replaced deprecated order_total property with get_total() method
* Fixed $_GET[‘key’] undefined index warning
* Fixed function signature for woocommerce_payzah_thankyou_title()
* Added proper isset checks for payment method and transaction type
Enhancements:
* Added HPOS (High-Performance Order Storage) compatibility
* Improved PHP 8.x compatibility
* Added comprehensive code quality tools (PHPCS, PHPStan)
* Updated WordPress and WooCommerce compatibility headers
* Improved error handling and logging
Code Quality:
* Configured WordPress Coding Standards (PHPCS)
* Configured PHPStan Level 5 static analysis
* Improved code documentation
* Better adherence to WordPress coding standards
1.5
- Initial public release
- Support for KNET and Credit Card payments
- Multi-language support (English/Arabic)
- Refund functionality
1.4
- Updated the payment method field and label changes
1.3
- Plugin released