Elina Carter
6 hours agoUnderpaid Invoices: What Happens When a Customer Sends Less Than You Asked For
Crypto buyers often send a little less than the invoice asks for. That used to mean a refund and a lost sale — with Payid19 the invoice now stays open for 48 hours and can still be completed.
Anyone who has accepted crypto payments for a while has seen it happen: the invoice asks for 25.40 USDT, and 25.10 USDT arrives. The order is not paid, the customer is convinced that it is, and support hears about it within the hour. Until recently there was only one clean way out of that situation — refund the payment. The merchant lost the sale, and the customer waited to get their money back.
Payid19 now treats these partial payments as what they usually are: an almost-completed sale. An underpaid invoice stays open for 48 hours, and in that window it can still turn into a normal, completed payment.
Why underpayments happen
Underpayments are rarely an attempt at fraud. In practice they come from a handful of very ordinary situations:
- The wallet takes the network fee out of the amount. The customer enters the exact figure, the wallet subtracts the mining or gas fee from it, and slightly less arrives on-chain.
- Rounding. A buyer asked for 0.00042317 BTC types 0.0004 and moves on.
- Manual entry. Amounts typed by hand lose a digit far more often than addresses do, because a wrong address usually fails loudly and a wrong amount does not.
- Exchange withdrawals. Some exchanges apply their own withdrawal fee to the amount being sent rather than adding it on top.
The shortfall is normally small — a few cents to a couple of dollars. That is exactly what makes an automatic refund such a poor outcome: the cost of returning the money is often close to the amount that was missing in the first place.
What happens now: the 48-hour window
When less than the invoice total arrives, Payid19 no longer closes the invoice. It marks the invoice as underpaid and notifies both sides straight away:
- The customer receives an email showing how much is still missing, with a link back to the payment page.
- The merchant receives an email and a dashboard notification linking to the Invoices page, where the decision is made.
From there the invoice can be resolved in three ways.
The customer completes the payment
This is the best outcome and it needs nothing from the merchant. The customer sends the missing amount to the same address they used the first time, within 48 hours. Payments accumulate: if the remainder arrives in two or three transfers, each one counts toward the total. The moment the sum reaches the invoice amount, the invoice completes on its own, the callback fires, and the balance is credited exactly as it would be for any ordinary payment.
The merchant accepts the partial payment
If the shortfall is small enough that keeping the sale makes more sense than reversing it, the merchant accepts it with one click on the Invoices page. The invoice is marked as paid, the amount that actually arrived is credited to the merchant's balance, and the callback is delivered to the store so the order can be fulfilled normally. For a 30 USDT order that landed 0.40 USDT short, this is almost always the cheaper decision.
The payment is refunded
If the shortfall is too large, or the order cannot be fulfilled partially, the merchant refunds it from the same screen and the customer receives a secure refund link by email. Refunds are returned as USDT on the Tron network, with the processing and network charge deducted.
If the merchant does not act within 48 hours of the customer's last payment, Payid19 refunds it automatically. No invoice is left hanging and no customer is left without an answer.
| Outcome | Who decides | Result for the merchant |
|---|---|---|
| Payment completed by the customer | The customer, within 48 hours | Full amount credited, order fulfilled as normal |
| Partial payment accepted | The merchant, within 48 hours | Amount received is credited, the sale is kept |
| Refund | The merchant, or automatically after 48 hours | Payment returned to the customer |
Small shortfalls are handled automatically
Not every underpayment deserves a decision. Payid19 absorbs the smallest ones on its own, so neither side is interrupted by them:
- A shortfall no larger than the network fee of the coin the customer used is completed as a normal payment.
- On invoices above 0.5 USDT, a shortfall of up to 0.1 USDT is completed automatically as well.
Setting your own tolerance with margin_ratio
Merchants who integrate through the API can go further and define their own tolerance. The optional margin_ratio parameter on create_invoice sets, in USDT, how large a shortfall should still count as a successful payment.
Sending margin_ratio=1 on a 20 USDT invoice means that anything from 19 USDT upward completes the payment immediately — no email, no decision, no waiting. It is a practical setting for businesses whose customers are new to crypto, where a small and predictable loss costs less than the support load of chasing exact amounts.
Getting the most out of it
- Watch for the notification. The decision window is 48 hours; after that the payment goes back to the customer automatically.
- Judge by the shortfall, not the principle. Accepting a 0.30 USDT shortfall on a 40 USDT order beats refunding it in almost every case.
- Consider a margin_ratio if underpayments are common among your customers — it removes the decision entirely.
- Tell customers to send the exact amount shown on the payment page, and where their wallet allows it, to add the network fee on top instead of deducting it from the amount.
Conclusion
Crypto payments are final, but a payment that arrives a little short does not have to be a failed one. By keeping the invoice open, letting the customer top it up, and giving the merchant a genuine choice, Payid19 turns a situation that used to end in a refund into what it was always meant to be: a completed sale.