Snap Logo

Webhooks

Receive event notifications from Snap and keep your application workflow synchronized with application and transaction updates.

Real-time notifications HTTPS POST JSON payloads
Before you begin
  • Your webhook endpoint must be publicly accessible.
  • Use HTTPS and accept HTTP POST requests.
  • 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.

1

Open API Keys

Sign in to the Developer Portal and navigate to the API Keys page.

2

Register the webhook

Locate your API key and select Register in the Register Webhook column.

3

Enter endpoint details

Provide your listener URL and Merchant ID, then select Register Webhook.

4

Subscribe to events

Open the Snap Webhook Application Portal and choose the events that your endpoint should receive.

API Keys — Register Webhook Select Register Webhook for the API key you want to configure.
Register Webhook dialog Enter the endpoint and Merchant ID, then submit the registration.

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

i

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.

1

Open Endpoints

In the Application Portal, open the Endpoints tab and select the endpoint to change.

2

Clear event subscriptions

Uncheck the event types you no longer want to receive.

3

Save

Save the endpoint configuration to apply the new subscriptions.