Webhooks
Receive event notifications from Snap and keep your application workflow synchronized with application and transaction updates.
- Your webhook endpoint must be publicly accessible.
- Use HTTPS and accept HTTP
POSTrequests. - Your listener should be able to process JSON payloads.
Quick start
Register your webhook, configure the events you need, then use the Application Portal to manage delivery.
Open API Keys
Sign in to the Developer Portal and navigate to the API Keys page.
Register the webhook
Locate your API key and select Register in the Register Webhook column.
Enter endpoint details
Provide your listener URL and Merchant ID, then select Register Webhook.
Subscribe to events
Open the Snap Webhook Application Portal and choose the events that your endpoint should receive.
Manage webhooks
After registration, open the Snap Webhook Application Portal from the API Keys page.
Endpoints
Add Endpoint
Create a new HTTPS listener URL and choose the events it should receive.
Edit Endpoint
Open an existing endpoint to update the URL or event subscriptions.
Save Configuration
Changes take effect after the endpoint configuration is saved.
Logs
Delivery History
Review webhook delivery attempts, results, and status.
Retries
See failed deliveries and when Snap retried the notification.
Success / failure
Confirm which events were accepted by your listener.
Activity
Configuration History
Review configuration and activity history for the webhook setup.
Who changed what
Track endpoint URL and subscription updates over time.
Timestamps
Use activity timestamps when troubleshooting delivery issues.
Webhook events
Subscribe to one or more event types from the Endpoints tab.
| Event | Description |
|---|---|
| ORIGINATIONS.APPLICATION_STATUS_CHANGE | Application status changed. |
| ORIGINATIONS.INVOICE_ADJUSTMENT | Invoice amount was adjusted. |
| ORIGINATIONS.PRODUCT_TYPE_CHANGE | Application product type changed. |
| ORIGINATIONS.APPLICATION_CANCELLED | Application was cancelled. |
| ORIGINATIONS.APPLICATION_REFUNDED | Application refund notification. |
| ORIGINATIONS.APPLICATION_CAPTURED | Application was captured. |
Event payloads
Expand an event to view an example JSON payload.
Application status change
APPLICATION_STATUS_CHANGE
Example notification when an application status changes.
{
"applicationId": "260310000SFL",
"applicationStatus": "APPROVED",
"applicationSubStatus": "",
"applicationCreateTime": "2026-03-10T14:59:38.289Z",
"applicationUpdateTime": "2026-03-10T14:59:44.179Z"
}
Invoice adjustment
INVOICE_ADJUSTMENT
Example notification when the invoice amount changes.
{
"applicationId": "260310000SFL",
"previousInvoiceAmount": "1250.00",
"currentInvoiceAmount": "1100.00",
"applicationUpdateTime": "2026-03-10T15:12:01.100Z"
}
Product type change
PRODUCT_TYPE_CHANGE
Example product type change notification.
{
"merchantId": "81556",
"productType": "LTO"
}
Application cancelled
APPLICATION_CANCELLED
Example cancellation notification.
{
"applicationId": "260310000SFL",
"applicationStatus": "INACTIVE",
"cancellationReason": "CUSTOMER_REQUEST",
"applicationUpdateTime": "2026-03-10T16:05:22.450Z"
}
Application refunded
APPLICATION_REFUNDED
Example refund notification.
{
"applicationId": "260310000SFL",
"applicationStatus": "INACTIVE",
"refundAmount": "1018.15",
"refundStatus": "REFUNDED",
"transactionReference": "TXN-987654321",
"applicationUpdateTime": "2026-03-11T09:20:11.000Z"
}
Application captured
APPLICATION_CAPTURED
Example capture notification.
{
"applicationId": "260310000SFL",
"applicationStatus": "COMPLETE",
"deliveryDate": "2026-03-10",
"applicationUpdateTime": "2026-03-10T18:40:00.000Z"
}
Application status transitions
Use these transitions to understand how application states can change.
| Current status | Possible final status |
|---|---|
| Pending | Prequalified, Withdrawn, Approved, Denied |
| Prequalified | Approved, Withdrawn, Denied |
| Pending signed docs | Pending delivery, Complete, Withdrawn |
| Pending delivery | Complete, Withdrawn |
| Approved | Inactive |
| Complete | Approved |
- Approved → Inactive: When the customer reapply for a second time so the first application moves to Inactive.
- Complete → Approved: A CARE agent helping manually to do an invoice adjustment or resending a new agreement.
Unsubscribe from events
Stop receiving specific events or all events for an endpoint.
Open Endpoints
In the Application Portal, open the Endpoints tab and select the endpoint to change.
Clear event subscriptions
Uncheck the event types you no longer want to receive.
Save
Save the endpoint configuration to apply the new subscriptions.