Guides

How to Create a Crypto Payment Link (No Code Needed)

How to create crypto payment link requests without code: set a price, choose coins and networks, share the link by chat or email, and handle refunds.

Flexrix Pay··8 min read

To create a crypto payment link, you set an amount (in crypto or in a fiat currency), choose which coins and networks the customer may use, and copy the link a payment dashboard generates for you. The customer opens it, sees a payment page with the exact amount, a unique address and a QR code, and pays from their wallet. You need no website, plugin or code.

This guide shows how to create crypto payment link requests step by step, what your customer sees, and how to handle the cases that cause most support questions.

A crypto payment link is a web address that opens a ready-made payment page for one specific request. It carries everything the customer needs: the amount, the asset, the network, a receiving address that belongs only to this request, and a countdown to expiry.

Many people start by pasting a wallet address into a chat. It works once or twice, then it gets messy. A payment link fixes the problems a bare address creates.

Bare wallet addressPayment link
Matching payment to customerManual, by amount and timeAutomatic, one address per link
Amount and networkTyped by the customerPre-filled and shown clearly
Fiat pricingYou calculate itConverted at a locked rate
StatusYou check an explorerPaid, underpaid or overpaid, shown for you
Fake tokens and screeningYour problemHandled before credit

The unique address is the biggest win. When each request has its own address, there is no doubt about who paid, even if two customers send the same amount in the same minute.

Payment links fit any business that sells in conversations rather than through a shopping cart:

  • Freelancers and agencies billing a project milestone.
  • B2B sellers collecting a deposit or settling a supplier invoice.
  • Creators and coaches selling a session, a commission or a course seat in direct messages.
  • Shops on social platforms taking orders through WhatsApp or Telegram.
  • Service businesses collecting a one-off fee before starting work.

If you run a store with a cart and many orders a day, an API integration fits better, because your site can create a link for every order automatically. You can still create links by hand for custom quotes and manual orders alongside it.

Most crypto payment link generator tools follow the same pattern. With Flexrix Pay, it looks like this in the dashboard:

  1. Set the price. Enter an amount in crypto (for example 120 USDT), or in one of 145 fiat currencies such as USD, EUR, GBP, TRY, INR, AED, NGN, IDR or BRL.
  2. Choose what the customer can pay with. With a crypto price, you pick the asset and network, such as USDT on TRON or USDC on Base. With a fiat price, you can let the customer pick the coin and network on the payment page.
  3. Set the validity. A link stays open for 5 to 60 minutes, one hour by default.
  4. Create and copy the link. Note your own order or invoice number next to it so you can match the payment later.
  5. Send it. Paste it into WhatsApp, Telegram, email or any chat where you talk to the customer.

That is the whole process: no code, no plugin. The same request can also be created through the API by developers, who send POST /v1/invoices with their order id in foreign_id and receive the link in the invoice's checkout_url field. See the API reference for details.

How the locked rate works

With a fiat price, the exchange rate is locked at the moment the customer chooses a coin. From then on, the crypto amount on the page does not change. A short validity window keeps that locked rate fair to both sides, especially for volatile assets like ETH or SOL. Create the link when the customer is ready to pay, not days in advance. If they miss the window, send a fresh one.

If you want to see what an amount is worth before you send a link, the public crypto converter and live prices pages use the same kind of consensus rates.

USDT is the most common request, so it is worth getting right. A USDT payment link must name the network, because USDT exists as separate tokens on many blockchains. USDT on TRON and USDT on Ethereum are not interchangeable: a customer who holds one cannot simply send it to an address on the other network.

You have two options:

  • Fix the network. Ask the customer first which network their USDT is on, then create a link for that exact asset, for example USDT on TRON.
  • Let the customer choose. Price the link in a fiat currency, such as 100 USD, and allow several USDT networks. The customer picks the one they hold, and the amount is calculated for that choice.

Only the official USDT and USDC contracts on each network are credited. A look-alike token with the same name sent to the link's address does not count as payment, which protects you from a common scam.

How you send the link matters almost as much as how you create it. A good message removes doubt before the customer even opens the page:

Here is your payment link for 120 USDT on TRON. It is valid for one hour. Please send the full amount shown.

Mention the network, the amount and the deadline. If the customer is paying from an exchange, remind them that some exchanges deduct their withdrawal fee from the amount sent, which can leave the payment slightly short.

Keep one link per order. Do not reuse a link for a second purchase; create a new one so each payment stays easy to trace.

What your customer sees

The customer taps the link and lands on a hosted payment page at pay.flexrixpay.com. It is designed for phones first and is available in 20 languages. On the page they get:

  • The exact amount, asset and network, with the fiat price if you set one.
  • A countdown to expiry.
  • A QR code carrying a payment URI, so a scanning wallet fills in the address, token and amount. On Ethereum-compatible networks this kind of URI follows the ERC-681 format; on Solana, a Solana Pay transfer request.
  • One-tap payment from MetaMask, Trust Wallet, Phantom and TronLink, and from 500+ other wallets via WalletConnect.
  • Clear instructions for what to do if they paid too little or too late.

Most customers never need to copy an address by hand. That removes a whole class of mistakes, like a missing character or an address pasted from the wrong network.

If you have a brand you want customers to recognize, the payment page can show your own name, logo and colour instead of the Flexrix Pay branding. The white label page explains how that works.

What happens after the customer pays

Once the transaction is on-chain, it is detected, then credited to your balance after it is confirmed and screened. Typical waits are approximate: about a minute on TRON, BNB Smart Chain, Polygon, Solana, XRP Ledger and TON; about 15 minutes on Ethereum; about 20 minutes on Base, Arbitrum One and OP Mainnet; and about 30 minutes on Litecoin and Bitcoin.

Every payment above the network's minimum to the link's address is credited, including partial, extra and late amounts. The link's status tells you what happened:

StatusWhat it meansTypical action
PaidThe full amount arrived in timeDeliver
UnderpaidLess than requested arrivedAsk for the rest, accept it, or refund
OverpaidMore than requested arrivedRefund the difference or keep it as credit
ExpiredNothing arrived in timeSend a new link if the customer still wants to buy

Because the money is credited either way, a payment is not lost just because the amount or timing was off. You decide how to settle it. Crypto has no chargebacks, so refunds are made by you, as a payout to an address the customer gives you on the right network. Any customer or merchant can check a transaction hash themselves on the public blockchain explorer.

Payment links are for one-off amounts. Flexrix Pay does not offer automated recurring billing, card payments or bank transfers. If you bill monthly, two approaches work well:

  • Send a fresh link each billing period, with a short reminder message.
  • For customers who top up regularly, give them a permanent deposit address through the API. Every top-up to it is credited to that customer automatically.

FAQ

Creating a Flexrix Pay account is free and there is no setup or monthly fee. A percentage applies to incoming payments, plus network fees; current rates are on the pricing section.

Between 5 and 60 minutes, with one hour as the default. The short window keeps a locked exchange rate fair. If the customer misses it, create a new link.

The payment is still detected and credited to your balance once it is confirmed and screened. You decide whether to honor the original price, ask for the difference, or refund.

Can the customer choose between USDT, USDC and Bitcoin?

Yes, if you price the link in a fiat currency. The customer picks the coin and network on the payment page, and the rate is locked when they choose.

Key takeaways

  • To create a crypto payment link, set a price, choose the allowed coins and networks, and share the generated link. No code is required.
  • Each link has its own address, amount and expiry, so payments match automatically.
  • For USDT, always make the network explicit, or price in fiat and let the customer choose.
  • Underpaid, overpaid and late payments are still credited; you decide how to settle them.
  • For recurring charges, send a new link each period or use a permanent deposit address.

Try it with Flexrix Pay

You can create your first payment link from the dashboard as soon as your account and two-factor authentication are set up. Sign up for free, set a price and share the link where your customers already talk to you. Developers can create the same links from the API reference.

Keep reading