Title: Poth Checkout for WooCommerce
Author: bytloop
Published: <strong>September 4, 2026</strong>
Last modified: September 4, 2026

---

Search plugins

![](https://ps.w.org/poth-checkout/assets/banner-772x250.png?rev=3681300)

![](https://ps.w.org/poth-checkout/assets/icon.svg?rev=3681300)

# Poth Checkout for WooCommerce

 By [bytloop](https://profiles.wordpress.org/bytloop/)

[Download](https://downloads.wordpress.org/plugin/poth-checkout.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/poth-checkout/#description)
 * [Reviews](https://wordpress.org/plugins/poth-checkout/#reviews)
 *  [Installation](https://wordpress.org/plugins/poth-checkout/#installation)
 * [Development](https://wordpress.org/plugins/poth-checkout/#developers)

 [Support](https://wordpress.org/support/plugin/poth-checkout/)

## Description

**Poth** (pronounced POTH, Bengali for “path”) is the checkout funnel builder your
WooCommerce store deserves. Multi-step checkout, order bumps, one-click post-purchase
upsells, and a custom thank-you page — self-hosted, block-native, at half the price
of CartFlows.

#### Why Poth?

WooCommerce checkout conversion averages 45–55%. Shopify’s averages 75%. The gap
isn’t the platform — it’s the checkout experience. CartFlows dominates the WooCommerce
funnel-builder market at $299/year and locks you into their template ecosystem. 
Poth ships the same core features for $99/year, is built block-first (works with
WooCommerce Cart/Checkout Blocks natively), and integrates deeply with the rest 
of the Nishchoy family.

By the makers of [Nishchoy Reviews](https://wordpress.org/plugins/nishchoy-reviews/),
[Uttor AEO](https://wordpress.org/plugins/uttor-aeo/), and [Chala Subscriptions](https://wordpress.org/plugins/chala-subscriptions/).

#### Features (free)

 * **Multi-step checkout** — split default one-page checkout into 2 or 3 pages (
   Contact  Shipping  Payment)
 * **Visual field editor** — add, remove, and reorder checkout fields
 * **Order bump** — offer a related product above the payment button (“Add this 
   too?”)
 * **Custom thank-you page** — replace default order-received with a Gutenberg-built
   page
 * **5 pre-built templates** — Minimal, Split, Sidebar, Wide, Classic
 * **Distraction-free checkout mode** — hide header, footer, sidebar
 * **Trust badges section** — upload up to 5 badges
 * **Basic conversion analytics** — checkout starts, completions, bump take rate
 * **Blocks + shortcodes** — works with classic and block themes
 * **HPOS-native**
 * **REST API** — headless-friendly
 * **WP-CLI** — `wp poth funnel list`, `wp poth stats`
 * **Import from CartFlows Free** — one-click migration
 * **Own your data** — everything in your WordPress database

#### Pro version

[Poth Pro](https://poth.bytloop.com) adds full sales funnel builder (landing  checkout
upsell  downsell  thank-you), one-click post-purchase upsells, multiple order bumps
with A/B testing, cart abandonment recovery via your own SMTP, 20+ premium templates,
exit-intent popups, countdown timers, advanced field logic, and full funnel analytics
with drop-off visualization.

#### Better with Chala Subscriptions

Poth’s one-click post-purchase upsells work with any payment gateway when [Chala Subscriptions](https://wordpress.org/plugins/chala-subscriptions/)
is installed — Stripe, PayPal, Razorpay, Mollie, Paystack, Square. Without Chala,
upsells work only with Stripe and PayPal (via WooCommerce’s native saved-card flows).

You can also offer subscription upsells at checkout: convert a one-time buyer into
a subscriber with one click.

#### Better with Nishchoy Reviews

Show top product reviews on the checkout page for social proof. Show review count
and average rating on order bump offers.

#### Better with Uttor AEO

Correct `Order`, `Offer`, and `CheckoutPage` schema output for AI search visibility.

#### Nishchoy family bundle

Get all four plugins — Reviews + Uttor + Chala + Poth — for $329/year (vs $476 separately).
Available at bytloop.com.

#### Developer-friendly

Every checkout event fires an action. Every computed value has a filter. Full REST
API. Overridable templates. See the [developer docs](https://poth.bytloop.com/docs/developers).

### External services

Poth Checkout does not contact any external service for its free features.
 Multi-
step checkout, order bumps, the thank-you page and the analytics reports all run
entirely on your own server. There is no telemetry, no usage tracking, no phone-
home, no external CDN asset and no remotely loaded font.

One optional feature does contact an external service: the post-purchase
 upsell.
If a merchant configures an upsell and a customer accepts the offer, the plugin 
has to charge the payment method that customer used moments earlier. It does that
by calling the payment provider the store is already using, with the API credentials
the merchant already entered into that provider’s own WooCommerce gateway plugin.

If no upsell is configured, or no customer accepts one, no request is ever made.

#### Stripe

What it is: Stripe is a payment provider. It is contacted only to charge a
 customer
who has just accepted a post-purchase upsell, by creating one off-session PaymentIntent
against the payment method already stored against that customer by the official 
Stripe gateway plugin.

When data is sent: once per accepted upsell offer, at the moment the customer
 accepts
it. Never on any other page load, and never in the admin.

What is sent: the amount, the currency, the Stripe customer and payment-method
 
identifiers that Stripe itself issued and the Stripe gateway plugin already stored,
a short order description, and an idempotency key. No card details pass through 
this plugin — it never renders a card field and never receives one.

Endpoint: https://api.stripe.com
 Terms of service: https://stripe.com/legal Privacy
policy: https://stripe.com/privacy

#### PayPal

What it is: PayPal is a payment provider. It is contacted only to charge a
 customer
who has just accepted a post-purchase upsell, by obtaining an OAuth token and then
creating one order against the payment method that customer already vaulted with
PayPal through the official PayPal gateway plugin.

When data is sent: once per accepted upsell offer, at the moment the customer
 accepts
it. Never on any other page load, and never in the admin.

What is sent: the amount, the currency, the PayPal vault identifier PayPal
 itself
issued, a short order description, and a request id used for idempotency. No card
details pass through this plugin.

Endpoint: https://api-m.paypal.com, or https://api-m.sandbox.paypal.com when
 the
PayPal gateway is in sandbox mode. Terms of service (PayPal Legal Agreements, including
the User Agreement): https://www.paypal.com/legalhub/home Privacy policy: https://
www.paypal.com/legalhub/privacy-full

#### If Chala Subscriptions is installed

When the Chala Subscriptions plugin is active, Poth hands the charge to Chala’s

gateway layer instead of calling a provider itself, and makes no external request
of its own at all. Whether Chala then contacts a provider, and which one, is governed
by Chala and disclosed in that plugin’s own readme.

#### Why the credentials are read from another plugin

The Stripe and PayPal credentials are read from the “woocommerce_stripe_settings”

and “woocommerce-ppcp-settings” options that those official gateway plugins already
store, rather than asking the merchant to paste a second copy of a live secret key
into another plugin. They can be overridden with the filters poth_stripe_secret_key,
poth_paypal_client_id and poth_paypal_client_secret for stores that keep credentials
in environment variables.

### Source code and build process

Every compiled file in this plugin is built from source that ships inside the
 plugin
itself, in the assets-src/ directory. Nothing is minified without its source being
included, and no code is obfuscated.

 * `build/checkout-steps.js` is built from `assets-src/checkout/checkout-steps.js`
 * `build/checkout-steps-blocks.js` is built from `assets-src/blocks/checkout-steps-
   blocks.js`
 * `build/order-bump.js` is built from `assets-src/blocks/order-bump.js`
 * `build/order-bump-checkout.js` is built from `assets-src/blocks/order-bump-checkout.
   js`
 * `build/trust-badges.js` is built from `assets-src/blocks/trust-badges.js`
 * `build/thank-you-summary.js` is built from `assets-src/blocks/thank-you-summary.
   js`
 * `build/upsell.js` is built from `assets-src/upsell/upsell.js`
 * `build/funnel-builder.js` is built from `assets-src/admin/funnel-builder.js`

#### How to rebuild them

package.json and webpack.config.js ship in the plugin as well, so build/ can be

regenerated from the plugin directory alone, with no other download:

    ```
    npm install
    npm run build
    ```

The build tool is @wordpress/scripts (webpack), the standard WordPress build
 toolchain.
The exact versions are pinned in package.json.

#### Bundled third-party library

One third-party library is compiled into a build file:

 * preact, version 10 (MIT licence) – https://github.com/preactjs/preact

It is bundled into build/funnel-builder.js only, which is the admin funnel
 builder
screen, and is used in place of React to keep that admin bundle small. It is not
used anywhere on the front end.

Every other dependency resolves at runtime to the wp.* and wc.* globals that
 WordPress
and WooCommerce already enqueue. Those are declared in the generated build/*.asset.
php dependency files rather than bundled, so no other third-party code is included
in this plugin.

There is no vendored PHP library, no bundled font, and no minified PHP. The two

payment integrations above are plain wp_remote_post() calls to documented endpoints.

### Privacy

Poth stores its analytics in your own database, in four tables prefixed
 {$wpdb-
>prefix}poth_. Nothing is sent anywhere.

Visitors are recognised across the steps of one checkout with a single
 first-party
cookie, poth_sid, holding a random 32-character token. Only a salted SHA-256 hash
of that token is ever written to the database, so the stored analytics contain no
personal data; a customer is linked to a row only by order id, and only once the
order exists. The cookie is HttpOnly, SameSite=Lax, Secure over HTTPS, and expires
after two days. No third-party cookie is set and no cross-site identifier is used.

Nothing is deleted when the plugin is uninstalled unless the merchant
 explicitly
enables “Delete everything when the plugin is deleted” in the settings, which is
off by default.

## Screenshots

[⌊An order bump on WooCommerce's block checkout, with the saving shown against the
regular price.⌉⌊An order bump on WooCommerce's block checkout, with the saving shown
against the regular price.⌉[

An order bump on WooCommerce’s block checkout, with the saving shown against the
regular price.

[⌊Multi-step checkout: contact, shipping, and payment, one step at a time.⌉⌊Multi-
step checkout: contact, shipping, and payment, one step at a time.⌉[

Multi-step checkout: contact, shipping, and payment, one step at a time.

[⌊The funnel editor.⌉⌊The funnel editor.⌉[

The funnel editor.

[⌊The template library.⌉⌊The template library.⌉[

The template library.

[⌊Funnel analytics: checkouts started, orders placed, bump take rate, and bump revenue.⌉⌊
Funnel analytics: checkouts started, orders placed, bump take rate, and bump revenue
.⌉[

Funnel analytics: checkouts started, orders placed, bump take rate, and bump revenue.

[⌊Settings.⌉⌊Settings.⌉[

Settings.

## Blocks

This plugin provides 3 blocks.

 *   Order Bump
 *   Trust Badges
 *   Thank You Summary

## Installation

 1. Go to Plugins  Add New in your WordPress admin.
 2. Search for “Poth Checkout”.
 3. Click **Install Now**, then **Activate**.
 4. Follow the setup wizard.

#### Requirements

 * WordPress 6.3 or newer
 * WooCommerce 8.0 or newer
 * PHP 7.4 or newer (8.1+ recommended)

## FAQ

### Is this really free?

Yes. Multi-step checkout, order bump (one per checkout), custom thank-you page, 
5 templates, basic analytics — all free forever. Pro adds full funnel builder, one-
click upsells, cart abandonment recovery, advanced templates, and more.

### Will this break my existing checkout?

No. Poth’s design principle is “fail safe” — if Poth encounters any error, the default
WooCommerce checkout still completes. Your customers can always finish their order.

### Does it work with the new WooCommerce Cart/Checkout Blocks?

Yes. Poth is built block-first. Multi-step splitting, field editing, and templates
all work with WooCommerce Cart/Checkout Blocks natively.

### Does it replace my current checkout?

Poth enhances your existing WooCommerce checkout. Your existing payment gateways,
shipping methods, and taxes all continue to work. Poth adds multi-step splitting,
order bumps, and (in Pro) post-purchase upsells on top.

### Can I migrate from CartFlows?

Yes. Free version includes a one-click importer for CartFlows Free funnels. Pro 
adds importing from CartFlows Pro and FunnelKit.

### How do one-click upsells work?

After checkout completes, the customer sees an offer page: “Add this product for
just $X — one click, no re-entering your card.” If they accept, we charge their 
saved payment method for the additional amount and add the product to their order.
If they decline (or the charge fails), they go directly to the thank-you page.

### Which payment gateways support one-click upsells?

 * With Chala Subscriptions installed: Stripe, PayPal, Razorpay, Mollie, Paystack,
   Square, Authorize.Net (any Chala-supported gateway).
 * Without Chala: Stripe and PayPal only, via WooCommerce’s native saved-card flows.

### Does it work with my theme?

Yes. Poth uses standard WooCommerce templates and hooks. Works with Storefront, 
Astra, Kadence, Blocksy, GeneratePress, Twenty Twenty-Five, and any properly-built
WooCommerce-compatible theme.

### Is it HPOS-compatible?

Yes. Poth is HPOS-native.

### Does it slow down my checkout?

No. Poth loads assets only on pages that need them (checkout, upsell, thank-you).
Frontend impact is minimal.

### Where can I get support?

Free support in the [wordpress.org support forum](https://wordpress.org/support/plugin/poth-checkout/).
Pro customers get email support with 24h SLA.

### I’m a developer — where are the hooks?

The hooks reference lives at [poth.bytloop.com/docs/hooks](https://poth.bytloop.com/docs/hooks)
and in `/docs/hooks.md` in the plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Poth Checkout for WooCommerce” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ bytloop ](https://profiles.wordpress.org/bytloop/)

[Translate “Poth Checkout for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/poth-checkout)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/poth-checkout/), check
out the [SVN repository](https://plugins.svn.wordpress.org/poth-checkout/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/poth-checkout/) 
by [RSS](https://plugins.trac.wordpress.org/log/poth-checkout/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [checkout](https://wordpress.org/plugins/tags/checkout/)[funnel](https://wordpress.org/plugins/tags/funnel/)
   [order bump](https://wordpress.org/plugins/tags/order-bump/)[upsell](https://wordpress.org/plugins/tags/upsell/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/poth-checkout/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/poth-checkout/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/poth-checkout/reviews/)

## Contributors

 *   [ bytloop ](https://profiles.wordpress.org/bytloop/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/poth-checkout/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://poth.bytloop.com/)