Payment request callbacks
Sent to your callback URL whenever the status of a payment request changes. Payment requests created in the portal do not trigger these callbacks.
- Successful flow
- Expired
- Failed for other reasons
processing status when the customer clicks Proceed to payment, or immediately for a fixed payment request.processing status for each transaction, and the transaction is listed in the transactions block of the callback.paid status once the full amount is received and confirmed.Body
Payment request ID.
The foreign_id you provided when creating the payment request. Use it to map the callback to a customer or order in your system.
payment_request 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 detectedpaid: 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 alsopaidas soon as the transactions are confirmed, and the extra is refunded to the customer, see Automatic refunds. An accepted underpayment gets thepaidstatus only when the payment request lifespan endsexpired: the customer created no transactions during the lifespan or rate lock periodfailed: 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.
processing, paid, expired, failed The requested amount.
Unix time in seconds when the payment request expires.
Additional details about the status. Present only in some cases:
Underpayment accepted according to your payment handling rules: apaidpayment request where an underpayment was acceptedThe payment couldn't be processed because the transaction was invalid or couldn't be accepted: afailedpayment request where the transactions were invalid, for example smaller than the minimum deposit amountService is restricted for the payer. Payments from this payer cannot be processed: afailedpayment request where the payment could not be processed
The end_user_email you provided when creating the payment request. Present only if it was provided.
The end_user_reference you provided when creating the payment request. Present only if it was provided.
Details of the address the customer pays to. Present once the customer has proceeded to payment.
Amounts the customer is expected to send and has sent. Present once the customer has proceeded to payment.
The amount that will be credited to the merchant's account. Present only for paid payment requests.
Payment transactions. Invalid transactions are not included.
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.
Unix time in seconds when the rate was fixed. Present only after the rate is fixed.
Unix time in seconds until which the fixed rate is valid. Present only after the rate is fixed.