Title: EtchCon Checkout for Bachs
Author: Etchpoint
Published: <strong>September 25, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/etchcon-checkout-for-bachs/assets/banner-772x250.png?rev=3712917)

![](https://ps.w.org/etchcon-checkout-for-bachs/assets/icon-256x256.png?rev=3712917)

# EtchCon Checkout for Bachs

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

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

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

 [Support](https://wordpress.org/support/plugin/etchcon-checkout-for-bachs/)

## Description

EtchCon Checkout for Bachs connects supported WordPress commerce, membership, form,
and donation plugins to Bachs hosted checkout.

EtchCon Checkout for Bachs is independently developed by Etchpoint and is not affiliated
with or endorsed by Bachs Technologies Limited.

Version 1.0.0 supports one-time payments for:

 * WooCommerce
 * Paid Memberships Pro
 * Gravity Forms
 * Fluent Forms Pro payment forms
 * GiveWP

The plugin uses a shared payment core with exact amount verification, signed webhook
verification, event deduplication, safe fulfillment, reconciliation tools, diagnostics,
and provider-confirmed refunds.

Customers are redirected to Bachs hosted checkout to enter payment details. The 
plugin does not collect or store full card numbers, CVV/CVC values, or other raw
card credentials.

Recurring payments and subscriptions are not included in version 1.0.0.

### Configuration

Bachs Payments > Settings provides one shared configuration for WooCommerce, Paid
Memberships Pro, Gravity Forms, Fluent Forms, and GiveWP.

The active environment requires:

 * A matching Bachs secret API key (`sk_sandbox_...` for Sandbox or `sk_live_...`
   for Live).
 * The active Bachs webhook signing secret.

The settings screen also supports an optional previous webhook secret during secret
rotation and an optional organization ID for stricter provider verification.

For sites that prefer secret management through `wp-config.php`, the following constants
remain supported and take precedence over dashboard values when defined:

 * `ETCHPOINT_BACHS_ENVIRONMENT` – `sandbox` or `live`.
 * `ETCHPOINT_BACHS_SANDBOX_SECRET_KEY` – sandbox secret key.
 * `ETCHPOINT_BACHS_LIVE_SECRET_KEY` – live secret key.
 * `ETCHPOINT_BACHS_WEBHOOK_SECRET` – active webhook signing secret.
 * `ETCHPOINT_BACHS_WEBHOOK_SECRET_PREVIOUS` – previous webhook secret during secret
   rotation.
 * `ETCHPOINT_BACHS_ORGANIZATION_ID` – optional organization identifier.

Dashboard-managed secret values are stored in the WordPress options table and are
never displayed back in plaintext after saving. They are deleted when the plugin
is uninstalled. Financial/audit records remain retained as described below.

Live payments require HTTPS.

### Refunds

Administrators can request Bachs refunds from Bachs Payments > Refunds.

Full refunds are supported. Partial refunds are supported when the Bachs settlement
currency matches the original WordPress transaction currency. If Bachs settled the
charge in a different currency, use a full refund so the plugin does not guess an
exchange rate. Bachs currently permits one refund operation per charge, so a partial
refund consumes the refund operation for that charge.

A refund is not treated as complete merely because the API accepted the request.
The plugin waits for signed provider evidence confirming the refund before applying
the corresponding local refund state.

### Reconciliation and diagnostics

Bachs Payments > Reconciliation can safely re-check provider state and retry incomplete
WordPress fulfillment.

Bachs Payments > Diagnostics provides read-only configuration and integration checks.
Secret values and full provider responses are not displayed.

### External Service

This plugin requires Bachs, a third-party payment service provided by Bachs Technologies
Limited. The plugin contacts Bachs only when a configured administrator or customer
uses functionality that requires the payment service, such as creating or retrieving
checkout sessions, verifying payments, requesting refunds, or receiving Bachs webhooks.

Bachs service: https://bachs.io/

Bachs Merchant Terms: https://bachs.io/buyer-terms

Bachs Privacy Policy: https://bachs.io/privacy

Bachs developer documentation: https://docs.bachs.io/

Service endpoints used by the plugin:

 * Sandbox API: https://sandbox-api.bachs.io
 * Live API: https://api.bachs.io
 * Hosted checkout: https://checkout.bachs.io

A Bachs merchant account and applicable Bachs service access are required to process
payments. Bachs may charge fees under its own terms and pricing. Etchpoint does 
not control Bachs availability, eligibility decisions, fees, settlement, or payment
processing rules.

### Data sent to Bachs

For checkout creation, the plugin sends the transaction currency and amount, success
and cancel return URLs, an opaque payment reference, correlation metadata identifying
the WordPress integration and local transaction record, and customer contact information
required for hosted checkout. This includes the customer email address and can include
the customer name and phone number when available from the originating integration.

Payment details entered by the customer on hosted checkout are submitted directly
to Bachs rather than to this plugin.

When an administrator initiates a refund, the plugin sends the Bachs charge identifier,
requested refund amount, internal reference/idempotency information, and an optional
administrator-entered refund reason.

The plugin also retrieves payment or refund records from Bachs when verification,
reconciliation, diagnostics, or webhook processing requires authoritative provider
state.

### Local data and privacy

The plugin stores operational payment records in custom WordPress database tables.
These records can include the integration name, local WordPress record identifier,
Bachs checkout/charge/refund identifiers, amount, currency, processing status, timestamps,
error information, and an optional refund reason.

For webhook deduplication and audit processing, the plugin stores provider event
identifiers and a SHA-256 hash of the webhook payload. It does not persist the complete
raw webhook payload.

The plugin does not store raw card credentials.

Payment, webhook, reconciliation, and refund records are intentionally retained 
when the plugin is uninstalled. They can be important financial and audit records
and are not automatically deleted. Site owners are responsible for retention and
deletion in accordance with their legal and operational requirements.

Because local transaction identifiers can link these records to orders, memberships,
form submissions, or donations managed by other plugins, those integrations may 
contain personal data under their own retention policies.

## Installation

 1. Upload the plugin ZIP through Plugins > Add New > Upload Plugin, or install it 
    from the WordPress Plugin Directory when available.
 2. Activate EtchCon Checkout for Bachs.
 3. Open Bachs Payments > Settings and choose Sandbox or Live.
 4. Enter the matching Bachs secret API key and webhook signing secret, then save.
 5. Copy the webhook endpoint shown on the settings screen into your Bachs webhook 
    configuration.
 6. Subscribe the endpoint to `collection.succeeded`, `collection.failed`, `collection.
    underpaid`, `checkout.expired`, `refund.created`, `refund.paid`, and `refund.failed`.
 7. Enable Bachs in the supported WordPress integration you want to use.
 8. Use sandbox mode first and confirm checkout, webhook completion, and reconciliation
    before switching to live mode.

## FAQ

### Do I need a Bachs account?

Yes. Bachs provides the external payment service used by this plugin.

### Does the plugin store card details?

No. Customers enter payment details on Bachs hosted checkout. This plugin does not
store full card numbers or CVV/CVC values.

### Can I use sandbox mode?

Yes. Sandbox is the default environment. Choose Sandbox under Bachs Payments > Settings
and use the matching sandbox secret key and webhook configuration.

### What happens if Bachs confirms payment but WordPress fulfillment fails?

The payment remains recorded and can be safely rechecked from Bachs Payments > Reconciliation.
The reconciliation flow verifies provider state before retrying local fulfillment.

### Are recurring payments supported?

No. Version 1.0.0 is limited to one-time payment flows.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

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

[Translate “EtchCon Checkout for Bachs” into your language.](https://translate.wordpress.org/projects/wp-plugins/etchcon-checkout-for-bachs)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial public release.
 * Added one-time Bachs hosted checkout integrations for WooCommerce, Paid Memberships
   Pro, Gravity Forms, Fluent Forms Pro, and GiveWP.
 * Added signed webhook verification, deduplication, reconciliation, diagnostics,
   and refund support.

## Meta

 *  Version **1.0.0**
 *  Last updated **19 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [donations](https://wordpress.org/plugins/tags/donations/)[forms](https://wordpress.org/plugins/tags/forms/)
   [memberships](https://wordpress.org/plugins/tags/memberships/)[payments](https://wordpress.org/plugins/tags/payments/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/etchcon-checkout-for-bachs/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

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