Skip to main content
1
The rate is fixed. You receive a callback with the processing status when the customer clicks Proceed to payment, or immediately for a fixed payment request.
2
The customer’s payment is detected. You receive another callback with the processing status for each transaction, and the transaction is listed in the transactions block of the callback.
3
The payment is complete. You receive a callback with the paid status once the full amount is received and confirmed.

Body

application/json
payment_request_id
string
required

Payment request ID.

foreign_id
string
required

The foreign_id you provided when creating the payment request. Use it to map the callback to a customer or order in your system.

type
enum<string>
required
Available options:
payment_request
status
enum<string>
required

Payment request status. See also Payment request statuses.

  • processing: sent when the rate is fixed, that is, when the customer clicks Proceed to payment or immediately for a fixed payment request, and again each time a payment transaction is detected
  • paid: sent when the correct amount of funds has been received and the transactions got the required number of network confirmations. The received amount may be slightly less than the expected amount, according to your underpayment handling settings. If the customer paid more, the payment request is also paid as soon as the transactions are confirmed, and the extra is refunded to the customer, see Automatic refunds. An accepted underpayment gets the paid status only when the payment request lifespan ends
  • expired: the customer created no transactions during the lifespan or rate lock period
  • failed: the payment request was not fully paid in time, or the payment could not be processed. Possible reasons:
    • underpayment: the customer sent a smaller amount than required, and the lifespan already ended. You can configure underpayment handling
    • unconfirmed transaction: one or more transactions did not get the required number of network confirmations before the payment request expired
    • invalid transaction: the transactions were cancelled in the blockchain or were smaller than the minimum deposit amount. Invalid transactions are not included in the callback
    • payment restricted: the payment cannot be processed due to internal restrictions

After a payment request is paid, expired or failed, any subsequent incoming transaction triggers another callback with late_payment set to true for that transaction.

Available options:
processing,
paid,
expired,
failed
payment_request_amount
object
required

The requested amount.

expires_at
integer
required

Unix time in seconds when the payment request expires.

status_reason
string

Additional details about the status. Present only in some cases:

  • Underpayment accepted according to your payment handling rules: a paid payment request where an underpayment was accepted
  • The payment couldn't be processed because the transaction was invalid or couldn't be accepted: a failed payment request where the transactions were invalid, for example smaller than the minimum deposit amount
  • Service is restricted for the payer. Payments from this payer cannot be processed: a failed payment request where the payment could not be processed
end_user_email
string

The end_user_email you provided when creating the payment request. Present only if it was provided.

end_user_reference
string

The end_user_reference you provided when creating the payment request. Present only if it was provided.

payment_request_address
object

Details of the address the customer pays to. Present once the customer has proceeded to payment.

currency_sent
object

Amounts the customer is expected to send and has sent. Present once the customer has proceeded to payment.

currency_received
object

The amount that will be credited to the merchant's account. Present only for paid payment requests.

transactions
object[]

Payment transactions. Invalid transactions are not included.

fees
object[]

Fees charged for the payment request, deducted from currency_received. Present only for paid payment requests. The processing fee is listed even if the customer pays it.

fixed_at
integer

Unix time in seconds when the rate was fixed. Present only after the rate is fixed.

valid_until
integer

Unix time in seconds until which the fixed rate is valid. Present only after the rate is fixed.

Last modified on September 30, 2026