{"id":325730,"date":"2026-07-07T10:45:40","date_gmt":"2026-07-07T10:45:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kafene\/"},"modified":"2026-07-07T10:45:04","modified_gmt":"2026-07-07T10:45:04","slug":"kafene","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kafene\/","author":23455215,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.0","requires":"5.5","requires_php":"8.2","requires_plugins":null,"header_name":"Kafene","header_author":"Kafene","header_description":"Enable Kafene Checkout for WooCommerce","assets_banners_color":"","last_updated":"2026-07-07 10:45:04","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/kafene.com\/","header_plugin_uri":"https:\/\/sdk.kafene.com\/docs\/setup-guide","header_author_uri":"https:\/\/kafene.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"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":"kjohnston09","date":"2026-07-07 10:45:04"}},"upgrade_notice":{"1.0.4":"<p>WordPress 7.0 compatibility and packaging fixes for WordPress.org submission. No merchant configuration changes required.<\/p>","1.0.3":"<p>Security and compatibility release. WordPress.org submission readiness fixes; no merchant configuration changes required.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3598887,"resolution":"1","location":"assets","locale":"","width":2478,"height":1306},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3598887,"resolution":"2","location":"assets","locale":"","width":1550,"height":1252},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3598887,"resolution":"3","location":"assets","locale":"","width":2590,"height":1306},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3598887,"resolution":"4","location":"assets","locale":"","width":2170,"height":1368},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3598887,"resolution":"6","location":"assets","locale":"","width":1920,"height":1080},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3598887,"resolution":"7","location":"assets","locale":"","width":2590,"height":1166}},"screenshots":{"1":"WooCommerce -&gt; Settings -&gt; Payments -&gt; Manage to configure the Kafene gateway.","2":"Set the environment to staging-partner-api.kafene.com for development and testing.","3":"Order cancellation flow inside the order edit screen.","4":"Item-level cancellation flow.","5":"Bulk action to mark multiple products as leasable or non-leasable.","6":"Mark a single product as leasable from the product edit screen."}},"plugin_section":[],"plugin_tags":[3148,282,270452,1887,286],"plugin_category":[45],"plugin_contributors":[270453],"plugin_business_model":[],"class_list":["post-325730","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-ecommerce","plugin_tags-lease-to-own","plugin_tags-payments","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kafene","plugin_committers-kjohnston09"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/kafene.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-1.png?rev=3598887","caption":"WooCommerce -&gt; Settings -&gt; Payments -&gt; Manage to configure the Kafene gateway."},{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-2.png?rev=3598887","caption":"Set the environment to staging-partner-api.kafene.com for development and testing."},{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-3.png?rev=3598887","caption":"Order cancellation flow inside the order edit screen."},{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-4.png?rev=3598887","caption":"Item-level cancellation flow."},{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-6.png?rev=3598887","caption":"Mark a single product as leasable from the product edit screen."},{"src":"https:\/\/ps.w.org\/kafene\/assets\/screenshot-7.png?rev=3598887","caption":""}],"raw_content":"<!--section=description-->\n<p>Kafene adds a lease-to-own payment method to WooCommerce checkout. When a shopper selects Kafene at checkout, they are guided through Kafene's hosted approval and signing flow, and the order is updated automatically based on the outcome.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Adds Kafene as a WooCommerce payment gateway.<\/li>\n<li>Supports both the classic WooCommerce checkout and the WooCommerce Checkout block.<\/li>\n<li>Lets merchants mark individual products or bulk-edit catalog items as Kafene-leasable.<\/li>\n<li>Updates order status automatically based on signed webhook events from the Kafene partner API.<\/li>\n<li>Sandbox and production environments are configurable from the gateway settings.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on services provided by Kafene to deliver the lease-to-own checkout experience. The plugin cannot function without them. By installing and using the plugin you, and the shoppers who choose Kafene at checkout, agree to Kafene's terms of service and privacy policy linked at the end of this section.<\/p>\n\n<p>Which environment is contacted (production or sandbox) is determined by the Environment setting in WooCommerce -&gt; Settings -&gt; Payments -&gt; Kafene.<\/p>\n\n<h4>Kafene Partner API<\/h4>\n\n<p>What it is: Kafene's partner API, used to authenticate your store and to activate approved leases. It is contacted at https:\/\/partner-api.kafene.com (production) or https:\/\/staging-partner-api.kafene.com (sandbox).<\/p>\n\n<p>What data is sent and when:<\/p>\n\n<ul>\n<li>When the gateway needs to authenticate with Kafene, your store's Merchant ID and API key are sent to obtain a short-lived access token.<\/li>\n<li>When an approved order is activated, the Kafene application\/transaction ID and the order's delivery date are sent to activate the lease.<\/li>\n<\/ul>\n\n<h4>Kafene Checkout SDK<\/h4>\n\n<p>What it is: Kafene's hosted JavaScript checkout SDK, which renders and runs Kafene's lease approval and signing flow. The SDK is operated by Kafene and is loaded (its JavaScript and CSS) from Kafene's SDK host at https:\/\/prod-kafene-sdk.neio.ai (production) or https:\/\/qa-kafene-sdk.neio.ai (sandbox), selected by the Environment setting. The plugin loads this remote code in the shopper's browser only on the WooCommerce checkout page, and only when the shopper chooses Kafene as the payment method.<\/p>\n\n<p>What data is sent and when: When a shopper selects Kafene and proceeds at checkout, the plugin passes the current order's details to the SDK, which transmits them to Kafene to start the lease application. This includes:<\/p>\n\n<ul>\n<li>The shopper's billing and shipping contact details: first and last name, email address, phone number, and full address (street, city, state, ZIP\/postal code, and country).<\/li>\n<li>The order contents: each line item's product name, price, and quantity.<\/li>\n<li>Order totals: shipping cost, discount total, and cart total.<\/li>\n<li>Order identifiers and the success\/cancel return URLs for your store.<\/li>\n<\/ul>\n\n<p>In addition, during Kafene's hosted approval and signing flow the shopper may provide further personal and financial information directly to Kafene (for example, details required to verify identity and underwrite the lease). That information is collected and processed by Kafene under its own terms and privacy policy.<\/p>\n\n<h4>Service provider and legal<\/h4>\n\n<p>All of the services above are provided by Kafene.<\/p>\n\n<p>Kafene Terms of Service: https:\/\/www.kafene.com\/legal\/terms-conditions\nKafene Privacy Policy: https:\/\/www.kafene.com\/legal\/privacy-policy<\/p>\n\n<!--section=installation-->\n<h4>From the WordPress.org plugin directory<\/h4>\n\n<ol>\n<li>In your WordPress admin, go to Plugins -&gt; Add New.<\/li>\n<li>Search for \"Kafene\".<\/li>\n<li>Click Install Now, then Activate.<\/li>\n<\/ol>\n\n<h4>Manual upload<\/h4>\n\n<ol>\n<li>Download the latest plugin zip from your Kafene integration team or the WordPress.org page.<\/li>\n<li>In your WordPress admin, go to Plugins -&gt; Add New -&gt; Upload Plugin.<\/li>\n<li>Choose the downloaded zip and click Install Now.<\/li>\n<li>Activate the plugin on the Plugins screen.<\/li>\n<\/ol>\n\n<h4>Configuration<\/h4>\n\n<ol>\n<li>Go to WooCommerce -&gt; Settings -&gt; Payments.<\/li>\n<li>Find Kafene in the payment list and click Manage.<\/li>\n<li>Enable Kafene and fill in the credentials supplied by your Kafene integration team:\n\n<ul>\n<li>Environment: choose Sandbox (https:\/\/staging-partner-api.kafene.com\/) for testing, or Production (https:\/\/partner-api.kafene.com\/) for live orders.<\/li>\n<li>Merchant ID<\/li>\n<li>Store ID<\/li>\n<li>API Key<\/li>\n<\/ul><\/li>\n<li>The minimum order total defaults to $300 and can be left at the default value.<\/li>\n<\/ol>\n\n<h4>Minimum requirements<\/h4>\n\n<ul>\n<li>WordPress 5.5 or greater<\/li>\n<li>WooCommerce 8.0 or greater<\/li>\n<li>PHP 8.2 or greater<\/li>\n<li>MySQL 5.6 or greater<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"kafene%20is%20not%20showing%20up%20as%20a%20payment%20option%20at%20checkout\"><h3>Kafene is not showing up as a payment option at checkout<\/h3><\/dt>\n<dd><p>Check that:<\/p>\n\n<ul>\n<li>The shopper has a valid US shipping address. Kafene is not available in NJ, MN, or WI.<\/li>\n<li>Every item in the cart is marked as Kafene-leasable. Kafene will not appear if the cart contains any non-leasable items.<\/li>\n<li>Kafene is enabled under WooCommerce -&gt; Settings -&gt; Payments.<\/li>\n<\/ul><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20api%20key%2C%20merchant%20id%2C%20and%20store%20id%3F\"><h3>Where do I find my API key, merchant ID, and store ID?<\/h3><\/dt>\n<dd><p>You can retrieve these credentials from the Kafene merchant portal, or by contacting your Kafene integration team.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Quality: dropped redundant files<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Compatibility: bumped the \"Tested up to\" header to WordPress 7.0.<\/li>\n<li>Quality: added a languages folder with a kafene.pot translation template so the Domain Path header resolves to an existing folder.<\/li>\n<li>Quality: removed debug logging from production paths and guarded the remaining diagnostic logs behind WP_DEBUG.<\/li>\n<li>i18n: moved HTML out of translatable admin-notice strings so only the message text is translated.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Security: Kafene bearer token is no longer exposed in the page-level frontend configuration. It is now minted on demand by a nonce-guarded AJAX endpoint (order ownership + order-key + Kafene payment-method gate) and injected into the SDK via kafene.overrideConfig() immediately before kafene.checkout.load(), keeping the credential off non-checkout views and out of view-source.<\/li>\n<li>Security: enforced timestamp validation on incoming webhooks with a 5-minute TTL to prevent replay attacks.<\/li>\n<li>Security: added order ownership and order-key validation across AJAX endpoints and the checkout bootstrap redirect.<\/li>\n<li>Compatibility: added support for the WooCommerce Checkout block alongside the classic checkout shortcode.<\/li>\n<li>Compatibility: added the Requires Plugins: woocommerce header (WordPress 6.5 and later) for a cleaner dependency message.<\/li>\n<li>Quality: enqueued scripts now use the plugin version constant for cache busting.<\/li>\n<li>Quality: switched the WooCommerce activation check to a multisite-safe pattern using is_plugin_active and is_plugin_active_for_network.<\/li>\n<\/ul>","raw_excerpt":"Kafene offers a lease-to-own payment solution for your WooCommerce store. Getting started with Kafene is quick and easy.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/325730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=325730"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kjohnston09"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=325730"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=325730"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=325730"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=325730"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=325730"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=325730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}