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.

  1. You issue an invoice

    With POST /invoices or manually in the app.

  2. The payer pays

    In crypto, from a wallet or via SBP. The payment goes through AML.

  3. You get a webhook

    An invoice.paid event with a signature. The money is in your wallet, minus the fee.

Request: create an invoice
POST /invoices{  "amount": "100",  "title": "Order #104",  "external_id": "ORD-104"}
Response
{ "invoice": {    "id": "210",    "status": "created",    "amount": "100",    "fee": "1",    "net_amount": "99",    "pay_url": "https://t.me/<bot>?startapp=…"} }
Webhook: invoice paid
{  "type": "invoice.paid",  "data": { "invoice": { "id": "210", "status": "paid" } }}
  • POST /invoices
  • GET /invoices/{id}
Dolix Pay docs

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.

Turnkey wallet

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.