FiatDeposit Event
Overview
The FiatDeposit webhook event is triggered when a customer makes a fiat deposit to an assigned bank account number. This event allows your application to receive real-time notifications about incoming fiat deposits, enabling you to take the relevant actions within your system and ensures your system stays informed about all incoming fiat transactions.
If a deposit is refunded, the Refunds field will contain a list of refund attempts and their corresponding statuses, allowing you to track the complete lifecycle of any refunded transactions.
To configure a FiatDeposit webhook subscription, reference the Webhook Configuration page.
Webhook Lifecycle
A single fiat deposit will trigger multiple webhooks as it progresses:
| Webhook # | Status | What Happened |
|---|---|---|
| 1 | Pending | Noah received the fiat deposit from the bank. Compliance screening has begun. |
| 2 | Settled | Compliance screening passed. The deposit is confirmed. |
| 2 (alt) | Failed | Compliance screening failed. A refund is initiated. |
If the deposit is part of a fiat-to-crypto flow, you will also receive Transaction webhooks.
Status Reference
| Status | Description |
|---|---|
Pending | Deposit received from bank, awaiting compliance review |
Settled | Deposit confirmed, funds available for use |
Failed | Deposit failed or was rejected; check Refunds array |
Event Payload Structure
When a FiatDeposit event occurs, Noah sends a webhook notification to your configured endpoint with the following JSON payload:
{
"Data": {
"Created": "2024-10-17T13:50:11Z",
"CustomerID": "418cf282-e60e-45ad-8db8-761a7f7f2210",
"FiatAmount": "10.6",
"FiatCurrency": "EUR",
"PaymentMethodID": "Bank/Sepa/EUR/SEOUGB21/GB71SEOU19870010277225",
"PaymentSystemID": "A10050DE67M10F1R23BL00D7KP"
"ID": "96369c50-7fd3-4222-a76d-1c054e6ea9de",
"Sender": {
"Details": {
"AccountNumber": "GB29NWBK60161331926819",
"Type": "FiatPaymentMethodBankDisplay"
},
"FullName": "Jonathan Smith"
},
"Status": "Settled",
"Refunds": [
{
"RefundID": "1950886d-e2c2-444f-ac5c-eb8f94e9fc1b",
"RequestedTime": "2024-10-18T13:00:00Z",
"RefundedAmount": {
"Amount": "10.6",
"FiatCurrency": "EUR"
},
"Status": "Pending"
}
]
},
"EventType": "FiatDeposit",
"EventVersion": 1729340080833,
"Occurred": "2024-10-19T12:14:41Z",
"UserID": "ory|62727185528481006f3ff4cc"
}
Handling Refunds
When a FiatDeposit has Status: "Failed", the Refunds array contains refund details:
{
"Data": {
"Status": "Failed",
"Refunds": [
{
"RefundID": "1950886d-e2c2-444f-ac5c-eb8f94e9fc1b",
"RequestedTime": "2024-10-18T13:00:00Z",
"RefundedAmount": {
"Amount": "10.6",
"FiatCurrency": "EUR"
},
"Status": "Pending"
}
]
}
}
Refund Status Values
You will receive additional FiatDeposit webhooks as the refund status changes.
| Status | Meaning |
|---|---|
Pending | Refund requested, being processed |
Completed | Funds returned to customer's bank |
Failed | Refund could not complete (contact support) |
Simulate a FiatDeposit
You can simulate the action of a customer depositing fiat into an assigned bank account number, for testing purposes, in the Sandbox Environment. To do this, call the Simulate Fiat Deposit endpoint.
Fields to Store for Reconciliation
| Field | Purpose |
|---|---|
Data.ID | Unique deposit identifier |
Data.CustomerID | Link to your customer record |
Data.PaymentMethodID | Payment method reference |
EventVersion | Deduplication and ordering |