Data File Processed Webhook (Infiniport Only)
This is an early look at functionality that will become available with the upcoming July 7, 2026, software update!
NOTE: This event currently fires only for transactions imported through Infiniport. It does not fire for transactions imported by other methods.
Overview
The DataFileProcessed event fires once for each data file after Infinicept finishes processing it, whether the file imported successfully or failed validation. Use this event to confirm that a file you submitted (or that arrived from a processor) has been fully processed, to record how many rows and merchants were affected, and to surface validation errors back to your own systems when a file fails.
The webhook body contains the event data fields only — there is no enclosing event-type wrapper in the payload.
Trigger Conditions
This event is triggered when a data file completes processing, after either transaction file processing (a transaction, authorization, or transaction-metadata file finishes importing) or dispute file processing (a chargeback or ACH-return file finishes importing).
Additional notes:
- This event requires a webhook subscription of type
DataFileProcessed. If no subscription exists for the tenant, no event is sent. - The event fires once per file. A single import batch that contains multiple files produces multiple events that share the same
FileImportId. - The event fires for both successful and failed processing. On failure,
RowsImportedandMerchantsAffectedare0andValidationErrorsis populated.
Payload Schema
The webhook body is the event data object serialized directly (there is no outer envelope). Field names are PascalCase.
Top-Level Fields
| Field | Type | Description |
|---|---|---|
FileImportId | String (GUID) | Correlation identifier for the import that produced this file. All files in the same import batch share this value. |
Filename | String | Name of the processed file. |
Source | String | Origin of the file. Values: Infiniport, Other. |
FileType | Integer | Numeric identifier of the data file type. See File Type Values below. |
ValidationErrors | Array | List of validation errors encountered. null when the file processed successfully; populated when processing failed. See ValidationErrors Fields below. |
RowsImported | Integer | Number of rows imported from the file. 0 when processing failed. |
MerchantsAffected | Integer | Number of distinct merchants affected by the imported rows. 0 when processing failed. |
ValidationErrors Fields
| Field | Type | Description |
|---|---|---|
Error | String | Human-readable description of the validation problem. |
Row | Integer | Row number where the error occurred. null when the error applies to the whole file rather than a specific row. |
Common Validation Errors
The Error field is a free-form string. A subset of messages follow fixed templates (placeholders shown in {braces}):
| Error template | Row | Meaning |
|---|---|---|
Missing required headers: {names} | null | The file's header is missing one or more required columns. |
Unexpected headers: {names} | null | The file's header contains columns that are not part of the expected format. |
Cannot parse a date from filename {filename} - expected format is yyyy_MM_dd | null | The filename does not contain a date in yyyy_MM_dd format. |
'{value}' is not a valid value for field {field} | row number | A field value could not be converted to its expected type. |
This row contains unparsable data that does not conform to the CSV format at field {field} | row number | The row is malformed (for example, unbalanced quotes or bad escaping). |
File Type Values
FileType is sent as a numeric value. 0 (Unknown) is a fallback used when the file type cannot be determined; all other values are grouped by source below — expand your integration source. Most integrations only encounter the values for the file types they submit (such as transactions, chargebacks, fees, and ACH returns).
| Name | FileType |
|---|---|
| NativeTransactions | 21 |
| NativeChargebacks | 23 |
| NativeAdjustments | 24 |
| NativeFees | 25 |
| NativeFundingDepositResults | 26 |
| NativeAuthorizations | 29 |
| NativeTransactionsMetadata | 30 |
| NativeConsumerACHReturns | 31 |
| NativeFundingRequests | 32 |
| Name | FileType |
|---|---|
| AdyenPaymentAccountingReport | 12 |
| AdyenSettlementDetailReport | 13 |
| AdyenReceivedPaymentsDetailReport | 14 |
| AdyenMarketplacePaymentsAccountingReport | 15 |
| AdyenDisputeReport | 18 |
| AdyenMarketplaceVirtualAccountPayoutReturnedFile | 22 |
| Name | FileType |
|---|---|
| VantivEMAF | 7 |
| VantivCHARTS | 8 |
| VantivEMAFByMid | 19 |
| VantivDisputes | 28 |
| VantivCHARTSAggregate | 34 |
| VantivDisputesAggregate | 35 |
| Name | FileType |
|---|---|
| FirstDataTransactions | 11 |
| FirstDataChargebacks | 16 |
| FirstDataCLXAuthorizations | 33 |
| Name | FileType |
|---|---|
| WorldpayFundingRejectReport | 20 |
| Name | FileType |
|---|---|
| WellsFargoACHReturn | 10 |
| Name | FileType |
|---|---|
| NachaACHReturn | 27 |
Note: Values
1–6,9, and17are reserved for retired integrations (legacy TSYS and Merlin) and are not emitted. They remain in the sequence to preserve ordinal consistency with historical data.
Example Payload
Successful processing:
json { "FileImportId": "3f2504e0-4f89-41d3-9a0c-0305e82c3301", "Filename": "transactions_2022_11_18_001.csv", "Source": "Infiniport", "FileType": 21, "ValidationErrors": null, "RowsImported": 9001, "MerchantsAffected": 91 }
Failed processing:
json { "FileImportId": "3f2504e0-4f89-41d3-9a0c-0305e82c3301", "Filename": "transactions_2022_11_18_001.csv", "Source": "Infiniport", "FileType": 21, "ValidationErrors": [ { "Error": "File is empty", "Row": null }, { "Error": "Rows are corrupt", "Row": 24 } ], "RowsImported": 0, "MerchantsAffected": 0 }
Handling This Event
- Check
ValidationErrorsto determine the outcome. Anullvalue means the file processed successfully; a populated array means processing failed and no rows were imported. - On success, read
RowsImportedandMerchantsAffectedto reconcile the import against your own records and confirm the expected volume. - On failure, surface each
Error(with itsRow, when present) to the team or system responsible for the file so it can be corrected and resubmitted. - Use
FileImportIdto group events that belong to the same import batch, since one import can produce multipleDataFileProcessedevents across different files. - Store
FileImportIdandFilenameto correlate this event with the file you submitted and with any priorDataFileAcceptedForProcessingevent (see Data File Accepted for Processing Webhook).
Updated 12 days ago

