Crypto payments for travel, tickets and events

Booking money is time-sensitive: a seat is held, a room is blocked, a ticket is reserved. Paysell lets you set how long the invoice lives — from one minute to 24 hours — and confirms the USDT or TON transfer about a minute after it lands.

  • Invoice lifetime from 1 minute to 24 hours
  • Confirmation about a minute after the transfer
  • 0.2% per payment, no monthly fee
  • No chargebacks after the trip

What usually goes wrong

Inventory is blocked while the payment makes up its mind

A seat or a room is held against a pending payment, and every minute of that hold is inventory nobody else can buy. A method with a vague completion time turns your availability calendar into guesswork.

Cross-border cards decline when they matter most

The traveller is already abroad, the issuer sees an unfamiliar merchant in a third country, and the booking fails at the last step. Roaming, 3-D Secure timeouts and prepaid cards do the rest — a wallet transfer ignores all of it.

Chargebacks arrive after the service is delivered

The flight was taken, the tour was run, the concert happened — and months later a dispute lands on a service that cannot be returned to stock. Travel is a high-dispute category, and each reversal costs the ticket price and a fee.

A short payment window does not fit a group booking

A corporate trip or a delegation needs approval before anyone pays. If the invoice lapses before the approval chain finishes, the price has to be requoted and the conversation restarts. Real bookings are agreed in hours.

How Paysell helps

An invoice with the lifetime you choose

The default invoice lives two hours, and ttl_minutes moves that anywhere between 1 minute and 24 hours. The response carries expires_at, so your booking engine holds inventory for exactly the window it shows in a countdown and releases it when the invoice lapses.

You issue the ticket on a webhook, not on a screenshot

Paysell verifies the transfer against a second data source and delivers an HMAC-signed payment.credited webhook about a minute after the money lands, retrying up to 24 hours. Your system issues the ticket on that event, with your booking reference.

Underpayments do not silently break a booking

If a traveller sends less than the invoice amount, it does not flip to paid and stays open another 24 hours for a top-up. An overpayment is credited in full, and your team always sees the real received amount.

Final money for a service that cannot be un-delivered

A confirmed transfer on the TON network cannot be recalled by anyone — a flight that was flown stays paid. Refunds are handled through support rather than an API call, and a cancellation refund can also be a transfer you make under your own policy.

Where it fits

Flight and rail bookings paid in USDTHotel and apartment depositsTour, excursion and retreat prepaymentsConference and concert ticketsGroup bookings with a 24-hour payment windowVisa support and travel document services

Integration in minutes

One invoice per booking, with your own window

When a traveller confirms an itinerary, create an invoice with the amount, your booking reference and a ttl_minutes that matches your hold policy — ten minutes for a self-service seat, a full day for a corporate approval chain. Send the traveller to the hosted page at /pay/{id}, where a QR code and wallet buttons work from a phone at an airport. Show your own countdown from expires_at and release the inventory when the invoice lapses.

Full API reference
Create an invoice with a 24-hour window
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"}'
Respons
{
  "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

How long can a customer take to pay for a booking?

An invoice lives two hours by default, and you can set anything from 1 minute to 24 hours with ttl_minutes when you create it. The response includes expires_at, so your booking page and your inventory hold can use exactly the same deadline.

What happens if the invoice expires unpaid?

The invoice stops accepting the payment and your system releases the held seat or room on its own schedule. Nothing is charged, because nothing was ever authorised — an unpaid invoice is just an offer nobody took up.

What if the traveller pays less than the invoice amount?

The invoice does not become paid on a partial transfer and remains open for another 24 hours, so the difference can be sent. Your operator sees the amount actually received, which means a booking is never issued against an incomplete payment.

Can I refund a cancelled trip?

Refunds are handled through support rather than an API call, because an on-chain transfer cannot be reversed. Refunds under your cancellation policy are made as ordinary transfers from your own funds to the traveller's wallet — which also means nobody can force a reversal on you months later.

Is there a limit on the size of a booking payment?

One invoice can be between 3 and 10,000 USDT, or between 0.1 and 7,000 TON, and a store can create up to 60 invoices per hour. Larger trips are usually billed as a deposit and a balance, which most travel businesses do anyway.

Which coins and networks do you support for travel payments?

USDT as a jetton on the TON network, and TON itself. Both are credited in the same coin the traveller sent, with no conversion in between. Coming next: Tron and TRC-20.

How quickly do I know the money has arrived?

A TON transfer confirms in seconds. Paysell then waits for the masterchain block plus three more, reconciles against a second source and sends the webhook — about a minute end to end, fast enough to issue a ticket while the traveller waits.

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