Black November: −35% on all modules until 30 November Black November: −35% until 30 November Choose a module

Get in touch
WooCommerce

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.

Download Free
Pro · one-year licence Staging copies are included. The more sites, the cheaper each one
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
Or all 421 Pro modules with All Access — 3 244 UAH / year ≈ €65

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.

Feature Free Pro
Barzahlen / viacash payment method (classic and block checkout) ✔ ✔
One slip with a barcode per order ✔ ✔
viacash overlay: the slip as PDF and the nearest stores ✔ ✔
Webhook with signature check (paid, expired, declined) ✔ ✔
"Check the status" button on the order ✔ ✔
Connection check and the viafintech sandbox ✔ ✔
Refunds as refund slips — ✔
Reminder to the buyer before the slip expires — ✔
Cancelling the order invalidates the slip — ✔
Hourly check of open slips — ✔
Webhook journal — ✔
Slip by text message and resending — ✔
Rules by order total, country and customer group — ✔

What it looks like

Cash payment at the till: the thank-you page
The thank-you page: the amount, the deadline, the nearest store and the button with the viacash slip.
Barzahlen settings
Settings: the division ID, the API key, the sandbox and the connection check.
Pro settings
Pro: text messages, reminders, automation, display rules and the webhook journal.

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

v1.0.1 Current 11 November 2026

Fixed the licence status shown after the trial: the module says the trial has ended and links to buying a licence.

v1.0.0 First release November 2026

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

All Access Need more? All modules (421) under one licence, new ones are added automatically. 3 244 UAH≈ €65 Learn more →

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

  1. In the viafintech App take the division ID and the API key (Settings / Divisions).
  2. In WooCommerce → Barzahlen enter them, keep the sandbox on and press “Check connection”, then save.
  3. Turn on “Barzahlen / viacash” in WooCommerce → Settings → Payments; on an https site the webhook address goes out with every slip.
  4. 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

  1. Plugins → Add New → Upload Plugin: choose the zip and activate it.
  2. WooCommerce → Barzahlen: division ID, API key, “Check connection”.
  3. If needed, enter the webhook address from the settings screen in the viafintech App (Notification URL).
  4. 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.

@catcode_support Setup, compatibility, activation
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.

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