{"id":299265,"date":"2026-04-22T22:50:07","date_gmt":"2026-04-22T22:50:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/keeal-for-woocommerce\/"},"modified":"2026-04-22T23:08:12","modified_gmt":"2026-04-22T23:08:12","slug":"keeal-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/hy.wordpress.org\/plugins\/keeal-for-woocommerce\/","author":23479081,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.7","stable_tag":"1.0.7","tested":"6.9.4","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Keeal for WooCommerce","header_author":"Keeal","header_description":"Offer Keeal Payment in WooCommerce\u2014customers complete checkout on Keeal\u2019s secure hosted page. Enter your Keeal API key and webhook details; production uses https:\/\/api.keeal.com\/api.","assets_banners_color":"09293b","last_updated":"2026-04-22 23:08:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/keeal.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"keeal","date":"2026-04-22 22:50:20"},"1.0.7":{"tag":"1.0.7","author":"keeal","date":"2026-04-22 23:08:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3513267,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3513267,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3513267,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3513267,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5","1.0.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3513267,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3513267,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3513267,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"<strong>Payment settings<\/strong> \u2014 Enable Keeal, set your secret API key, webhook signing secret, and the text shoppers see at checkout.","2":"<strong>Keeal overview<\/strong> \u2014 Copy the webhook URL for the Keeal dashboard and run a quick API connectivity check.","3":"<strong>Checkout flow<\/strong> \u2014 Keeal appears as a payment method; buyers complete payment on Keeal, then return to your store while webhooks update order status."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3148,1890,260877,507,286],"plugin_category":[45],"plugin_contributors":[260878],"plugin_business_model":[],"class_list":["post-299265","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-gateway","plugin_tags-keeal","plugin_tags-payment","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-keeal","plugin_committers-keeal"],"banners":{"banner":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/banner-772x250.png?rev=3513267","banner_2x":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/banner-1544x500.png?rev=3513267","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/icon-128x128.png?rev=3513267","icon_2x":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/icon-256x256.png?rev=3513267","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/screenshot-1.png?rev=3513267","caption":"<strong>Payment settings<\/strong> \u2014 Enable Keeal, set your secret API key, webhook signing secret, and the text shoppers see at checkout."},{"src":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/screenshot-2.png?rev=3513267","caption":"<strong>Keeal overview<\/strong> \u2014 Copy the webhook URL for the Keeal dashboard and run a quick API connectivity check."},{"src":"https:\/\/ps.w.org\/keeal-for-woocommerce\/assets\/screenshot-3.png?rev=3513267","caption":"<strong>Checkout flow<\/strong> \u2014 Keeal appears as a payment method; buyers complete payment on Keeal, then return to your store while webhooks update order status."}],"raw_content":"<!--section=description-->\n<p><strong>Keeal for WooCommerce<\/strong> adds <strong>Keeal Payment<\/strong> so customers pay on Keeal\u2019s secure page, then return to your site while paid orders move to <strong>Processing<\/strong> automatically.<\/p>\n\n<p><strong>Why store owners like it<\/strong><\/p>\n\n<ul>\n<li><strong>Broad payment options<\/strong> \u2014 cards, Apple Pay, Google Pay, PayPal, and more (depends on your Keeal account and region).<\/li>\n<li><strong>Less sensitive data on your site<\/strong> \u2014 customers enter payment details on Keeal; you are not storing card numbers in WordPress.<\/li>\n<li><strong>Straightforward setup<\/strong> \u2014 turn on the gateway, add your Keeal credentials, paste the webhook URL into Keeal, and you are ready to test checkout.<\/li>\n<\/ul>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>At checkout, your store asks Keeal to start a payment for the order.<\/li>\n<li>The customer completes payment on Keeal.<\/li>\n<li>Keeal tells your store when payment is done; the order updates without you manually marking it paid.<\/li>\n<\/ol>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on <strong>Keeal<\/strong> (hosted checkout and merchant services) so customers can pay on Keeal and your store can see payment results.<\/p>\n\n<p><strong>What it is used for<\/strong><\/p>\n\n<ul>\n<li>Starting a payment for a WooCommerce order and sending the shopper to Keeal to finish checkout.<\/li>\n<li>Optional <strong>connection check<\/strong> from <strong>WooCommerce \u2192 Keeal<\/strong> so you can confirm your store can reach Keeal with your saved API key.<\/li>\n<\/ul>\n\n<p><strong>What may be sent to Keeal<\/strong><\/p>\n\n<p>When a customer checks out, your server sends <strong>HTTPS<\/strong> requests to Keeal with what is needed to collect payment\u2014for example order reference, amounts, what is being purchased, currency, billing email, and URLs to return after pay or cancel. Your <strong>API key<\/strong> is included so Keeal knows the request is from your store. If you run the optional <strong>connection check<\/strong>, a small test request is sent the same way (no full order payload for that test).<\/p>\n\n<p><strong>What comes back to your site<\/strong><\/p>\n\n<p>Keeal sends <strong>webhooks<\/strong> (notifications) to your WordPress site so order status can update when a payment completes or fails. Card details are handled on Keeal\u2019s side; this plugin does not collect or store card data in WordPress.<\/p>\n\n<p><strong>Legal links (Keeal)<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/keeal.com\/terms\">Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/keeal.com\/privacy\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<p><strong>From WordPress.org (recommended)<\/strong><\/p>\n\n<ol>\n<li>In wp-admin go to <strong>Plugins \u2192 Add New<\/strong>, search <strong>Keeal for WooCommerce<\/strong>, install, and activate.<\/li>\n<li>Ensure <strong>WooCommerce<\/strong> is installed and active.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Keeal<\/strong> (Keeal Payment), enable the gateway, and enter your <strong>Keeal secret API key<\/strong> and (recommended) <strong>webhook signing secret<\/strong>.<\/li>\n<li>Open <strong>WooCommerce \u2192 Keeal \u2192 Overview<\/strong> to copy the <strong>webhook URL<\/strong> and use <strong>Ping Keeal merchant API<\/strong> to verify connectivity.<\/li>\n<li>In the Keeal dashboard (API key \u2192 Webhook), paste the same webhook URL for the environment that matches your API key.<\/li>\n<\/ol>\n\n<p><strong>Manual zip upload<\/strong><\/p>\n\n<ol>\n<li>Upload the plugin zip under <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, then activate.<\/li>\n<li>Follow steps 2\u20135 above.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20support%20woocommerce%20cart%20%26%20checkout%20blocks%3F\"><h3>Does this support WooCommerce Cart &amp; Checkout Blocks?<\/h3><\/dt>\n<dd><p>Yes, on WooCommerce versions that support it. Classic checkout is fine too.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20the%20webhook%20url%3F\"><h3>Where do I find the webhook URL?<\/h3><\/dt>\n<dd><p><strong>WooCommerce \u2192 Keeal \u2192 Overview<\/strong> (copy field), or <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Keeal<\/strong> under <strong>Webhook endpoint<\/strong>. Example: <code>https:\/\/yoursite.com\/wp-json\/keeal-wc\/v1\/webhook<\/code>.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20keeal%3F\"><h3>What data is sent to Keeal?<\/h3><\/dt>\n<dd><p>Information needed to take a payment for the order (for example amounts, what is being purchased, currency, and billing email) is sent to Keeal over HTTPS when checkout runs. Add anything your jurisdiction requires to your privacy policy.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Readme: remove developer-only sections; shorter Description, Installation, FAQs, and External services for store owners.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>WordPress.org: add banner, icons, and screenshots; merchant-focused readme refresh; clarify Composer is only required for Git\/source installs.<\/li>\n<li>No functional code changes.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Readme: add <strong>External services<\/strong> section (Keeal API usage, data sent, webhook flow, Terms and Privacy links) for WordPress.org guidelines.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix payment settings: do not run gateway settings HTML through <code>wp_kses_post()<\/code> (it stripped password\/API inputs). Documented PHPCS exception for WC-generated markup.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Transactions list: <code>meta_key<\/code> order query with Plugin Check annotation; Plugin Check pass (ABSPATH, i18n, escaping, no redundant <code>load_plugin_textdomain<\/code>).<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Transactions list: use WooCommerce <code>meta_key<\/code> order query instead of <code>meta_query<\/code> (Plugin Check compatibility).<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Plugin Check: ABSPATH guards in all includes; fix text domain and escaping on gateway settings; remove redundant load_plugin_textdomain (WordPress.org loads translations); PHPCS annotations for safe GET usage.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release: hosted checkout redirect, REST webhooks with signature verification, HPOS compatibility, Cart &amp; Checkout Blocks payment registration.<\/li>\n<\/ul>","raw_excerpt":"Accept cards, Apple Pay, Google Pay, PayPal, and more in WooCommerce with Keeal\u2019s secure hosted checkout\u2014no card data on your server.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/299265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=299265"}],"author":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/keeal"}],"wp:attachment":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=299265"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=299265"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=299265"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=299265"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=299265"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=299265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}