Kafene

Description

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.

Features:

  • Adds Kafene as a WooCommerce payment gateway.
  • Supports both the classic WooCommerce checkout and the WooCommerce Checkout block.
  • Lets merchants mark individual products or bulk-edit catalog items as Kafene-leasable.
  • Updates order status automatically based on signed webhook events from the Kafene partner API.
  • Sandbox and production environments are configurable from the gateway settings.

External services

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.

Which environment is contacted (production or sandbox) is determined by the Environment setting in WooCommerce -> Settings -> Payments -> Kafene.

Kafene Partner API

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).

What data is sent and when:

  • 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.
  • When an approved order is activated, the Kafene application/transaction ID and the order’s delivery date are sent to activate the lease.

Kafene Checkout SDK

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.

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:

  • 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).
  • The order contents: each line item’s product name, price, and quantity.
  • Order totals: shipping cost, discount total, and cart total.
  • Order identifiers and the success/cancel return URLs for your store.

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.

Service provider and legal

All of the services above are provided by Kafene.

Kafene Terms of Service: https://www.kafene.com/legal/terms-conditions
Kafene Privacy Policy: https://www.kafene.com/legal/privacy-policy

Screenshots

Installation

From the WordPress.org plugin directory

  1. In your WordPress admin, go to Plugins -> Add New.
  2. Search for “Kafene”.
  3. Click Install Now, then Activate.

Manual upload

  1. Download the latest plugin zip from your Kafene integration team or the WordPress.org page.
  2. In your WordPress admin, go to Plugins -> Add New -> Upload Plugin.
  3. Choose the downloaded zip and click Install Now.
  4. Activate the plugin on the Plugins screen.

Configuration

  1. Go to WooCommerce -> Settings -> Payments.
  2. Find Kafene in the payment list and click Manage.
  3. Enable Kafene and fill in the credentials supplied by your Kafene integration team:
    • Environment: choose Sandbox (https://staging-partner-api.kafene.com/) for testing, or Production (https://partner-api.kafene.com/) for live orders.
    • Merchant ID
    • Store ID
    • API Key
  4. The minimum order total defaults to $300 and can be left at the default value.

Minimum requirements

  • WordPress 5.5 or greater
  • WooCommerce 8.0 or greater
  • PHP 8.2 or greater
  • MySQL 5.6 or greater

FAQ

Kafene is not showing up as a payment option at checkout

Check that:

  • The shopper has a valid US shipping address. Kafene is not available in NJ, MN, or WI.
  • Every item in the cart is marked as Kafene-leasable. Kafene will not appear if the cart contains any non-leasable items.
  • Kafene is enabled under WooCommerce -> Settings -> Payments.

Where do I find my API key, merchant ID, and store ID?

You can retrieve these credentials from the Kafene merchant portal, or by contacting your Kafene integration team.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Kafene” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Kafene” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.5

  • Quality: dropped redundant files

1.0.4

  • Compatibility: bumped the “Tested up to” header to WordPress 7.0.
  • Quality: added a languages folder with a kafene.pot translation template so the Domain Path header resolves to an existing folder.
  • Quality: removed debug logging from production paths and guarded the remaining diagnostic logs behind WP_DEBUG.
  • i18n: moved HTML out of translatable admin-notice strings so only the message text is translated.

1.0.3

  • 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.
  • Security: enforced timestamp validation on incoming webhooks with a 5-minute TTL to prevent replay attacks.
  • Security: added order ownership and order-key validation across AJAX endpoints and the checkout bootstrap redirect.
  • Compatibility: added support for the WooCommerce Checkout block alongside the classic checkout shortcode.
  • Compatibility: added the Requires Plugins: woocommerce header (WordPress 6.5 and later) for a cleaner dependency message.
  • Quality: enqueued scripts now use the plugin version constant for cache busting.
  • Quality: switched the WooCommerce activation check to a multisite-safe pattern using is_plugin_active and is_plugin_active_for_network.