Syntopia Pay for ePay.bg
Syntopia Pay for ePay.bg

Syntopia Pay for ePay.bg

0/5 (0 ratings) — active installs Updated Nov 13, 2026
Syntopia Pay settings: merchant number, secret word and test mode.

Syntopia Pay settings: merchant number, secret word and test mode.

Syntopia Pay adds three payment methods to WooCommerce checkout, all processed by ePay.bg:

  • Card: the customer pays on the ePay.bg payment page.
  • ePay.bg account: the customer pays from their ePay.bg wallet.
  • EasyPay code: the customer gets a 10-digit code and pays it at an EasyPay office or through ePay.bg.

It is for shops in Bulgaria that have a merchant account with ePay.bg and sell in euro.

What it does:

  • Works in the classic checkout and the block checkout.
  • Marks an order paid, failed or cancelled when ePay.bg reports the result. Repeated or late messages from ePay.bg are handled safely.
  • Warns you in wp-admin and by email when a payment needs a look, for example when a customer paid twice, paid after the order was cancelled, or paid an amount that no longer matches the order.
  • Shows the EasyPay code, the amount and the date to pay by on the thank-you page, in the “on hold” email and in My account.
  • Refunds are manual: you refund in WooCommerce and in the ePay panel.
  • Works with Bulgarisation for WooCommerce.
  • An “ePay.bg” column in WooCommerce > Orders with the method, the paid invoice and a flag for payments that need a look.
  • The settings page shows when the last notification from ePay.bg arrived.
  • Prices are in euro.
  • Includes a guide in English and Bulgarian under WooCommerce > Syntopia Pay.

Syntopia Pay for ePay.bg is an independent plugin by Syntopia LTD. It is not made, endorsed or supported by ePay.bg. ePay.bg and EasyPay are trademarks of their owners.

Syntopia, the company behind the plugin, builds and maintains WooCommerce shops in Bulgaria; see syntopia.bg.

Early release

Syntopia Pay is new. Card payments already run in a live shop. The ePay.bg account and EasyPay code methods were tested on the ePay.bg demo system and by automated tests, not yet with real money. If you switch them on, make one small real payment first. The plugin grows with the shops that use it: ask questions and report anything odd in the support forum and we answer there.

External services

This plugin connects to ePay.bg, the payment service it is built for. No other outbound calls are made: no update checks, no telemetry.

www.epay.bg (live) and demo.epay.bg (test mode)

When a customer pays by card or ePay.bg account, their browser posts a payment form to https://www.epay.bg. While test mode is on, the same form goes to https://demo.epay.bg. The form carries the merchant number (MIN), the order’s invoice number (INVOICE), the amount (AMOUNT), the currency (CURRENCY), the payment deadline (EXP_TIME), a short description (DESCR) and the return links, signed with the shop’s secret. The customer’s name, email, phone and address are not sent. ePay.bg answers by showing its payment page and later reports the result to the shop (payment status and reference numbers, which are stored with the order). Terms and privacy declaration.

/ezp/reg_bill.cgi (EasyPay code)

When an EasyPay code is created, the shop’s server sends a signed request to /ezp/reg_bill.cgi on www.epay.bg (demo.epay.bg in test mode) with MIN, INVOICE, AMOUNT, CURRENCY, EXP_TIME and DESCR. ePay.bg returns the 10-digit code that the plugin shows to the customer. Terms and privacy declaration.

ePay.bg also calls the shop to report payment status. Those are incoming requests, checked against the shop’s secret.

Data kept on uninstall

Removing the plugin deletes its settings (including the secret) and temporary data. Order meta is kept, because it is the record of each payment.

Stock reservation

WooCommerce reserves stock for an unpaid order only for the time set in woocommerce_hold_stock_minutes. A card payment window can be longer, so the last unit of a product may be sold to someone else while a customer is still paying. This is an accepted risk. This applies to card and ePay.bg account payments; raise WooCommerce’s hold time or shorten the payment window if the window is longer. If the payment then arrives and there is not enough stock, the order is still completed as paid, stock may go below zero, and the shop owner gets an order note and an email to check stock before shipping.

Refunds

Refunds are manual. Create a refund on the order in WooCommerce (Refund manually), then refund the payment in the ePay panel. If you use Bulgarisation, check the credit note.