Title: Payment Gateway for Bachs for WooCommerce
Author: Ibrahim Nasir
Published: <strong>July 18, 2026</strong>
Last modified: July 18, 2026

---

Search plugins

![](https://ps.w.org/payment-gateway-for-bachs-for-woocommerce/assets/banner-772x250.
png?rev=3612774)

![](https://ps.w.org/payment-gateway-for-bachs-for-woocommerce/assets/icon-256x256.
png?rev=3612759)

# Payment Gateway for Bachs for WooCommerce

 By [Ibrahim Nasir](https://profiles.wordpress.org/ibrahimkh4l33l/)

[Download](https://downloads.wordpress.org/plugin/payment-gateway-for-bachs-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/payment-gateway-for-bachs-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/payment-gateway-for-bachs-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/payment-gateway-for-bachs-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/payment-gateway-for-bachs-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/payment-gateway-for-bachs-for-woocommerce/)

## Description

Payment Gateway for Bachs for WooCommerce lets your store accept payments through
[Bachs](https://bachs.io), a payments platform for internet businesses across African
markets.

📖 **Documentation and setup guide:** [ibrahim.ng/payment-gateway-for-bachs-for-woocommerce](https://ibrahim.ng/payment-gateway-for-bachs-for-woocommerce)

#### Features

 * **Hosted checkout redirect or on-site popup** — choose whether customers are 
   redirected to the Bachs hosted checkout page or pay in a Bachs modal without 
   leaving your store. No card data ever touches your server either way.
 * **Multiple payment methods** — cards, bank transfer, mobile money, and crypto
   stablecoins (USDT, USDC), all handled on the Bachs checkout.
 * **Sell in USD or NGN, get paid across Africa** — price your store in USD or NGN
   and, with Bachs Adaptive Pricing enabled, customers can pay in their own local
   currency (NGN, GHS, KES, UGX, TZS, XAF, XOF, ZMW, RWF and more). Bachs settles
   to you in USD or NGN.
 * **Webhook-verified fulfilment** — orders complete on the `collection.succeeded`
   event, with signature verification, not on the browser redirect.
 * **Failed and abandoned handling** — orders are marked failed or cancelled automatically.
 * **Refunds** — issue a refund straight from the WooCommerce order screen.
 * **Sandbox mode** — build and test against the Bachs sandbox before going live.
 * **WooCommerce Blocks** — works with both the classic and block-based checkout.
 * **HPOS compatible** — supports WooCommerce High-Performance Order Storage.

#### Requirements

 * WordPress 6.2 or higher
 * WooCommerce 8.0 or higher
 * PHP 7.4 or higher
 * An SSL certificate (required for live payments)
 * A Bachs account — sign up at [bachs.io](https://bachs.io)

### External services

This plugin connects to the Bachs API to create checkout sessions, verify payments,
and process refunds. It is required for the plugin to function.

When a customer pays with Bachs, the plugin sends the following to Bachs (`https://
api.bachs.io`, or `https://sandbox-api.bachs.io` in test mode):

 * Order reference and total amount
 * Currency
 * Customer billing details (name, email address, and phone number, when provided)
 * A product record representing the order

The customer then pays on the Bachs hosted checkout (`https://checkout.bachs.io`)—
either by redirect, or, when the Popup checkout type is selected, in a modal opened
by the Bachs checkout script (`https://checkout.bachs.io/bachs.js`) loaded on the
order-pay page. Card and payment details are handled entirely by Bachs; this plugin
never stores or processes card numbers or other sensitive payment data. Bachs also
sends signed webhook notifications back to your site to confirm payment and refund
status.

For details on how Bachs handles data, see:

 * Bachs website: https://bachs.io
 * Bachs documentation: https://docs.bachs.io
 * Bachs Privacy Policy: https://bachs.io/privacy
 * Bachs Buyer Terms: https://bachs.io/buyer-terms

## Screenshots

[⌊Bachs gateway settings in WooCommerce — checkout type, sandbox and live API keys,
and the webhook URL.⌉⌊Bachs gateway settings in WooCommerce — checkout type, sandbox
and live API keys, and the webhook URL.⌉[

Bachs gateway settings in WooCommerce — checkout type, sandbox and live API keys,
and the webhook URL.

[⌊Bachs shown as a payment option on the WooCommerce checkout.⌉⌊Bachs shown as a
payment option on the WooCommerce checkout.⌉[

Bachs shown as a payment option on the WooCommerce checkout.

[⌊The Bachs popup checkout on your store — pay by bank transfer, card or crypto,
in the customer's local currency.⌉⌊The Bachs popup checkout on your store — pay 
by bank transfer, card or crypto, in the customer's local currency.⌉[

The Bachs popup checkout on your store — pay by bank transfer, card or crypto, in
the customer’s local currency.

## Installation

 1. Upload the plugin to `/wp-content/plugins/`, or install it through **Plugins  Add
    New**.
 2. Activate the plugin.
 3. Go to **WooCommerce  Settings  Payments  Bachs**.
 4. Enable the gateway and enter your Bachs API keys (sandbox and/or live).
 5. Copy the **Webhook URL** shown on the settings screen into your Bachs developer
    portal, subscribe to the listed events, and paste the webhook signing secret back
    into the plugin.
 6. Save. Use test mode with a sandbox key to run a test payment before going live.

## FAQ

### Which currencies are supported?

Set your WooCommerce store currency to USD or NGN — these are the currencies Bachs
prices and settles in. Your customers are not limited to those, though: with Adaptive
Pricing enabled in your Bachs dashboard, shoppers across Africa can pay in their
own local currency (such as GHS, KES, UGX, TZS, XAF, XOF, ZMW and RWF), or with 
cards, bank transfer, mobile money, or crypto stablecoins (USDT, USDC), all on the
Bachs checkout. Bachs converts and settles the funds to your balance in USD or NGN.

### Do I need to configure webhooks?

Yes. Fulfilment relies on webhooks. Add the Webhook URL from the plugin settings
to your Bachs developer portal, subscribe to `collection.succeeded`, `collection.
failed`, `collection.abandoned` and `refund.paid`, and paste the signing secret 
into the plugin.

### Redirect or popup?

Under Checkout type you can choose Redirect (the customer is sent to the Bachs hosted
checkout page) or Popup (the Bachs checkout opens in a modal on your store, so the
customer never leaves your site). Both use the same secure Bachs checkout and are
confirmed by the same webhook.

### Why did my order not complete after payment?

Orders complete when Bachs delivers the signed `collection.succeeded` webhook. Confirm
your webhook URL and signing secret are set correctly, and that your site is reachable
from the internet.

### Can I refund a payment?

Yes, from the WooCommerce order screen. Note that Bachs allows a single refund per
charge, so once a charge has been refunded (fully or partially) a further refund
through Bachs is not possible.

### Does it support subscriptions?

Not in this version. This release covers one-time payments, refunds, and failed/
abandoned handling.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Payment Gateway for Bachs for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Ibrahim Nasir ](https://profiles.wordpress.org/ibrahimkh4l33l/)

[Translate “Payment Gateway for Bachs for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/payment-gateway-for-bachs-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release: hosted-checkout one-time payments, refunds, failed/abandoned
   handling, WooCommerce Blocks support, and HPOS compatibility.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [checkout](https://wordpress.org/plugins/tags/checkout/)[payment gateway](https://wordpress.org/plugins/tags/payment-gateway/)
   [payments](https://wordpress.org/plugins/tags/payments/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/payment-gateway-for-bachs-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/payment-gateway-for-bachs-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/payment-gateway-for-bachs-for-woocommerce/reviews/)

## Contributors

 *   [ Ibrahim Nasir ](https://profiles.wordpress.org/ibrahimkh4l33l/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/payment-gateway-for-bachs-for-woocommerce/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://ibrahim.ng)