
Barzahlen / viacash for WooCommerce — cash payment at the store till
The buyer pays the order in cash at the till of a partner store with a barcode slip; the status comes back by webhook.
- Compatibility
- WordPress 6.4+ · WooCommerce 8.6+ · PHP 7.4+ · HPOS · English, Deutsch
- Licence
- a site + a staging copy, annual
- Trial
- 7 days, no card, one per site
- Updated
- 11 November 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.
Key points
What the free version does
The settings live in one place: WooCommerce → Barzahlen.
What Pro adds
Refunds from WooCommerce as a refund slip, full or partial; the refunds can never exceed what was paid, and viafintech reports when the buyer has collected the money at a till.
How much it costs
The base version is free. Pro costs 1290 UAH for a one-year licence. A year of updates, technical support and all Pro features.

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 — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.4+, WooCommerce 8.6+, PHP 7.4+.
A viafintech account with a division ID and an API key; live payments need a contract with viafintech.
A shop currency that viafintech takes for your division (usually EUR); an https site for the automatic webhook.
Version history
Fixed the licence status shown after the trial: the module says the trial has ended and links to buying a licence.
The Barzahlen / viacash payment method, a slip per order, the viacash overlay and nearest stores, a webhook with signature check, a status check, EUR and eight more currencies.
Frequently bought with Barzahlen / viacash


Unit Price Grundpreis for WooCommerce — price per 1 kg, 1 l, 1 m² next to the price

E-Invoice EN 16931 for WooCommerce — ZUGFeRD, Factur-X, XRechnung and Peppol BIS (Belgium, Slovakia) from your orders

Verpackungsmengen für LUCID (VerpackG) for WooCommerce
Full module description
Barzahlen / viacash for WooCommerce adds cash payment at the till to WooCommerce: the buyer places the order, gets a payment slip with a barcode from viacash and pays it at the till of a partner store, for example a supermarket or a drugstore. When viafintech reports the slip paid, the order moves to Processing. The module works with your own viafintech account (division ID and API key), on the classic and the block checkout, with HPOS; the interface is English and German for the DE, AT and CH markets.
What the free version does
The settings live in one place: WooCommerce → Barzahlen. Enter the division ID and the API key from the viafintech App, choose the viafintech sandbox or live mode and press “Check connection”: a signed call to viafintech shows whether the key is accepted. The API key is stored encrypted and is never printed back into the form. Every order gets one slip: the order total, the order number as reference and an expiry from 1 to 30 days (7 by default). Placing the same order again gives the same slip, a request that timed out is repeated with the same idempotency key, so there are never two slips; if the total changes, the old slip is invalidated and a new one is made. After checkout the order waits for the payment (On hold), and the thank-you page and “My account → Orders” open the viacash overlay: the slip as a PDF, the nearest stores, the slip sent to a phone; a button opens it again. When the billing address is complete, the buyer sees the three nearest partner stores. The viafintech webhook is checked with its BZ1-HMAC-SHA256 signature: a paid slip moves the order to Processing, and a paid amount that differs from the order total puts it on hold with an explanation; an expired or invalidated slip cancels the order and puts the stock back; a declined slip sets Failed; repeated webhooks change nothing. The webhook address goes out with every slip (on an https site), otherwise you enter it in the viafintech App. The “Check the status with viafintech” button on the order asks viafintech about the slip if the webhook did not arrive. The buyer identifier for viafintech is the e-mail address or the shop customer number. Currencies: EUR, CHF, BGN, CZK, HUF, PLN, RON, SEK, GBP, as your contract allows.
What Pro adds
Refunds from WooCommerce as a refund slip, full or partial; the refunds can never exceed what was paid, and viafintech reports when the buyer has collected the money at a till. Reminders: a set number of hours before the slip expires, viacash sends it to the buyer again. Cancelling the order in WooCommerce invalidates the open slip. An hourly check of open slips not heard of for 6 hours (for a missed webhook) and a “Re-check all open slips now” button. A journal of the last 200 webhooks with the outcome of each. The slip by text message to the billing phone (the international format is made from the billing country); on the order, buttons to send the slip again by e-mail or SMS, to invalidate it and to create a new slip. Rules for who sees the method: the order total from and to, billing countries, customer groups (guests included); it works on the classic and the block checkout. A German translation of the interface, a licence with a 7-day trial and updates from the admin.
Good to know before you start
- You need your own viafintech account: the division ID and the API key are in the viafintech App (Settings / Divisions). The sandbox is available right after sign-up; live payments need a contract with viafintech. The module does not do the sign-up.
- The “paid” webhook arrives after the store’s cooldown period, so some minutes after the buyer paid at the till; until then the order stays On hold.
- A site without https: viafintech does not call http addresses, so the status is updated by the “Check the status” button (Free) or by the hourly check (Pro); the settings screen shows a red warning.
- Which buyer identifier your contract expects, the e-mail address or a customer number, is set in the settings; a wrong choice gives errors from the API.
- viafintech’s limits on the amount and the number of slips per buyer apply on their side: when an order exceeds them, the buyer sees “cash payment at a store is not possible, please choose another method” and the order carries a note with the reason.
- The viacash overlay script is loaded from cdn.viafintech.com, as viafintech requires.
- The module is independent, not an official viafintech plugin and not affiliated with viafintech.
How it works, step by step
- In the viafintech App take the division ID and the API key (Settings / Divisions).
- In WooCommerce → Barzahlen enter them, keep the sandbox on and press “Check connection”, then save.
- Turn on “Barzahlen / viacash” in WooCommerce → Settings → Payments; on an https site the webhook address goes out with every slip.
- The buyer places the order, gets the slip and pays it at the till; the order moves to Processing by the webhook.
Under the hood
- Calls to API v2 are signed with the API key (HMAC-SHA256); the key itself is never sent.
- A slip is created with an Idempotency-Key header, so a repeat after a timeout gives the same slip.
- The webhook is checked by its signature and the Date header; a slip of another shop is ignored and repeats add no duplicate notes.
- The API key is stored encrypted; compatible with HPOS and the block checkout; languages: English, Deutsch (de_DE, de_AT, de_CH).
How to install
- Plugins → Add New → Upload Plugin: choose the zip and activate it.
- WooCommerce → Barzahlen: division ID, API key, “Check connection”.
- If needed, enter the webhook address from the settings screen in the viafintech App (Notification URL).
- Turn on the “Barzahlen / viacash” payment method.
The module is not on wordpress.org yet: the free version and Pro are one archive from this page. Without a key it works as the free version.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Is this an official viafintech plugin?
No. It is an independent integration made by us; Barzahlen and viacash are names of a product of viafintech GmbH.
Do I need a viafintech account?
Yes. The sandbox is available right after sign-up in the viafintech App; live payments need a contract. The module does not do the sign-up.
Why is the order On hold after checkout?
It waits for the cash payment. When viafintech reports the slip paid, the order moves to Processing; the webhook comes after the store's cooldown period, so it can take some minutes.
What happens when the buyer does not pay?
The slip expires after the number of days you set, viafintech reports it, the order is cancelled and its stock is put back.
Can I refund the buyer?
In Pro: a refund from the WooCommerce order creates a refund slip, and the buyer collects the cash at a till.
What happens after the trial?
Pro switches off, the free part keeps working.
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
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















