Guide

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 · 2 min read

01Underpayments

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.

02Late 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.

03Money 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.

04A policy worth writing down

  1. 01Release goods only on confirmed.
  2. 02On underpaid, notify the customer with the exact shortfall and deadline.
  3. 03On a late-payment webhook for a cancelled order, route it to a human or an automatic refund path — never silently ignore it.
  4. 04Alert on unclaimedDeposits and on webhook delivery failures.
  5. 05Remember 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.

Next

Build it against real statuses

Test keys work immediately, with no approval step. Payaries runs on real mainnet networks, so use a small real payment to test.