# Handling underpaid, late and unmatched crypto payments

> Card declines are tidy. Crypto payments arrive exactly as the customer sent them — short, late, twice. The fix is to decide the policy before it happens and let the gateway's statuses drive it.

Updated 2026-09-30 · Payaries · https://www.payaries.com/guides/handle-underpaid-and-late-crypto-payments

## Underpayments

If less than the amount due arrives, the invoice moves to `underpaid`, with the amount received, the amount due and the shortfall recorded on it. The gateway only flags the mismatch; what to do is your call.

- Ask the customer to send the shortfall to the same deposit address, or
- refund what arrived (a separate on-chain transaction you send), or
- accept the shortfall, if it is within what you would tolerate.

## Late payments

Expiry only stops a new payment being expected; the deposit address stays valid and is still watched (for at least 30 days). Two cases. If the customer paid before the deadline but we only noticed after it, the invoice moves `expired` → `detected` (fully paid) or `expired` → `underpaid` (partial) and is credited normally, without `latePayment`. If the payment was mined after the deadline, it is held for review by the Payaries team: not credited automatically, the invoice stays `expired`, and no status webhook is sent. The team then either refunds it to the customer or settles it — and a settled one moves the invoice out of `expired` with `latePayment: true` in the webhook.

> **Treat `expired` as final — unless a transition arrives.** Make your order handler idempotent on invoice and status, because a settled late payment (or a payment noticed late) sends a transition out of `expired`. Never fulfil an expired order on a customer's claim that they paid — the invoice status is the source of truth. The amount owed stays at the rate locked when the invoice was created.

## Money that doesn't fit an invoice

A second payment to an invoice that is already confirmed, forwarding, settled or failed — or a deposit that hadn't confirmed when the invoice was credited — is never dropped. It is recorded on the invoice as an unclaimed deposit with its transaction hash, amount, asset and reason. The funds are safe at the deposit address but are not credited to your balance automatically. Alert on a non-empty `unclaimedDeposits` and contact support to have it refunded or credited.

## A policy worth writing down

1. Release goods only on `confirmed`.
2. On `underpaid`, notify the customer with the exact shortfall and deadline.
3. On a late-payment webhook for a cancelled order, route it to a human or an automatic refund path — never silently ignore it.
4. Alert on `unclaimedDeposits` and on webhook delivery failures.
5. Remember refunds are separate transactions: crypto payments aren't reversible.

## Questions

**What happens if a customer underpays a crypto invoice?**
The invoice becomes underpaid, with the received amount, the amount due and the shortfall recorded. You can ask for the balance, refund what arrived, or accept it.

**What if a customer pays after the invoice has expired?**
The deposit address is still watched. A payment made before the deadline but noticed late moves the invoice to detected or underpaid and is credited normally. A payment mined after the deadline is held for review by the Payaries team and either refunded to the customer or settled; a settled one moves the invoice out of expired with latePayment: true in the webhook.

**Can I refund a crypto payment?**
Crypto transactions are irreversible once confirmed, so a refund is a new transaction you send yourself, for example with a withdrawal to the customer's address.

## Try it

Build it against real statuses: [Payaries — www.payaries.com](https://www.payaries.com/signup). Payaries is a multi-chain crypto payment gateway — https://www.payaries.com

## Keep reading

- https://www.payaries.com/guides/crypto-payment-confirmations — Crypto payment confirmations, explained for merchants
- https://www.payaries.com/guides/verify-crypto-webhook-signatures — How to verify crypto payment webhook signatures
- https://www.payaries.com/crypto-payment-api — A crypto payment API that behaves like the rest of your stack
- https://www.payaries.com/guides/hosted-crypto-checkout — Hosted crypto checkout: send the customer, get them back
- https://www.payaries.com/guides/accept-crypto-on-shopify — Accept crypto on Shopify without payments-partner approval
- https://www.payaries.com/blog/bitcoin-falls-below-80000-middle-east-october-2026 — Bitcoin slips below $80,000 as Middle East security warnings hit crypto: what happened and what merchants should do
- https://www.payaries.com/blog/tesla-roadster-2026-reveal — The new Tesla Roadster: what Tesla claimed, what is verified, and how a $50,000 reservation is paid
