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.

Screenshots

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

Translate “Ecart Pay” into your language.

Interested in development?

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

Changelog

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.