Title: Ecart Pay
Author: ecartpay
Published: <strong>October 18, 2024</strong>
Last modified: August 12, 2026

---

Search plugins

![](https://ps.w.org/ecart-pay/assets/banner-772x250.png?rev=3171708)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/ecart-pay/assets/icon.svg?rev=3171710)

# Ecart Pay

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

[Download](https://downloads.wordpress.org/plugin/ecart-pay.2.1.6.zip)

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

 [Support](https://wordpress.org/support/plugin/ecart-pay/)

## Description

Ecart Pay allows online merchants to quickly and securely accept payments through
WooCommerce. With multiple payment options, this plugin is easy to set up and use,
providing an optimized experience for customers.

### Short Description

Ecart Pay is a WooCommerce plugin that integrates a custom payment gateway to facilitate
secure and efficient online transactions.

### Third-Party Services

This plugin communicates with the Ecartpay payment gateway to process transactions.
When using this plugin, certain data (such as payment details) will be sent to Ecartpay’s
servers for processing.

 * Service URL: [https://ecartpay.com](https://ecartpay.com)
 * Sandbox URL: [https://sandbox.ecartpay.com](https://sandbox.ecartpay.com)
 * Privacy Policy: [https://ecartpay.com/en/legal/privacy-policy](https://ecartpay.com/en/legal/privacy-policy)
 * Terms of Use: [https://ecartpay.com/en/legal/terms-and-conditions-generals](https://ecartpay.com/en/legal/terms-and-conditions-generals)

## Screenshots

[⌊Get your API keys:
– Go to the Ecartpay page and access Integrations > API to 
get your public and private keys.
– To test, sign up at our sandbox environment [
https://sandbox.ecartpay.com].
– If you already have a production account, log in
at [https://ecartpay.com].⌉⌊Get your API keys:
– Go to the Ecartpay page and access
Integrations > API to get your public and private keys.
– To test, sign up at our
sandbox environment [https://sandbox.ecartpay.com].
– If you already have a production
account, log in at [https://ecartpay.com].⌉[

**Get your API keys:**
 – Go to the Ecartpay page and access **Integrations > API**
to get your public and private keys. – To test, sign up at our sandbox environment[
https://sandbox.ecartpay.com]. – If you already have a production account, log in
at [https://ecartpay.com].

[⌊Configure Ecartpay in WooCommerce:
– Go to WooCommerce > Settings > Payments and
select Ecartpay as your payment method.⌉⌊Configure Ecartpay in WooCommerce:
– Go
to WooCommerce > Settings > Payments and select Ecartpay as your payment method.⌉[

**Configure Ecartpay in WooCommerce:**
 – Go to **WooCommerce > Settings > Payments**
and select **Ecartpay** as your payment method.

[⌊Configure the plugin:
– Enter the public and private keys on the plugin configuration
page (these keys are obtained from the Ecartpay page).
– Choose how you want to 
process payments:
 – Redirect the customer to the Ecartpay page.
 – Open a popup
without leaving WordPress.
– If you are in testing mode, disable Live Mode to use
the sandbox environment.⌉⌊Configure the plugin:
– Enter the public and private keys
on the plugin configuration page (these keys are obtained from the Ecartpay page).
–
Choose how you want to process payments:
 – Redirect the customer to the Ecartpay
page.
 – Open a popup without leaving WordPress.
– If you are in testing mode, disable
Live Mode to use the sandbox environment.⌉[

**Configure the plugin:**
 – Enter the public and private keys on the plugin configuration
page (these keys are obtained from the Ecartpay page). – Choose how you want to 
process payments: – Redirect the customer to the Ecartpay page. – Open a popup without
leaving WordPress. – If you are in testing mode, disable **Live Mode** to use the
sandbox environment.

[⌊Payment method in the cart:
– On the cart page, you will see the option to pay
with Ecartpay.⌉⌊Payment method in the cart:
– On the cart page, you will see the
option to pay with Ecartpay.⌉[

**Payment method in the cart:**
 – On the cart page, you will see the option to 
pay with Ecartpay.

[⌊Payment modal:
– If you select the popup option, a modal will open to complete
the payment without leaving the page.⌉⌊Payment modal:
– If you select the popup 
option, a modal will open to complete the payment without leaving the page.⌉[

**Payment modal:**
 – If you select the popup option, a modal will open to complete
the payment without leaving the page.

## Installation

 1. **Create an account:**
     To use our plugin, you first need to create an account 
    on our payment provider website. – If you want to test, sign up at our sandbox 
    environment [https://sandbox.ecartpay.com]. – If you already have a production 
    account, sign up [https://ecartpay.com].
 2. **Get API keys:**
     – Go to **Integrations > API** in your Ecartpay account. – Copy
    the **public key** and **private key**, as we will need them later.
 3. **Install the plugin:**
     – Upload the plugin to the `/wp-content/plugins/` directory,
    or install it directly from the plugins screen in WordPress.
 4. **Activate the plugin:**
     – Activate the plugin from the ‘Plugins’ screen in WordPress.
 5. **Configure the plugin:**
     – Go to the plugin settings page in **WooCommerce > 
    Settings > Payments** and select the **Ecartpay** payment method.
 6. **Configure API credentials:**
     – On the plugin configuration page, paste the copied
    keys (**public key** and **private key**) in the **API Credentials** section. –
    Choose how you want to process payments: – Redirect the customer to the Ecartpay
    page. – Open a popup without leaving WordPress. – If you are testing, make sure
    to disable **Live Mode** to enable the test environment.
 7. **Additional cash payment configuration:**
     – The **Cash On Hold** option is enabled
    by default. This holds inventory for pending cash payments. – If this option is
    checked, the order status will remain “On hold.” If unchecked, the order will be
    processed immediately.

## FAQ

### Is it compatible with WooCommerce?

Yes, this plugin is specifically designed for WooCommerce.

### Do I need to configure anything before using this plugin?

Yes, you need to enter your payment provider API credentials on the plugin settings
page.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

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

[Translate “Ecart Pay” into your language.](https://translate.wordpress.org/projects/wp-plugins/ecart-pay)

### Interested in development?

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

## Changelog

#### 2.1.6

 * Fix: Version 2.1.5 shipped with several core files empty (blank settings, checkout
   scripts and styles), causing a fatal “Class EcartPaySettings not found” and a
   broken checkout. 2.1.6 republishes the complete files. Includes all 2.1.5 features(
   installment split-rate cards, free-trial subscriptions, prohibited-products screening
   and inactive-account blocking).

#### 2.1.5

 * Feat: Installment (split-rate) plans are now shown as selectable cards across
   classic and Cart/Checkout Blocks, with the monthly amount, the plan type (“Modalidad
   de pago diferido” / “Modalidad de meses sin intereses”) and, for deferred plans,
   the total the cardholder pays (e.g. “12 pagos mensuales de $225.70 MXN — Total
   $2,708.43 MXN”).
 * Feat: Subscription sign-ups with a free trial ($0 initial order) now persist 
   the Ecart Pay parent order id and are marked as trial, so recurring renewals 
   can be charged.
 * Feat: The gateway settings can no longer be saved when the account is inactive
   or the store is flagged for prohibited products; the real Ecart Pay error is 
   shown to the admin.
 * Feat: The store description is sent to Ecart Pay so store name, URL and description
   can be screened for prohibited products.
 * Fix: Prevented a fatal “Class EcartPaySettings not found” by loading the gateway
   dependencies before the gateway class is defined (WooCommerce can instantiate
   gateways early during admin onboarding).

#### 2.1.4

 * Fix: Direct payment mode no longer surfaces WooCommerce’s generic checkout error
   when the API returns a string error code; the real API message is shown to the
   customer and logged correctly.

#### 2.1.3

 * Fix: Closing the payment popup in Cart/Checkout Blocks no longer redirects to
   the order confirmation page when payment was not completed; the customer stays
   on checkout to retry.

#### 2.1.2

 * Feat: The store is now registered with Ecart Pay automatically (on settings save
   and when an order is created), so WooCommerce stores are tracked as integrations
   in the backend.
 * Feat: A stable store identifier (`shop_id`) is derived from WooCommerce’s store
   id (with a plugin-generated fallback) and sent together with the store URL, name,
   WordPress/WooCommerce versions and the gateway settings to prevent duplicate 
   integrations.

#### 2.1.1

 * Fix: Card expiration month is now sent as a 2-character string (e.g. “05”) instead
   of an integer, resolving the backend “card.expiration_month length must be 2 
   characters long” rejection that affected cards expiring January–September.
 * Fix: Race condition where the EcartPay webhook arrived before `process_payment()`
   had stored the transaction id (now retries briefly and returns 200 to avoid a
   permanent failure on the backend side).
 * Fix: Webhook JSON response is no longer corrupted by PHP notices/warnings or 
   stray output (output buffer is flushed before `wp_send_json`).
 * Fix: Eliminated PHP 8.2+ “Creation of dynamic property” deprecation notices in`
   EcartPayGateway`, `EcartPayApi`, `EcartPaySettings`, `EcartPayOrders` and `EcartPayRefunds`.
 * Fix: Robust idempotency in `confirm_ecartpay_order` prevents double processing
   when several webhooks for the same order arrive concurrently.
 * Fix: `process_payment` in `direct` mode now tolerates intermediate backend statuses(`
   created`, `pending`, `processing`, `authorized`) and lets the webhook complete
   the transaction instead of failing the checkout.
 * Fix: Popup polling reduced from 15s to 5s so customers paying with card see the
   confirmation faster, and asynchronous methods (OXXO, bank transfer) no longer
   freeze the checkout while waiting for a payment that will happen later.
 * Fix: Safety net added on the “thank you” page that re-syncs the order status 
   with the backend if the webhook never arrived.
 * Feat: New unified card form design for `direct` mode in both classic checkout
   and Cart/Checkout Blocks (same look & feel, shared CSS).
 * Feat: Automatic card brand detection (Visa, Mastercard, AMEX) with visual feedback
   inside the input.
 * Feat: Client-side validation with Luhn algorithm, expiration date and brand-aware
   CVC length.
 * Feat: CVC field is now masked by default with a show/hide eye toggle.
 * Feat: Installments are loaded with debounce and the dropdown is hidden when no
   options apply.
 * Chore: Centralised card data extraction in a single helper to remove duplicated
   code across subscription, payment method change and standard checkout flows.

#### 2.1.0

 * Fixed registration race condition that caused the payment method to be missing
   in Cart/Checkout Blocks.
 * Fixed `woocommerce_rest_checkout_missing_payment_method` 400 error by adopting
   the canonical Blocks payment setup API and bridging Store API `payment_data` 
   into `$_POST` for the legacy `process_payment()`.
 * Default-on `enabled` flag applied when settings have never been saved (fixes 
   the gateway being hidden in Blocks for fresh installs).
 * Declared HPOS and Cart/Checkout Blocks compatibility.
 * New React-based card form for `direct` mode inside Blocks checkout.
 * Tested up to WordPress 6.8 and WooCommerce 10.7.

#### 2.0.0

 * Initial release of the Ecart Pay plugin.

## Meta

 *  Version **2.1.6**
 *  Last updated **1 week ago**
 *  Active installations **60+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.8.8**
 *  PHP version ** 7.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/ecart-pay/)
 * Tags
 * [ecommerce](https://test.wordpress.org/plugins/tags/ecommerce/)[payment gateway](https://test.wordpress.org/plugins/tags/payment-gateway/)
   [payments](https://test.wordpress.org/plugins/tags/payments/)[woocommerce](https://test.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://test.wordpress.org/plugins/ecart-pay/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ecart-pay/)