Swipelux
Webhooks

Events and payloads

Learn about the events and payloads that are available for webhooks, including detailed examples and best practices.

Available Events

Webhooks provide real-time notifications about important events in your application. You can subscribe to these events to automate workflows, maintain data synchronization, or trigger custom business logic.

Event Structure

Each webhook event follows this structure:

{
  "id": "evt_123456789",
  "type": "event.type",
  "created": "2024-03-20T10:00:00Z",
  "data": {
    // Event-specific data
  }
}

Customer Events

Customer events notify you about changes to customer profiles and information.

Event NameDescriptionAvailable DataExample Payload
customer.createdTriggered when a new customer is created- id: Customer identifier
- firstName: Customer's first name
- middleName: Customer's middle name
- lastName: Customer's last name
- birthDate: Customer's date of birth
- phone: Customer's phone number
- email: Customer's email address
- createdAt: Timestamp of creation
- status: Customer account status
json<br/>{<br/> "id": "cus_123",<br/> "firstName": "John",<br/> "lastName": "Doe",<br/> "email": "john@example.com",<br/> "status": "active"<br/>}
customer.updatedTriggered when customer information is modified- id: Customer identifier
- firstName: Customer's first name
- middleName: Customer's middle name
- lastName: Customer's last name
- birthDate: Customer's date of birth
- phone: Customer's phone number
- email: Customer's email address
- updatedAt: Timestamp of update
- status: Customer account status
- changes: Array of modified fields
json<br/>{<br/> "id": "cus_123",<br/> "changes": ["phone", "email"],<br/> "status": "verified"<br/>}

Transfer Events

Transfer events provide real-time updates about money movement operations.

Event NameDescriptionAvailable DataExample Payload
transfer.createdTriggered when a new transfer is initiated- id: Transfer identifier
- onBehalfOf: Customer the transfer is for
- state: Current transfer state
- amount: Transfer amount
- source: Source details including:
  • currency: Source currency
  • paymentRail: Payment rail used
  • accountId: Source account identifier
  • routingNumber: Bank routing number (if applicable)
- destination: Destination details including:
  • currency: Destination currency
  • accountId: Destination account identifier
  • routingNumber: Bank routing number (if applicable)
- metadata: Custom key-value pairs
- createdAt: Timestamp of creation
json<br/>{<br/> "id": "tr_123",<br/> "amount": 1000.00,<br/> "source": {<br/> "currency": "USD",<br/> "paymentRail": "ach"<br/> },<br/> "destination": {<br/> "currency": "EUR"<br/> }<br/>}
transfer.updatedTriggered when transfer status changes- id: Transfer identifier
- onBehalfOf: Customer the transfer is for
- state: Updated transfer state
- amount: Transfer amount
- source: Source details including:
  • currency: Source currency
  • paymentRail: Payment rail used
  • accountId: Source account identifier
- destination: Destination details including:
  • currency: Destination currency
  • accountId: Destination account identifier
- metadata: Custom key-value pairs
- updatedAt: Timestamp of update
- previousState: Previous transfer state
json<br/>{<br/> "id": "tr_123",<br/> "state": "processing",<br/> "previousState": "pending"<br/>}
transfer.completedTriggered when transfer successfully completes- id: Transfer identifier
- onBehalfOf: Customer the transfer is for
- state: Final transfer state
- amount: Transfer amount
- source: Source details including:
  • currency: Source currency
  • paymentRail: Payment rail used
  • accountId: Source account identifier
- destination: Destination details including:
  • currency: Destination currency
  • accountId: Destination account identifier
- metadata: Custom key-value pairs
- completedAt: Timestamp of completion
- settlementDate: Expected settlement date
json<br/>{<br/> "id": "tr_123",<br/> "state": "completed",<br/> "settlementDate": "2024-03-22"<br/>}
transfer.failedTriggered when transfer processing fails- id: Transfer identifier
- onBehalfOf: Customer the transfer is for
- state: Failed transfer state
- amount: Transfer amount
- source: Source details including:
  • currency: Source currency
  • paymentRail: Payment rail used
  • accountId: Source account identifier
- destination: Destination details including:
  • currency: Destination currency
  • accountId: Destination account identifier
- metadata: Custom key-value pairs
- failedAt: Timestamp of failure
- failureReason: Detailed error message
- failureCode: Error code for programmatic handling
json<br/>{<br/> "id": "tr_123",<br/> "state": "failed",<br/> "failureReason": "Insufficient funds",<br/> "failureCode": "INSUFFICIENT_FUNDS"<br/>}

On this page