Typed structs for all known ClearBank webhook event payloads.
Use these in your ClearBank.Webhook.Handler implementations for
structured pattern matching and compile-time field documentation.
Usage
use ClearBank.Webhook.Handler
@impl true
def handle(%ClearBank.Webhook{type: "TransactionSettled", payload: payload}) do
event = ClearBank.Webhook.Events.TransactionSettled.from_payload(payload)
# event.transaction_id, event.amount, etc.
:ok
endAll event types
| Event type | Module | Trigger |
|---|---|---|
FITestEvent | FITestEvent | POST /v1/Test |
TransactionSettled | TransactionSettled | Payment settled inbound or outbound |
PaymentMessageAssessmentFailed | PaymentMessageAssessmentFailed | Payment rejected pre-settlement |
PaymentMessageValidationFailed | PaymentMessageValidationFailed | Payment failed validation |
TransactionRejected | TransactionRejected | Payment rejected post-submission |
FpsPaymentReturnCreated | FpsPaymentReturnCreated | FPS return payment created |
BacsPaymentCreated | BacsPaymentCreated | Bacs payment created |
BacsMandateCreated | BacsMandateCreated | Direct Debit Instruction created |
BacsMandateCancelled | BacsMandateCancelled | DDI cancelled |
BacsMandateMigrated | BacsMandateMigrated | DDI migrated from another SUN |
ChapsPaymentCreated | ChapsPaymentCreated | CHAPS payment created |
ChapsReturnCreated | ChapsReturnCreated | CHAPS return created |
CopOutboundResponse | CopOutboundResponse | CoP name check response received |
MccyTransactionCreated | MccyTransactionCreated | Multi-currency transaction created |
FxTradeCreated | FxTradeCreated | FX trade executed |
FxTradeSettled | FxTradeSettled | FX trade settled |
CustomerKycStatusChanged | CustomerKycStatusChanged | Embedded Banking KYC status update |
EmbeddedAccountCreated | EmbeddedAccountCreated | Embedded account created |
EmbeddedTransactionSettled | EmbeddedTransactionSettled | Embedded account payment settled |
Summary
Functions
Parses a webhook payload into a typed event struct based on the webhook type.