> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ca.cryptoprocessing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

> [tab] Successful flow
>
> **Step 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](https://docs.ca.cryptoprocessing.com/payment-requests/fixed-payment-requests.md).
>
> **Step 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.
>
> **Step 3**
>
> The payment is complete. You receive a callback with the `paid` status once the full amount is received and confirmed.

> [tab] Expired
>
> If the customer hasn't created any transactions during the lifespan or the rate lock period, whichever ends first, you receive a callback with the `expired` status. A rate lock that ends before the lifespan ends the payment request too: it doesn't wait for `expires_at`.
>
> If the rate was never fixed, the callback has no payment address or `currency_sent`, because the customer didn't proceed to payment.
>
> A transaction that arrives after expiry triggers another callback, with the transaction marked `late_payment` in `transactions`.

> [tab] Failed for other reasons
>
> If the payment request wasn't fully paid in time (by the end of the lifespan or the rate lock period, whichever ends first), you receive a callback with the `failed` status. Check `status_reason` and the `status` of each entry in `transactions` to find out why. The possible reasons are described in the `status` field below.


## OpenAPI

````yaml api-reference/payment-request-callbacks.openapi.yaml webhook payment-request
openapi: 3.1.0
info:
  title: Payment request callbacks
  version: '1.0'
  description: >-
    Sent to your callback URL whenever the status of a payment request changes.
    Payment requests created in the portal do not trigger these callbacks.
servers: []
security: []
paths: {}

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.