Skip to main content

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 #StatusWhat Happened
1PendingNoah received the fiat deposit from the bank. Compliance screening has begun.
2SettledCompliance screening passed. The deposit is confirmed.
2 (alt)FailedCompliance 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

StatusDescription
PendingDeposit received from bank, awaiting compliance review
SettledDeposit confirmed, funds available for use
FailedDeposit 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.

StatusMeaning
PendingRefund requested, being processed
CompletedFunds returned to customer's bank
FailedRefund 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

FieldPurpose
Data.IDUnique deposit identifier
Data.CustomerIDLink to your customer record
Data.PaymentMethodIDPayment method reference
EventVersionDeduplication and ordering