=== Klasha Multichannel Payments for WooCommerce === Contributors: klashatechnology Plugin Name: Klasha Multichannel Payments for WooCommerce Tags: payment, checkout, woocommerce, klasha, gateway Author URI: https://www.klasha.com Author: Klasha Requires at least: 5.6 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 2.2.0 Version: 2.2.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html == Description == Accept multichannel payments on WooCommerce via Klasha (Cards, Bank Transfer, M-Pesa, Mobile Money, and USSD). Klasha Multichannel Payments for WooCommerce allows you to accept local and cross-border payments on your WooCommerce store through multiple payment channels powered by Klasha. You can signup for a Klasha merchant account here. The following are the payment methods you will be able to accept in your WooCommerce store with Klasha: * __Card Payments__ * __M-Pesa__ * __Mobile Money__ * __Klasha Wallet__ * __Bank Transfer__ * __USSD__ = PLUGIN FEATURES = * __Multiple payment channels__ available for your customers across Africa and globally. * __Seamless integration__ into WooCommerce checkout (including Cart and Checkout Blocks). * __HPOS Ready__: Fully compatible with WooCommerce High-Performance Order Storage. = NOTE = * Your WooCommerce store country can be in any country. * Currencies supported by Klasha: NGN, KES, ZMW, ZAR, USD, UGX (updated regularly). == External services == This plugin relies on third-party services provided by Klasha Technologies Limited to process and verify customer payments: 1. Klasha Payment Processing API: * What the service is: A secure REST API used to verify transaction statuses and order amounts, and to process real-time payment webhook notifications. * Endpoints: https://gate.klasapps.com (production) and https://dev.kcookery.com (sandbox / test mode). * What data is sent and when: Transaction reference, order ID, order total amount, and currency are transmitted when the plugin verifies whether a customer payment has completed. * Terms of service: https://www.klasha.com/legal#terms-and-conditions * Privacy policy: https://www.klasha.com/privacy-policy 2. Klasha Hosted Modal Checkout: * What the service is: A secure client-side modal checkout script that renders payment channel forms (Card, Bank Transfer, M-Pesa, Mobile Money, USSD) directly on checkout so sensitive financial credentials never touch merchant servers. * Endpoint: https://www.js.klasha.com/pay.js * What data is sent and when: Merchant public key, transaction reference, order amount, currency, customer email, customer name, and customer phone number are passed into the checkout popup when the customer clicks the payment button. * Terms of service: https://www.klasha.com/legal#terms-and-conditions * Privacy policy: https://www.klasha.com/privacy-policy = SUGGESTIONS/FEATURE REQUEST = If you have suggestions or a new feature request, feel free to get in touch with klasha via support@klasha.com. You can also follow klasha on twitter @Klasha_Inc and instagram @klasha_inc. == Installation == = AUTOMATIC INSTALLATION = * Login to your WordPress Admin area. * Go to “Plugins > Add New” from the left hand menu. * In the search box type “Klasha Multichannel Payments for WooCommerce”. * From the search result you will see “Klasha Multichannel Payments for WooCommerce” click on “Install Now” to install the plugin. * A popup window will ask you to confirm your wish to install the Plugin. * Click “Proceed” to continue the installation. The resulting installation screen will list the installation as successful or note any problems during the install. * If successful, click “Activate Plugin” to activate it. * Open the settings page for WooCommerce and click the “Payment Gateways” tab. * Click on the sub tab for “Klasha”. * Configure your “Klasha” settings. See below for details. = MANUAL INSTALLATION = * Download the plugin zip file. * Login to your WordPress Admin. * Click on “Plugins > Add New” from the left hand menu. * Click on the “Upload” option, then click “Choose File” to select the zip file from your computer. Once selected, press “OK” and press the “Install Now” button. * Activate the plugin. * Open the settings page for WooCommerce and click the “Payment Gateways” tab. * Click on the sub tab for “Klasha”. * Configure your “Klasha” settings. See below for details. = CONFIGURE THE PLUGIN = To configure the plugin, go to WooCommerce > Settings from the left hand menu, then click “Payment Gateways” from the top tab. You should see “Klasha” as an option at the top of the screen. Click on it to configure the payment gateway. * Enable/Disable – Check the box to enable Klasha. * Title – Allows you to set the payment method title that your customers will see this payment option as on the checkout page. * Description – Controls the message that is shown under the Klasha payment method on the checkout page. Here you can list the types of cards you accept. * Test Mode – Check this to enable test mode, remember to uncheck this if you are ready to accepting live payment on your site. * Public Key – Enter your public key here. * Secret Key – Enter your private key here. * Click on Save Changes for the changes you made to be effected. == Screenshots == [https://i.imgur.com/13UlhBN.png Klasha payment gateway WooCommerce settings page] [https://i.imgur.com/wC0krpw.png Klasha payment popup on the website - MPesa] [https://i.imgur.com/SnRq6k3.png Klasha payment popup on the website - Card payment] == Changelog == = VERSION 1.0.0 = * First release = VERSION 1.0.1 = * Fix: Plugin conflict = VERSION 2.0.0 = * New: Add support for Ghanian Cedis (GHS) * New: Add support for Kenyan Shillings (KSH) = VERSION 2.0.1 = * New: M-Pesa payment method * New: Mobile money payment method = VERSION 2.0.2 = * New: Klasha wallet payment method * New: Bank Transfer payment method * Bug fixes: State and country validation = VERSION 2.1.0 = * Fix: Resolved PHP 8.1+ FILTER_SANITIZE_STRING deprecation issue * New: Added support for WooCommerce Cart and Checkout Blocks * New: Declared High-Performance Order Storage (HPOS) compatibility * Compatibility: Updated WordPress 6.6+ and WooCommerce 9.0+ compatibility metadata = VERSION 2.2.0 = * New: 3D Secure (3DS) redirect handling with background payment status polling and a waiting notice at checkout * New: Payment status auto-verification after 3DS redirect via AJAX * New: Server-to-server webhook endpoint to confirm successful and pending payments * New: Pending payments now place the order on-hold until Klasha confirms the transaction * New: Admin notice when the gateway is enabled without a Business ID or API key * New: Debug logging through the WooCommerce logger * New: Bundled payment logo (filterable via `woocommerce_klasha_icon`) instead of a remotely hosted image * Security: Payment validation and status checks now require a valid nonce, order key, or `pay_for_order` capability * Security: Paid amount is checked against the order total before an order is marked as paid * Security: Improved input sanitisation and output escaping throughout the plugin * Fix: Plugin failures during transaction verification, with fallback verification endpoints and request timeouts * Fix: Checkout script dependency handle that could stop the Klasha payment script from loading * Tweak: Renamed plugin, updated text domain and translator comments for WordPress.org readiness * Tweak: Declared WooCommerce as a required plugin (`Requires Plugins: woocommerce`) * Compatibility: Tested up to WordPress 7.1 == Frequently Asked Questions == = What Do I Need To Use The Plugin = * You need to have the WooCommerce plugin installed and activated on your WordPress site. * You need to open a merchant account on Klasha.