Cash App Pay has created webhooks so that you can subscribe to our events and get notified about them. When an event occurs, Cash App Pay collects data about the event, creates an event notification, and sends the event notification to the webhook endpoints that are subscribed to the event type.
We currently support around 10 different webhook event types you can subscribe to. A single webhook endpoint can subscribe to many event types. Some examples of webhook events that you can subscribe to are: payment state changes, customer is created/updated, grants are created/updated, etc. For each event that occurs, Cash App Pay sends a POST request to your webhook endpoint URL with the event details (in JSON format).
Examples of ways you can use webhooks as a third-party developer include:
dispute.created and dispute.state.updated webhooks to process Cash App Pay disputes as they’re created and updated in real time.grant.status.updated webhooks to process grant updates such as a customer revoking an on-file grant within Cash App.
event_type under List Webhook Events.Cash App Pay provides the following webhook-related operations:
Webhooks from Cash App Pay originate from the following IP addresses. These are provided so you can allow access by these addresses through a firewall you are using.
To acknowledge the receipt of the event notification, the webhook endpoint URL must:
You must update webhook endpoints with a new api_key_id when the previously assigned API key is rotated. See Using API Keys for more details.
Webhook events will not be successfully delivered for new domains until the new domain is allowlisted. New domains must be manually reviewed and allowlisted. It will typically take 1 business day to allowlist new domains. Contact Cash App Pay Partner Engineering Team if your URL is not allowlisted within the specified timeframe.
Cash App Pay provides the following SLA for webhook event notifications:
If the delivery times out, Cash App Pay will retry based on the table in Notification Retries.
Cash App Pay assumes the delivery is unsuccessful in the following scenarios:
Although this is true, you can still obtain the event notification by polling the List Webhook Events endpoint.
Cash App Pay uses exponential backoff to avoid spamming applications and retries notifications according to the schedule listed in the table below.
As an example, if Cash App Pay fails to deliver the event, it will try to send the event again in 1 second. If it fails again, it will try to send the event again in 1.15 seconds, which means that 2.15 seconds have elapsed since the initial attempt at delivery. Subsequent retries follow the retry schedule in the table below.
The exponential backoff retry policy is as follows: