</>
maximorum.com

LiqPay webhook triggers in n8n: automate payment events end to end

D

For most Ukrainian online businesses, the gap between "customer paid" and "the business reacts" is still manual. Someone opens the LiqPay dashboard, checks a transaction, marks the order as paid, copies an order number into a spreadsheet, and pings the warehouse. It works at ten orders a day. At two hundred, it leaks money: delayed shipments, missed refunds, mismatched accounting, and support tickets that start with "I paid yesterday."

The root problem is that the payment event lives in LiqPay while the rest of your operation lives in your store, CRM, and accounting tools. Every hour that gap stays manual is an hour of operational overhead and exposure to human error.

LiqPay already solves the hard part: after every transaction it sends a server-to-server callback to a URL you control, signed so you can verify it is genuine. The missing piece is something that receives that callback, validates it, and routes the event everywhere it needs to go. That is exactly what n8n does.

How the automation works

1. Create a Webhook node in n8n. It generates a public URL — this becomes your LiqPay server callback (server_url). Every paid, failed, or refunded transaction now arrives as structured data, no polling required.

2. Verify the signature. LiqPay sends data and signature fields. In a Function node, recompute base64(sha1(private_key + data + private_key)) and compare. Reject anything that does not match. This single step is what separates a real integration from a security incident.

3. Decode and branch. Parse the base64 data payload, then use a Switch node on the status field — success, reversed, failure. Each branch becomes its own workflow path.

4. Act on the event. On success: update the order status in OpenCart, WordPress (WooCommerce), or your Laravel backend via its API; write the transaction to Google Sheets or your accounting tool; trigger a confirmation email and a Telegram alert to the fulfillment team. On reversed or refunded: flag the order and notify finance automatically.

5. Make it reliable. Add a retry on the outbound API call and log every event to a datastore. If your store API is briefly down, the workflow retries instead of silently dropping a paid order.

The result is concrete: a customer pays, and within seconds the order is marked paid, the warehouse is notified, the books are updated, and the customer gets a confirmation — with no one touching a dashboard. Reconciliation at month-end becomes a query, not a day of work.

Why it matters for the business

This is not automation for its own sake. It removes a recurring operational cost, eliminates the most common source of order errors, and shortens the time between payment and shipment — which directly affects customer trust and repeat purchases. It also gives you a verifiable log of every payment event, which makes audits and dispute resolution far simpler.

We have built LiqPay, Monobank, Nova Poshta, and Ukrposhta integrations on PHP, Laravel, OpenCart, and WordPress for two decades, and webhook-driven automation with n8n is how we connect them without bolting on fragile custom code. The stack is proven, the integration points are native to the Ukrainian market, and the maintenance burden stays low.

If your team still reconciles payments by hand, that process is automatable this quarter. Tell us your current stack and order volume, and we will map the exact n8n workflow that fits.

Talk to MaxiMoruM: https://maximorum.com/

Maximus AI
Online
Привіт! Я ваш AI-асистент. Чим можу допомогти з вашим проектом?