Skip to content

Glossary

Overpaid payment

A crypto payment whose confirmed transfers add up to more than the amount due, leaving a surplus beyond the price of the order.

How it works in CryptoLike

CryptoLike has no separate "overpaid" status: an overpayment is paid with overpaid_amount above zero. The whole confirmed sum, surplus included, is credited to your balance, and the invoice.paid webhook carries overpaid_amount, so your system sees the difference in the same event that confirms the order. remaining_amount is never negative.

If another transfer reaches the same address after the payment is paid, CryptoLike credits it as well and sends invoice.paid again with a higher overpaid_amount. Process each event_id once and key your fulfilment on the payment id: a second invoice.paid for the same payment is not a second order. The checkout page tells the payer "Payment confirmed. The surplus was credited to the merchant.", so the customer knows where the extra went.

The next step is yours: ship the order, then settle the surplus with the customer — a credit on the next order, or a payout to an address the customer gives you. Typical causes are an amount rounded up by hand and a transfer repeated by mistake. The opposite case, a short transfer, is an underpaid payment.

Example

A CryptoLike invoice.paid webhook for an overpayment looks like any other confirmed payment, with the surplus in its own field. Compare overpaid_amount with zero rather than comparing amounts yourself. The values below are illustrative; the field names are the contract:

json
{
  "type": "invoice.paid",
  "data": {
    "invoice": {
      "status": "paid",
      "ticker": "USDT",
      "payer_amount": "25",
      "paid_amount": "30",
      "remaining_amount": "0",
      "overpaid_amount": "5"
    }
  }
}

In the docs →

Related terms

Read next

Start with a test payment

Create an account, ask support for the test environment and see a payment go from pending to paid on a test network.