Dolix Pay: accept payments via API
Issue an invoice, give the payer a link, and the money lands in your wallet minus the fee. Crypto and SBP, signed webhooks, AML screening of every payment.
From invoice to settlement
You issue the invoice; the platform does the rest: collection, AML and the webhook.
You issue an invoice
With POST /invoices or manually in the app.
The payer pays
In crypto, from a wallet or via SBP. The payment goes through AML.
You get a webhook
An invoice.paid event with a signature. The money is in your wallet, minus the fee.
POST /invoices{ "amount": "100", "title": "Order #104", "external_id": "ORD-104"}{ "invoice": { "id": "210", "status": "created", "amount": "100", "fee": "1", "net_amount": "99", "pay_url": "https://t.me/<bot>?startapp=…"} }{ "type": "invoice.paid", "data": { "invoice": { "id": "210", "status": "paid" } }}- POST /invoices
- GET /invoices/{id}
What Dolix Pay does
- Invoices and links
- Put the payment link behind a button in your bot or send it to the payer. The payment page opens inside Telegram.
- Crypto and SBP
- The payer pays from a wallet in the app, on-chain or via SBP. SBP payments are credited with a 24-hour hold.
- Signed webhooks
- paid, under_review, expired and cancelled events signed with HMAC-SHA256. Delivery is retried up to 8 times.
- AML on every payment
- Until the check passes, the funds aren't credited, and an address that received unverified coins is no longer issued.
- No duplicates
- A repeat request with the same external_id returns the same invoice instead of creating a new one.
- Clear fees
- A percentage, with a minimum per payment. Fixed when the invoice is created and never changes after that.
How to connect
Open to everyone, no application needed.
- 1Enable Dolix Pay
- In the bot: Profile → Dolix Pay → Connect.
- 2Create a key
- In “API and webhooks”: the key is shown once; a webhook URL is optional.
- 3Issue an invoice
- With POST /invoices, or manually in the app without the API.
More than payment acceptance
On the Dolix Pay architecture you can build your own custodial wallet: accounting, deposit addresses, AML on incoming payments, and withdrawals.
Frequently asked questions
How do I start accepting payments?
Enable Dolix Pay in the Telegram bot (Profile → Dolix Pay → Connect), create an API key and issue invoices with POST /invoices. The response contains a payment link: put it behind a button in your bot or send it to the payer.
Which payment methods are supported?
The payer pays in crypto, from a wallet in the app or via SBP. SBP payments are credited with a 24-hour hold.
What happens to a payment that fails the AML check?
Until the check passes, the funds aren't credited to you and the invoice stays in under_review status. The address that received the unverified coins is no longer issued for payments.
How do I know an invoice has been paid?
Set a webhook URL: we'll send a POST signed with X-RSPAY-Signature (HMAC-SHA256). Events: invoice.paid, invoice.under_review, invoice.expired and invoice.cancelled. If there's no response, delivery is retried up to 8 times.
What's the fee?
A percentage, with a minimum per payment. It's fixed when the invoice is created and doesn't change afterwards. Crypto payments also incur a network fee.
Start accepting payments
Setup in Telegram takes a couple of minutes. Need a turnkey wallet? Message us.