LiqPay is PrivatBank's payment service. When it confirms a payment on its side, the CRM verifies the callback signature, records the result on the order, and syncs its status.
How it works
Payment callback
LiqPay posts data/signature to the adapter endpoint.
Payment record
A crm_order_payments row is created with amount and status.
Status update
The order moves to "Confirmed" if it was "Pending".
Security
- Signature verification for both variants currently present in LiqPay's official callback documentation: base64 SHA3-256 in the formula and base64 SHA1 in executable examples
- No card data stored (PAN/CVV)
- The private key is used only to sign — never returned in the UI
- Tied to the order by order_id
Optional setup validation
Callbacks work as soon as the private key is saved — the test neither activates nor blocks the adapter. You can optionally generate a signed payload to check the secret and format locally without recording a payment.
Setup
- 1
Add the LiqPay adapter
Provide the private key and create the adapter. Its unique callback URL appears only on the created adapter page.
- 2
Pass the URL as server_url
Add the generated URL to server_url in every LiqPay Checkout/payment request. result_url is different: it redirects the buyer's browser.
- 3
Optionally verify locally
Generate a test payload and confirm the signature. This is a diagnostic, not a prerequisite for real callbacks.
Frequently asked questions
Is card data stored?
No. We store only the status, amount and transaction id — no PAN/CVV.
How is the right order found?
The order_id from the callback is matched to the order's externalId in the CRM.
Can the CRM create or refund a LiqPay payment?
No. This adapter only receives signed callbacks and records their result. Checkout, charges, holds, refunds and status API calls remain in the storefront or LiqPay account.
Connect LiqPay
Confirmed payment statuses sync into the order automatically.
Start for free