What does this plugin do?
i3 Cpay Payment Gateway for WooCommerce is a WooCommerce plugin that adds Cpay (the payment gateway from the Macedonian provider CaSys) as a payment method at checkout. Customers pay on Cpay’s hosted payment page; the plugin handles the redirect, signs the request with SHA-256, and validates the response before marking the order as paid.
Main capabilities:
- Cpay as a payment method — appears at checkout alongside other WooCommerce gateways
- SHA-256 HMAC encryption — each payment request and return is signed and verified with your secret key
- Automatic redirect — after placing an order, the customer is sent to Cpay without extra clicks (can be turned off)
- Payment page language — Macedonian, English, Bulgarian, or Albanian on the Cpay form
- Currency conversion — if the store uses another currency (e.g. EUR), an exchange rate converts the total to MKD for Cpay (rounded up to the nearest)
- Classic and Blocks checkout — works with the standard WooCommerce checkout and the Checkout Block
- Failed payment handling — if payment fails or is cancelled, the customer is returned to checkout with an error notice
The plugin does not support automatic refunds through the gateway; refunds must be handled manually via Cpay or your bank.
How to administer the plugin
1. Find the settings page
After activating the plugin, go to your WordPress admin dashboard and open:
WooCommerce → Settings → Payments → Cpay Payment Gateway
(Click Manage next to the gateway name.)
2. Turn the gateway on
Tick Enable Cpay Payment Gateway. If this is left unchecked, Cpay will not appear at checkout.
3. Configure the gateway
| Setting | What it does |
|---|---|
| Title | The name customers see at checkout. Default: Cpay Payment. |
| Description | Short text shown under the payment method at checkout. Default: Pay securely via Cpay. |
| Merchant Name | Your merchant name as provided by Cpay/CaSys. |
| Merchant Code | Your merchant code as provided by Cpay/CaSys. |
| Secret Key (SHA-256) | The SHA-256 secret key from Cpay, used to sign payment requests and verify responses. For testing, use TEST_PASS. |
| Payment Page Language | Language of the Cpay payment form: Macedonian (mk-MK), English (en-US), Bulgarian (bg-BG), or Albanian (sq-AL). Default: Macedonian. |
| Exchange Rate (MKD) | Multiplier to convert the order total to MKD when the store currency is not MKD. Use 1 if prices are already in MKD. Example: 61.5 if the store is in EUR. |
| Auto Redirect to Cpay | When enabled, the customer is redirected to Cpay automatically after checkout. When disabled, a Pay Now button is shown on the order receipt page instead. Default: enabled. |
| Simple mode form for Cpay | When enabled, sends the simplified Cpay payment form (isSimple). Default: enabled. |
4. Get your Cpay credentials
Contact Cpay/CaSys support or your bank payment processor to obtain Merchant Name, Merchant Code, and Secret Key (SHA-256). Use TEST_PASS as the secret key only for test transactions.
5. Save your changes
Click Save changes at the bottom of the page. The gateway is available at checkout immediately after it is enabled and credentials are saved.
6. Disabling the gateway
Uncheck Enable Cpay Payment Gateway and save to hide Cpay at checkout without uninstalling the plugin.
How it behaves for customers
- The customer selects Cpay Payment at checkout and completes the order.
- WooCommerce creates the order and redirects the customer to the Cpay payment step.
- The plugin builds a signed payment form (order total, billing details, return URLs) and submits it automatically to vpos.cpay.com.mk.
- The customer enters card details on the Cpay hosted page in the language you configured.
- On successful payment, Cpay redirects back to your site; the plugin verifies the SHA-256 checksums and marks the order as paid. The customer is sent to the order confirmation page.
- On failed or cancelled payment, the customer is returned to checkout with an error message and can try again.
- If Auto Redirect is off, the customer sees a Pay Now button on the receipt page and must click it to go to Cpay.
Notes
- WooCommerce required — the plugin will not activate without WooCommerce.
- HPOS compatible — works with WooCommerce High-Performance Order Storage (custom order tables).
- Amount sent to Cpay is always in MKD; use the exchange rate when your shop displays another currency.
- Security — return data from Cpay is validated with four checksum checks before the order status is updated.
- No automatic refunds — process refunds manually through Cpay or your processor.
- Translation-ready — the plugin ships with English source text and Macedonian, Bulgarian, and Albanian translations via the languages folder.
- This plugin was created with the help of Artificial Intelligence (AI). It is free to use, modify, and redistribute without requiring permission from the author. Use it at your own risk — always create a backup before testing or activating it on a live site.