Skip to main content
This section describes the statuses displayed in the portal for payment requests and refunds. Payment request callbacks send the same payment request statuses, except Created, in lowercase in the status field. Some of them also have a status_reason, described below.

Payment request statuses

StatusDescription
CreatedThe payment request was created, but the crypto address is not yet generated for it. Depending on the payment request’s parameters, at this point the customer can select the currency in which they are going to pay.
When the customer agrees to the terms and clicks Proceed to payment, the address will be generated, and the status will change to Processing. If the customer doesn’t click Proceed to payment before the payment request’s lifespan ends, the status will change to Expired.
ProcessingThe crypto address was generated, but incoming transactions aren’t created, aren’t confirmed or don’t cover the expected amount yet.
As soon as incoming transactions for the expected amount get the required number of confirmations, the status will change to Paid.
If the payment request is only partially paid by the end of its lifespan or rate lock period, the status will change to either Paid or Failed, according to the underpayment handling rules.
If no transactions are created during the lifespan or rate lock period, the status will change to Expired.
PaidIncoming transactions for the expected amount were confirmed, and the funds are credited to the merchant’s balance. This includes:
FailedThe payment request wasn’t fully paid during the lifespan or rate lock period, or the payment couldn’t be processed. Possible reasons:
  • Underpayment: the total amount of the transactions didn’t reach the expected amount, and the underpayment wasn’t accepted according to your underpayment handling rules. The status_reason is The customer paid less than the requested amount. Based on your payment handling rules, the payment was not accepted.
  • Unconfirmed transaction: one or more transactions didn’t get the required number of confirmations in time.
  • Invalid transaction: the transactions were cancelled in the blockchain or were smaller than the minimum deposit amount. Invalid transactions aren’t listed in the callback, and no callback is sent when one arrives: the failed callback is sent when the lifespan or rate lock period ends. The status_reason is The payment couldn't be processed because the transaction was invalid or couldn't be accepted.
  • Payment restricted: the payment can’t be processed due to internal restrictions. The status_reason is Service is restricted for the payer. Payments from this payer cannot be processed.
CryptoProcessing will initiate an automatic refund, unless the total received amount is smaller than the minimum withdrawal limit + refund fee.
ExpiredThe customer hasn’t created any transactions during the lifespan or rate lock period.

Refund statuses

StatusDescription
CreatingThe automatic or manual refund is being created, and the funds are being subtracted from the merchant’s balance.If this step is successful, the status will change to Waiting for customer. If the merchant does not have enough funds, the status will change to Not created.
Waiting for customerCryptoProcessing sent the customer an email with a link to claim their refund.
In progressThe customer opened the email, clicked the link and entered their details. The refund is being processed.
CompletedThe refund has been successfully completed.
Not createdThe refund request couldn’t be created. Double-check the details and make sure you have enough funds on your balance to issue the refund.
FailedThe refund couldn’t be completed. If you encounter this error, contact CryptoProcessing support.
Last modified on October 29, 2026