Crypto payments for SaaS and subscription products

Nobody can pull money from a self-custody wallet on a schedule, so honest crypto billing works differently: you issue an invoice for each period and prompt the customer to renew. Paysell handles the invoice, the payment page and the confirmation — your app handles the calendar.

  • One invoice per billing period
  • Webhook about a minute after payment
  • No expired cards, no failed retries
  • 0.2% per payment, no monthly platform fee

What usually goes wrong

Involuntary churn from card failures

Expired cards, hit limits and bank declines cancel subscriptions that the customer never meant to cancel. Dunning emails recover some of them, but the rest churn silently — and you pay for every failed retry attempt in support time.

Crypto has no true auto-debit

Any provider promising automatic recurring charges from a customer wallet is either custodial or overselling. A self-custody wallet only moves when its owner signs, so subscription flows have to be built around a prompt, not a silent charge.

Card rails exclude paying customers

Teams in countries your acquirer will not touch, and freelancers with no international card, are ready to pay a monthly fee for your product. They already hold USDT; the missing piece is a renewal link they can actually settle.

Manual renewals eat your team

Sending a wallet address every month and ticking a spreadsheet works for twenty customers. At two hundred, renewals get missed, accounts stay open unpaid, and somebody spends the first week of every month reconciling transfers by hand.

How Paysell helps

Invoice per period, driven by your own scheduler

A few days before the period ends, your cron job creates an invoice for the next term and emails or messages the payment link. Paysell returns a hosted page with a QR code and Tonkeeper or MyTonWallet buttons, so renewing takes the customer about twenty seconds.

Extend the plan on the webhook

The signed `payment.credited` event carries your own order id — subscription id, period, customer, whatever you put in it. Your handler verifies the HMAC signature and rolls the paid-until date forward. Retries continue for up to 24 hours if your endpoint is down.

A grace window instead of a dunning queue

Set the invoice lifetime to match your reminder cadence — anything from one minute to 24 hours — and keep the account live through your own grace period. An underpaid invoice stays open a further 24 hours, so a customer who sent slightly less can simply top it up.

Predictable unit economics

0.2% of each received payment, fixed when you register the store, with no setup fee and no monthly platform fee. Network fees on incoming payments are paid by Paysell. There is nothing to reverse later: a confirmed transfer cannot be charged back.

Where it fits

Monthly and annual plan renewalsSeat-based team plans billed per periodUsage top-ups and prepaid credit packsLifetime and one-off licence upgradesAPI plans metered and invoiced monthlyTrial-to-paid conversion links

Integration in minutes

Your scheduler, our invoice

Create a store, take its API key and call the invoice endpoint from the job that renews subscriptions. Put the subscription id in the order id field so the webhook tells you exactly which account to extend. Deliver the returned link by email, in-app banner or Telegram — the payment page works the same in a browser, a bot and a mini app. Signature checks, event shapes and the retry schedule are in the docs.

Full API reference
Create a renewal invoice
curl -X POST https://paysell.me/api/merchant/v1/invoices \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"asset":"USDT_TON","amount":"25","order_id":"order-1042"}'
الاستجابة
{
  "invoice_id": "12c22c1a-a496-4c1e-abe3-72661ef8706e",
  "payment_url": "https://paysell.me/pay/12c22c1a-a496-4c1e-abe3-72661ef8706e",
  "asset": "USDT_TON",
  "amount": "25",
  "status": "pending",
  "expires_at": "2026-09-06T17:20:55Z"
}

Pricing at a glance

One rate for every payment, whatever you sell and wherever your customer is.

0.2%
per payment
0
setup and monthly fee
0.7 USDT / 0.52 TON
withdrawal fee
25 USDT / 19 TON
minimum withdrawal

Withdraw to any TON wallet in a couple of clicks from the dashboard.

Questions

Can I charge a crypto subscription automatically every month?

No, and no honest provider on a self-custody network can. Funds only move when the wallet owner signs a transaction, so Paysell supports the pattern that actually works: your app issues an invoice for each period, reminds the customer before the term ends, and extends the plan when the payment webhook arrives.

How do I stop customers from forgetting to renew?

Send the renewal invoice a few days early and keep a grace window after the period ends — most SaaS products use three to seven days. Because you control both the reminder schedule and the invoice lifetime, which can be set from one minute to 24 hours, the flow can be as gentle or as strict as your product needs.

Which coins and networks can my customers pay in?

USDT and TON, both on the TON network. Your balance stays in the coin the customer paid, since nothing is converted in transit — a USDT-priced plan credits USDT. Coming next: Tron.

How fast is a renewal confirmed?

About a minute from the moment the customer sends the transfer: Paysell waits for a masterchain block plus three confirmations and reconciles the payment against an independent source before crediting it. Your webhook fires at that point, which is soon enough to extend access while the customer is still on the page.

What does it cost compared with card billing?

0.2% of each received payment, with the rate fixed when your store is registered. There is no setup fee, no monthly platform fee and no per-invoice charge, and Paysell pays the network fees on incoming payments. Withdrawing to your own wallet carries its own flat fee of 0.7 USDT or 0.52 TON taken from the amount, with a minimum of 25 USDT or 19 TON.

Can a customer dispute a subscription payment?

There are no chargebacks on the TON network, so a confirmed renewal cannot be reversed by a bank weeks later. Refunds are handled through support rather than an API call, and a pro-rata refund can also be a transfer you send from your balance when you decide it is warranted.

Can I bill customers who found me through Telegram?

Yes. The same invoice can be paid from your website, a Telegram bot, a mini app or a plain link, and the hosted page opens Tonkeeper or MyTonWallet directly. That matters for products whose audience already lives inside Telegram and keeps a TON balance there.

Related solutions

Ready to take your first crypto payment?

Create an account, connect a store and issue your first invoice today — no setup fee, no waiting for approval.

Create an account