Payments

Invoice and payment statuses

Every status an invoice, payment, refund, payout, subscription and support case can have, how an invoice moves between them, and what to do at each.

On this page

An invoice is what the customer owes. A payment is one attempt to pay it, with one coin and one deposit address. An invoice can have several payments, for example when the customer changes coin or a quote expires, and the first payment that succeeds pays the invoice.

Invoice statuses

StatusMeaningWhat to do
createdThe invoice exists, but the customer has not chosen a coin yetWait
awaiting_paymentA deposit address was issuedWait
detectedThe customer's payment was seen on its chainWait, and do not ship yet
processingNEAR Intents is converting the paymentWait, and do not ship yet
paidThe coin you receive arrived in your payout walletShip the order
underpaidToo little arrived, and NEAR Intents refunds it to the customerNothing; the customer can try again after the refund
refundedThe customer's payment was returned to their refund addressNothing; the customer can try again
failedThe conversion failed, and a support case was openedCheck Dashboard → Support
expiredThe invoice lifetime passed with no paymentCreate a new invoice if the customer still wants to pay

How an invoice moves

  1. created becomes awaiting_payment when the customer gets a deposit address.
  2. awaiting_payment becomes detected, then processing, then paid. A short step can be skipped.
  3. When too little is sent, awaiting_payment becomes underpaid, then refunded once the refund is done.
  4. From refunded or failed, the customer can choose a coin again while at least 2 minutes of the invoice lifetime are left. The invoice then returns to awaiting_payment.
  5. created and awaiting_payment become expired when the lifetime ends.
  6. expired can still become paid if a payment to an address from this invoice arrives within 24 hours. The invoice then has late: true.

paid is final. A later successful payment only sets the extra_payment flag.

Flags on a paid invoice

FlagMeaningWhat to do
lateThe payment arrived on an address that was already replaced or expired, or after the invoice expiredComplete the order, or refund it
extra_paymentA second payment for this invoice also succeededSelect Refund this extra payment on the invoice's page in Dashboard → Payments

Both flags come with a webhook: invoice.paid (with late: true) and invoice.extra_payment.

Payment statuses

The payment object carries the NEAR Intents status in lowercase. The quote and status endpoints return it, and invoice webhooks include it.

StatusMeaning
pending_depositWaiting for the customer to send
known_deposit_txThe transfer was seen on its chain
processingNEAR Intents is converting it
incomplete_depositToo little arrived, and a refund follows
successDelivered to your wallet
refundedReturned to the customer's refund address
failedThe conversion failed

Payment states

On the checkout status endpoint, the payment also has a state:

StateMeaning
activeThe current deposit address
retiredReplaced or expired, but still watched for 24 hours in case a payment arrives
finalReached success, refunded or failed, or was watched for 24 hours with no payment

A deposit address is valid for 20 minutes, or until the invoice expires if that comes sooner. When it runs out, the checkout hides the address and shows "This address expired. Do not send to it." with a Get a new address button, so an old address is never shown again. A new address is created only when the customer selects that button.

Refund and payout statuses

StatusMeaning
pendingCreated and waiting for you to approve it from your wallet
processingYour wallet sent it, and Solverr is waiting for the transaction to be final on-chain (same coin) or for the swap to finish (different coin)
completedThe recipient received it, checked on-chain
failedThe transaction failed or never appeared on-chain, it sent something else, or the swap did not complete (your coin then went back to your wallet)
canceledCanceled before it was sent; nothing left your wallet

Subscription statuses

StatusMeaning
activeCreates an invoice every interval
canceledCreates no more invoices

Support case statuses

StatusMeaning
openWaiting for you or NEAR Intents support
resolvedYou marked it as resolved in Dashboard → Support