ELEMENTARNO Ukraine for WooCommerce

Plugin Banner

ELEMENTARNO Ukraine for WooCommerce

by Mykhailo Brych

Download
Description

A Ukrainian online store on WooCommerce usually needs several separate plugins: one for card payments, one for Nova Poshta, one for receipts, one for notifications. ELEMENTARNO Ukraine for WooCommerce puts all of that in one place, with one settings page and the same logic everywhere.

Every service is a separate module. Turn on only what you actually use. A module that is off loads no code and does not slow your site down.

Payments

  • Take cards, Apple Pay and Google Pay through WayForPay, LiqPay or plata by mono. The customer pays on the bank’s secure page and comes back to your store.
  • Refund a whole order or part of it and check a payment’s status right from the order, without opening the bank’s dashboard.
  • Works with both the classic and the block checkout, with the official provider logos next to each payment method.

Shipping

  • Nova Poshta: the customer picks a city and a branch or parcel locker with suggestions as they type. The directory is kept on your site, so checkout stays fast even when the Nova Poshta API is slow.
  • Ukrposhta: your own delivery price for every shipping zone.

Receipts and notifications

  • Checkbox: a fiscal receipt (ПРРО) is created on its own as soon as an order is paid, or with one click from the order.
  • Telegram: you and your team see new orders and payments in a chat right away, and get a reminder about online orders left unpaid. Add your own order fields (chopsticks, delivery time, anything your checkout collects) and a button that opens the order.
  • TurboSMS: customers get an SMS or a Viber message when their order status changes.

Store tweaks

  • The small changes Ukrainian stores usually paste into functions.php, as switches: “300 грн” instead of “₴300.00”, whole prices without “.00”, no “(optional)” next to fields, no “Ship to a different address?”, coupons called “Промокод”, and a +380 phone mask. More to come.

Why you can trust it

  • Card details never pass through your site, and every payment notification is checked against the bank’s signature.
  • The checkout page makes no outside requests; notifications and receipts are sent in the background and never keep the customer waiting.
  • Written from scratch from the services’ official documentation, with no third-party libraries. HPOS is supported.

External services

This plugin connects to third-party services. Each connection happens only when you enable the corresponding module and enter your own credentials for that service. Nothing is sent anywhere by a module that is switched off.

WayForPay

Used by the WayForPay payment module to take card payments. When a customer pays, the order number, amount, currency, item names, quantities and prices, and the customer’s billing details (name, e-mail, phone and billing address) are sent to WayForPay (secure.wayforpay.com) along with your merchant login and a signature. When you refund or check a payment from the admin, the order reference and amount are sent to api.wayforpay.com. WayForPay sends the payment result back to your site.
Terms: https://wayforpay.com/en/terms | Public contract: https://wayforpay.com/en/oferta-page | Privacy policy: https://help.wayforpay.com/view/755229227

LiqPay (PrivatBank)

Used by the LiqPay payment module. At checkout the order number, amount, currency, an order description, the customer’s first and last name and your public key are sent to www.liqpay.ua; refunds and status checks send the order reference and amount to the LiqPay API. LiqPay sends the payment result back to your site.
Terms: https://www.liqpay.ua/en/information/terms | Privacy policy: https://privatbank.ua/en/personal-information

monobank acquiring (plata by mono)

Used by the plata by mono payment module. At checkout the order amount, currency, order reference, item names, quantities and prices, and your site’s return and callback addresses are sent to api.monobank.ua to create an invoice; refunds and status checks send the invoice id and amount. The public key used to verify monobank’s callbacks is fetched from api.monobank.ua.
Terms: https://monobank.ua/terms-monobusiness | Acquiring agreement: https://monobank.ua/pdf/acquiring-main-agreement-2023-08-01.pdf | Privacy policy: https://monobank.ua/terms

Nova Poshta

Used by the Nova Poshta shipping module. When you press “Refresh directory now” in the settings, the list of areas, cities and branches is downloaded from api.novaposhta.ua (with your API key, if you entered one). No customer data is sent: the checkout picker only reads the copy stored in your own database.
API licence: https://static.novaposhta.ua/sitecard/misc/doc/API_license_agreement.pdf | Privacy policy: https://novaposhta.ua/more/privacy-policy/

Checkbox

Used by the Checkbox module to issue fiscal receipts. When a receipt is created, your cash register license key and cashier credentials, the order’s items, quantities, prices, discounts, shipping cost, payment type and total, and, if you enable e-mail receipts, the customer’s e-mail are sent to api.checkbox.ua. Receipts are viewable at check.checkbox.ua.
Terms: https://checkbox.ua/terms/ | Privacy policy: https://checkbox.ua/policy/

Telegram

Used by the Telegram module to post order notifications. When an enabled event happens, a message built from your template (it can include the order number, total, items with their options, the customer’s name, phone, e-mail and comment, the shipping branch, and any order fields you choose to add) is sent through api.telegram.org to the chats you configured.
Terms: https://telegram.org/tos/bot-developers | Privacy policy: https://telegram.org/privacy

TurboSMS

Used by the TurboSMS module to message customers. When an order enters a status you selected, the customer’s phone number and a message built from your template (order number, status, total, customer name, shipping branch) are sent to api.turbosms.ua. The settings screen’s connection check requests your account balance.
Terms: https://turbosms.ua/en/docs.html | Privacy policy: https://turbosms.ua/en/privacy.html

  1. Install and activate the plugin. WooCommerce must be active.
  2. Open WooCommerce ELEMENTARNO and enable the modules you need.
  3. Enter the credentials: payments under WooCommerce Settings Payments, Nova Poshta under Shipping, Checkbox, Telegram and TurboSMS under Integration.
  4. For Nova Poshta, press “Refresh directory now” once and add the “Nova Poshta (ELEMENTARNO)” method to your shipping zone.
  1. The modules screen: every service is a module you switch on or off; a disabled module loads no code.

    The modules screen: every service is a module you switch on or off; a disabled module loads no code.

  2. Classic checkout with official provider and card logos next to the payment methods.

    Classic checkout with official provider and card logos next to the payment methods.

  3. Block checkout with the same payment methods and logos.

    Block checkout with the same payment methods and logos.

  4. Gateway settings: customer-facing title, checkout logos, credentials.

    Gateway settings: customer-facing title, checkout logos, credentials.

  5. Store tweaks: the snippets you used to paste into functions.php, as switches.

    Store tweaks: the snippets you used to paste into functions.php, as switches.

Does the plugin store card data?

No. Customers enter their card on the bank’s secure page; your site only learns whether the payment went through.

Which currencies are supported?

UAH, USD and EUR. If your bank contract allows another currency, it can be added with the elementarno_supported_currencies filter.

How do I test LiqPay?

Enter the sandbox_ keys from your LiqPay dashboard. The plugin notices them and switches to test mode by itself.

Is the money returned when I cancel a paid order?

Only if you turn on “Refund on cancel” in the payment method settings. Without it, cancelling changes the status only, as everywhere in WooCommerce: refund the payment with the “Refund” button in the order and choose “Refund via …”, not “Refund manually”.

I got a “New order” e-mail or message, but the order is not paid

With this plugin’s payment methods, an order paid by card is announced only after the bank confirms the payment; while the customer is still paying, the order stays “Pending payment”. Since version 2.7.0 this also holds for the first seconds of a payment, which earlier put the order on hold. In the Telegram settings you can choose to get the message right after checkout instead, with the payment status in it, and a reminder about orders that stay unpaid.

The order stays “pending payment” after a successful payment

The bank could not reach your site to report the payment. Open the order and use “Check payment status”, and the status will update. If it keeps happening, make sure your hosting or security plugin does not block outside requests.

The Nova Poshta picker does not show on my checkout

It appears right after the contact fields and works with the standard checkout and with most theme checkout builders. If your checkout layout has no contact fields, add the [elementarno_np_picker] shortcode where you want the picker.

Where do I find the Checkbox credentials?

In your Checkbox account: the cash register’s license key and the cashier’s PIN code. Your account e-mail and password are not needed.

Notifications or receipts arrive with a delay

Your hosting is most likely holding back WP-Cron. Ask your host, or switch to a real cron yourself: set DISABLE_WP_CRON to true in wp-config.php and run wp-cron.php every minute from your hosting panel.

Where do the payment logos come from?

Bank and payment service logos are their official brand files; Visa, Mastercard, Apple Pay and Google Pay logos come from WooCommerce itself. All logos belong to their owners and are only used to show the payment method. The plugin is not affiliated with any of these companies.

2.7.0

  • Card payments: while the customer is still paying (invoice created, 3-D Secure, processing), the order stays “Pending payment”. Before, it was put on hold, and WooCommerce sent the “New order” and “Order on hold” e-mails before the payment went through.
  • Telegram: choose when orders paid online are announced: only after a successful payment, or right after checkout with the payment status in the message. When the money arrives, the message is updated and a short “Order … is paid” reply follows.
  • Telegram: a reminder about online orders still not paid after 15, 30 or 60 minutes, with the customer’s name and phone.
  • Telegram: an order paid later no longer gets a second full message, and its message stays up to date when the status changes. New placeholder {payment_status}.

2.6.0

  • New option for WayForPay, LiqPay and plata by mono: “Refund on cancel”. When a paid order is cancelled, the unrefunded amount is returned to the customer automatically, with the result in the order notes. Off by default.

2.5.1

  • Security: payment references now carry a random part, and a plata by mono notification is accepted only for an invoice this store created.
  • Security: in WayForPay test mode the payment method is shown only to shop managers, and sandbox notifications can no longer touch live orders.
  • Checkbox: a receipt can no longer be issued twice when the request times out; the receipt id is chosen before the request and reused on retry.
  • Payments: a late “pending” or “failed” notification no longer reopens a cancelled or refunded order, a reversal is recorded only for money that was actually taken, and a notification and the customer’s return are processed one at a time.
  • Nova Poshta: the branch picker now searches as you type, by number, street or “поштомат”, so every branch and parcel locker in Kyiv, Lviv or Odesa can be found.
  • Nova Poshta: a directory refresh that brings back far fewer branches than before keeps the old directory instead of deleting it.
  • Telegram, TurboSMS and Checkbox retry automatically when the service is unreachable.
  • Credentials with special characters are saved as typed, and more fields are hidden in debug logs.

2.5.0

  • Telegram: a fuller default message, like the WooCommerce order e-mail: the customer’s name, phone and e-mail, items with SKU, totals with delivery, discounts and fees (gift wrapping and the like), the branch or address and the customer’s comment.
  • Telegram: new placeholders {totals}, {fees}, {address}, {date} and {site}.
  • Telegram: a “Use the default template” button for stores that saved their template earlier, and the test button now sends your latest order exactly as it will look.

2.4.1

  • Telegram: “new order” now arrives when the order is really placed, at the same moment as the WooCommerce “New order” e-mail: right after checkout for cash on delivery or bank transfer, after a successful payment for card payments. Failed or repeated online payment attempts no longer send extra messages.
  • Telegram: optional “waiting for online payment” message for orders not paid within a minute. When the customer pays, the same message turns into the new order.
  • Telegram: one message per order. If an event repeats for the same order, the first message is updated instead of a new one being sent.

2.4.0

  • Telegram: add any order field to the message. The settings page finds the fields your recent orders carry (chopsticks, delivery time, gift note…) and adds them with one click; {meta:key} prints any single field.
  • Telegram: an “Open order” button under each message and an {order_url} placeholder.
  • Telegram: product options such as size or add-ons are shown next to each item; new {note} placeholder for the customer’s comment; lines with nothing to show are left out.
  • The Settings link of a module you just switched on appears right after saving, without reloading the page.

2.3.1

  • Nothing is switched on after activation any more; pick the modules you need on WooCommerce ELEMENTARNO.

2.3.0

  • New “Store tweaks” module: common functions.php snippets as switches. “300 грн” instead of “₴300.00”, whole prices without “.00”, hidden “(optional)” labels, billing address only, coupons renamed to “Промокод”, +380 phone mask with validation.
  • Clearer plugin description.
  • The modules screen links to the WordPress.org support forum.

2.2.0

  • First public release on WordPress.org.
Back to top