MercanPay Blog

Hosted Crypto Payment Page Features: QR, Timer, Live Status

A tour of the MercanPay hosted crypto payment page: QR code, a countdown synced to server time, rate-locked coin choice, live confirmations, TR/EN, your logo.

Published: October 1, 20266 min readTürkçe oku
Hosted Crypto Payment Page Features: QR, Timer, Live Status

A hosted crypto payment page is the one screen your customer sees while paying, and it shapes the whole experience. MercanPay gives every invoice a ready-made hosted payment page, so there's nothing to design, host or maintain. This post walks through each feature, what the customer sees at every step and why it matters.

What the hosted payment page does

When you create an invoice, the API response or the panel gives you a payment_url. Send the customer there and the payment page opens. It tracks the invoice live, warns the customer about the network and sends them back to your store once the payment is final.

Settings that lift conversion were covered in 9 crypto checkout tips. This post is about the page itself.

To see it, open the demo payment page on our site. It shows the real template with sample data. The address there isn't real, so never send funds to it.

1. Coin choice and rate lock

On a USD-priced invoice (price_usd), the customer first sees "Choose how to pay", listing the coins you accept (TRX, USDT or both) with amounts at the current rate.

As soon as the customer picks a coin:

  • the USD price is converted at the current rate,
  • the rate is locked for the life of the invoice,
  • if little time is left, the validity is extended enough to pay at the locked rate.

If nothing has been paid yet, "Pay with another coin" lets the customer change their mind. Fixed-coin invoices skip this step and go straight to the payment screen. The rate lock is explained in crypto payment exchange rate risk.

2. Amount, address and QR code

The payment screen shows three things clearly:

  • the amount, under "Send exactly",
  • the invoice's own TRON address, under "To this address",
  • a QR code of the address.

Both the amount and the address have copy buttons. Tapping the QR code enlarges it, which helps customers who open the page on a desktop and scan with a phone wallet. See QR code crypto payments.

On USDT invoices, the 1 USDT network fee is included and labelled "network fee included", so there are no surprises.

Network warning

The page tells the customer plainly to send only the right coin on TRON (TRC20), and that other tokens or networks will be lost. That heads off the most common customer mistake. More in crypto sent to the wrong network.

3. A countdown synced to server time

Every invoice has an expiry time, shown as a countdown. It runs on server time, not the customer's device clock. Each status check returns the server's current time and the page corrects for the difference.

Why it matters: a customer's phone clock can be minutes off. A countdown based on the device could show an expired invoice as still valid, or the reverse. Syncing to the server removes that confusion.

A last-second check at expiry

When the countdown hits zero, the page doesn't declare the invoice dead right away. It first shows "Time is up — checking for a last-second payment…", so a payment sent in the final seconds is still picked up.

Whether a payment is late is decided by its block time, so a customer who paid at the last second isn't penalised by the confirmation delay. If the invoice really expired, the page says "Invoice expired" and asks the customer not to send funds and to ask the merchant for a new link. See crypto invoice expiry time.

4. Live confirmation status

After the customer sends funds, the page shows live progress such as "Payment detected · confirming 7/20". The payment is final at 20 block confirmations, usually about a minute.

That in-between state is small but valuable. The most stressful moment in a crypto payment is right after sending, wondering whether it arrived. The counter tells the customer immediately that their payment was seen. Confirmations are explained in what are block confirmations.

Once final, the page shows "Payment received": "Thank you! You can safely close this page."

5. Underpayment and overpayment messages

If the customer sends too little, the page says so: "Partial payment: … received. Please send the remaining … to the same address." The heading changes to "Send the remaining amount", and the QR and amount update to the remainder. The invoice also gets at least 30 more minutes.

On an overpayment, the page tells the customer how much extra they sent and that the full payment was received. Your side of these cases is covered in underpayments, overpayments and late payments.

6. Getting back to your store

After payment, the customer is redirected to your success_url, if set, within 5 seconds. The page shows a "Taking you back to the store in …s" message plus a button to return now. invoice_id, order_id and status are appended to the URL.

Before payment, the "Back to store" button leads to your return_url, so a customer who gives up, or whose invoice expires, can easily return.

Landing on the success page is not proof of payment. Always fulfil orders from the signed webhook or an API lookup.

  • Turkish and English: the language follows the customer's browser, and one tap switches between the two.
  • Light and dark theme: the customer can switch, and the choice is remembered on their device.
  • Your logo: upload SVG logos for light and dark themes in the panel and they appear with your store name. See add your logo to the payment page.

The footer reads "Secure payment · confirmed on the TRON blockchain".

8. Cancelled invoices

If you cancel an unpaid invoice, the page shows "Invoice cancelled" and asks the customer not to send funds and to ask for a new link. If a payment still arrives, it's credited to your balance.

FAQ

Can I embed the payment page in my site?

It's a hosted page: the customer is redirected to the payment_url. That takes security and maintenance off your plate.

If the customer closes the page, is the payment lost?

No. A payment sent to the address is processed whether the page is open or not, and the customer can reopen the same link to check.

Can I change the number of confirmations?

No. Every payment is final after 20 block confirmations.

Does it work on mobile?

Yes. The page is mobile-friendly, and the copy buttons and QR code work well on a phone.

Get started with MercanPay

Accept USDT and TRX with a payment page you never have to design, one that explains every state to your customer. Apply as a merchant and read the documentation.

#Payment Page#QR#USDT#TRX

Related posts

Start accepting crypto payments in minutes

Accept USDT and TRX (TRC20). Fees from 0.4%, a hosted payment page, API and webhooks.