
iPay.ua for WooCommerce — card payments via internet acquiring
Accept card payments in WooCommerce through iPay.ua: secure payment page, automatic confirmation with status double-check, background reconciliation, sandbox. Pro — refunds, pre-authorisation, fiscal receipts and a payment log.
- Compatibility
- WooCommerce 6.0+ · WordPress 6.2+ · PHP 7.4+
- Licence
- two sites, annual
- Trial
- 7 days, no card, one per site
- Updated
- 23.09.2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
What it looks like

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WooCommerce 6.0+ with the classic or block checkout, HPOS compatible
WordPress 6.2+ · PHP 7.4+
Store currency — Ukrainian hryvnia (UAH). With any other currency the payment method hides itself, so the customer is never charged the wrong amount.
A contract with iPay.ua and Checkout API credentials: mch_id and sign_key. Sandbox test credentials are also issued by iPay.ua.
For pre-authorisation — pre-authorisation mode enabled for your merchant in iPay.ua. For fiscal receipts — a cashier and a cash register connected in iPay.ua. For refunds on later days — access to Refund, which iPay.ua grants on request.
Version history
The fiscal receipt can no longer exceed the amount charged.
Stored access keys are now encrypted with AES-256-CBC and HMAC instead of the old XOR obfuscation, which some hosting antivirus scanners flagged and deleted.
IPay.ua payment creation with a redirect to the payment page, HMAC-SHA512 signed requests, notifications double-checked through Status, reconciliation on the customer’s return and in the…
Frequently bought with iPay.ua for WooCommerce
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — Nova Poshta for WooCommerce

Mono Acquiring — monobank card payments for WooCommerce

Telegram notifications and Viber/SMS for customers for WooCommerce
Full module description
iPay.ua for WooCommerce is a payment plugin that accepts card payments through iPay.ua internet acquiring (Checkout API). The customer goes to the secure iPay.ua page, pays with a Visa or Mastercard card, and the order in your store confirms itself. The plugin doesn’t take a notification at its word: for every one it separately asks iPay.ua for the payment status and checks the amount, so nobody can “pay” an order with a forged request.
What the customer sees
If the payment fails, the customer clicks “Return to the site” and lands on the order payment page with an explanation and the option to try again or pick another method. The order isn’t lost.
What the admin gets
- “Check credentials” — the plugin sends a signed status request for a non-existent payment. iPay.ua confirms valid credentials and rejects invalid ones, and no payment is created.
- Sandbox at sandbox-checkout.ipay.ua with the test cards from the iPay.ua documentation — you test the integration before real money moves.
- Notification URL is shown at the bottom of the settings — send it once to your iPay.ua manager, because iPay.ua configures the notification address on its side.
- Order status after payment is your choice: “Processing” or straight to “Completed”.
How it works, step by step
- At checkout the customer picks “Card payment (iPay.ua)” and places the order.
- The plugin creates a payment in iPay.ua (PaymentCreate) with the amount in kopecks, the description “Order No. …”, a unique ext_id and return links. The request is signed with your key using HMAC-SHA512.
- The customer pays on the secure iPay.ua page. Card data never passes through your site.
- iPay.ua sends a notification. The plugin checks the signature and then makes a separate Status request to iPay.ua for the real payment state — and only then updates the order. The amount from iPay.ua is compared with the order total: if less was paid, the order goes “On hold” with a note.
- The customer returns to the store — the status is checked once more, so “Order received” only appears when the money has actually arrived.
- Background reconciliation every 10 minutes picks up payments whose notification never arrived: for example, while iPay.ua hasn’t yet connected your notification URL.
- With Pro refunds are made right from the order screen: on the payment day as a cancellation (Reversal), on later days as a refund (Refund), full or partial.
Under the hood
- A notification is only a trigger. The Checkout API signature covers only the “salt”, not the notification body, so the plugin never takes the status from the request body: the order changes only on iPay.ua’s answer to a Status request. An intercepted and altered notification pays for nothing.
- Double-payment protection. The notification, the customer’s return and the background reconciliation can arrive in the same second — an atomic lock guarantees a single “payment received” note and a single stock reduction. The “Back” button after paying doesn’t create a second payment.
- Final statuses never roll back: a late “failed” response won’t turn a paid order into an unpaid one.
- The signing key is stored encrypted in the database, and re-saving the settings doesn’t corrupt it, even when the key contains special characters.
- The fiscal receipt adds up to the kopeck: lines are built from order line totals with discounts, shipping and fees, and the rounding difference is accounted for explicitly.
- Safe XML parsing with no external entities and no network requests.
- A Pro gate that doesn’t brick the store: when the trial ends, only the Pro features stop and accepting payments keeps working; after a paid license term ends, Pro keeps working and only updates and support stop.
How to install
- Plugins → Add New → Upload Plugin: choose
ipay-ua-for-woocommerce-1.0.2.zipand activate it. - Open WooCommerce → Settings → Payments → iPay.ua.
- For testing, enable “Sandbox” and enter the test Merchant ID and signing key from iPay.ua. Save and click “Check credentials”.
- Copy the notification URL from the bottom of the settings page and send it to your iPay.ua manager.
- For real payments, disable the sandbox, enter the live Merchant ID and signing key, save and check the credentials again.
- For Pro: paste the license key from the email you get after payment into the license field, or start the 7-day trial.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Do I need a contract with iPay.ua?
Yes. iPay.ua issues both live and test credentials (mch_id and sign_key).
Which currencies are supported?
Ukrainian hryvnia. If the store currency is different, the iPay.ua payment method isn't shown, so the customer is never charged the wrong amount.
The customer paid, but the order is still "Pending payment".
Background reconciliation will pick up the payment within 10 minutes. If it keeps happening, check that iPay.ua has connected the notification URL from the plugin settings.
Does card data pass through my site?
No. The card is entered on the iPay.ua page, and the plugin double-checks every payment notification with a request to iPay.ua.
What if I don't want to pay for Pro?
Accepting payments, automatic confirmation, background reconciliation and the sandbox are free with no time limit.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
