Securely accept payments in Magento 2 with COPYandPAY, now with support for Visa, Mastercard, Ecocash, OneWallet, and Zimswitch in both USD and ZWG currencies. Our integration embeds a hosted payment widget to reduce your PCI compliance scope to SAQ-A, lowering your security burden. Benefit from a reliable 3-step flow (checkoutId & secure status retrieval), configurable sandbox/production modes, detailed debug logging, and auto-cancellation of stale orders.
Accept payments via Visa, Mastercard, Ecocash, OneWallet, and Zimswitch.
Process transactions seamlessly in both USD and ZWG currencies.
Lower compliance burden with a hosted payment widget for PCI SAQ-A alignment.
Utilize a secure 3-step flow: prepare checkout (checkoutId), render widget, and get status.
Full admin control with sandbox/production modes, debug logging, and brand display.
Automatically cancel pending orders after a configurable timeout.


Free Support
up to 60 days


Free Upgrades
up to 1 year


Fully open source
Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition
The Magento 2 COPYandPAY Integration provides a secure, seamless, and versatile payment solution for your eCommerce store. By embedding a hosted widget directly into your checkout, this extension allows you to accept payments from major international and regional providers including Visa, Mastercard, Ecocash, OneWallet, and Zimswitch in both USD and ZWG currencies.
It keeps sensitive card data away from your Magento server, dramatically reducing your PCI compliance scope to SAQ-A standards and shortening implementation time. The flow is intentionally simple: generate a checkoutId from the server, render the payment widget on the storefront, and retrieve the final payment status server-side to finalize the order.
Localized Payment Options: Expand your reach by offering customers their preferred payment methods. Our integration supports international cards like Visa and Mastercard alongside essential regional services like Ecocash, OneWallet, and Zimswitch, with full support for USD and ZWG currencies.
Lower PCI Scope: The hosted widget handles all sensitive card entry and 3-D Secure steps, not your Magento server. This aligns with SAQ-A compliance requirements and significantly reduces security overhead.
Faster Go-Live: Simply embed a single script and a form to render one or more payment brand inputs. The widget reliably manages the user experience and complex authentication challenges for you.
Stable and Secure Buyer Experience: Multiple brand forms can be rendered to match promotional goals or separate card families, while a single, secure status retrieval path keeps the order flow consistent and reliable.
Prepare the Checkout (Server-to-Server): Magento securely posts order details (amount, currency, order type) to the payment provider and receives a unique checkoutId. This short-lived token is required to render the payment widget on the storefront.
Render the Payment Widget (Storefront): The checkout page uses the checkoutId to display one or more payment forms. The hosted widget collects payment data, performs any required 3-D Secure steps, and handles the user interaction securely.
Get the Payment Status (Server-to-Server): After the customer is redirected to your configured result URL with a resourcePath, Magento performs an authenticated server-side GET request to retrieve the final payment status. The order is then moved to the correct state (e.g., Processing) and the transaction ID is recorded.
The customer's checkout experience is designed to be simple, secure, and intuitive.
At checkout, the customer selects COPYandPAY as their preferred payment method.
Upon proceeding, the Magento site securely generates a checkoutId and embeds the payment widget directly on the page, displaying options for Visa, Mastercard, Ecocash, OneWallet, or Zimswitch.
The customer enters their payment details into the secure, hosted widget, completes any required 3-D Secure prompts, and submits the payment.
After submission, the customer is redirected to a confirmation page while Magento validates the payment status server-side, confirming a successful transaction and moving the order to the Processing state.
PCI SAQ‑A Friendly: The widget captures card data; Magento never stores raw card details. This lowers compliance scope and reduces risk.
3‑D Secure 2 Ready: Challenges are handled by the provider; Magento processes authenticated results reliably via server‑side status calls.
Safer Production Ops: Clear state transitions and audit‑friendly logs make payment investigations faster and more accurate.
Accept payments via Visa, Mastercard, Ecocash, OneWallet, and Zimswitch.
Process transactions seamlessly in both USD and ZWG currencies.
Reduce PCI compliance scope to SAQ-A with a secure, embedded payment widget.
Natively supports 3-D Secure 2 challenges handled by the provider.
Utilizes a secure, three-step flow: prepare checkout, render widget, and get status.
Offers full admin control to display payment brands in single or multiple forms.
Includes sandbox and production modes for safe testing and deployment.
Features a debug mode toggle for comprehensive request and response logging.
Ensures security by masking sensitive card data in all logs.
Provides an audit trail for all payment-related actions for faster support.
Automatically cancels stale or abandoned orders via a configurable cron job.
Fully compatible with multi-store and multi-website Magento setups.
We offer 60 days of free support and 12 months of free upgrade for any standard Magento site when you buy this extension. You can also get our installation service for a small fee. If you want more benefits, you can purchase our 12 months of free premium support and free lifetime upgrade package. Please contact us if you need any assistance or customization for this extension. We will reply to you within 48 hours. We may also offer you a special deal or a free solution if we like your idea.
Step 2: Next, run the config commands shown on the top of the page then click on the extension that you want to install. A composer require command will be revealed in the dropdown menu. Run the command then clear caches to complete the installation.
- Fixed issues with crons
- Improved the consistency of linking TTS orders with Magento orders
- Fixed issues related to shipment inventory source