Monobank processes the invoice payment on its side. The CRM receives status-change webhooks, verifies the ECDSA signature and records the result; it is not an invoice creation or management module.
How it works
Invoice webhook
Monobank posts the invoice status with an x-sign header 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
- ECDSA/SHA-256 signature verified against Monobank's public key
- The public key is fetched once and cached, refreshed only on failure
- No card data stored (PAN/CVV) — only amount, status and invoice id
- Tied to the order by the invoice reference
Optional account check
Callbacks work as soon as the X-Token is saved. The optional test performs a safe read and shows the connected account without writing to the CRM; passing it is not required for webhook intake.
Setup
- 1
Add the Monobank adapter
Provide the merchant X-Token and create the adapter. The webhook URL appears on the created adapter page.
- 2
Pass the URL in webHookUrl
Add the endpoint to webHookUrl in every POST /api/merchant/invoice/create; the official API does not document a global merchant webhook. Put the CRM externalId in merchantPaymInfo.reference.
- 3
Optionally check the account
Run the check to see which account owns the token. Real signed webhooks are accepted without this step.
Frequently asked questions
Is card data stored?
No. We store only the status, amount and invoice id — no PAN/CVV.
How is the right order found?
The invoice reference from the webhook is matched to the order's externalId in the CRM.
Does the CRM create invoices or refund payments?
No. X-Token is used to verify the merchant and fetch the public key. The adapter does not call invoice create/cancel, refund or other payment operations.
Connect Monobank
Confirmed payment statuses sync into the order automatically.
Start for free