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, RowsImported and MerchantsAffected are 0 and ValidationErrors is 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

FieldTypeDescription
FileImportIdString (GUID)Correlation identifier for the import that produced this file. All files in the same import batch share this value.
FilenameStringName of the processed file.
SourceStringOrigin of the file. Values: Infiniport, Other.
FileTypeIntegerNumeric identifier of the data file type. See File Type Values below.
ValidationErrorsArrayList of validation errors encountered. null when the file processed successfully; populated when processing failed. See ValidationErrors Fields below.
RowsImportedIntegerNumber of rows imported from the file. 0 when processing failed.
MerchantsAffectedIntegerNumber of distinct merchants affected by the imported rows. 0 when processing failed.

ValidationErrors Fields

FieldTypeDescription
ErrorStringHuman-readable description of the validation problem.
RowIntegerRow 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 templateRowMeaning
Missing required headers: {names}nullThe file's header is missing one or more required columns.
Unexpected headers: {names}nullThe 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_ddnullThe filename does not contain a date in yyyy_MM_dd format.
'{value}' is not a valid value for field {field}row numberA 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 numberThe 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).

NameFileType
NativeTransactions21
NativeChargebacks23
NativeAdjustments24
NativeFees25
NativeFundingDepositResults26
NativeAuthorizations29
NativeTransactionsMetadata30
NativeConsumerACHReturns31
NativeFundingRequests32
NameFileType
AdyenPaymentAccountingReport12
AdyenSettlementDetailReport13
AdyenReceivedPaymentsDetailReport14
AdyenMarketplacePaymentsAccountingReport15
AdyenDisputeReport18
AdyenMarketplaceVirtualAccountPayoutReturnedFile22
NameFileType
VantivEMAF7
VantivCHARTS8
VantivEMAFByMid19
VantivDisputes28
VantivCHARTSAggregate34
VantivDisputesAggregate35
NameFileType
FirstDataTransactions11
FirstDataChargebacks16
FirstDataCLXAuthorizations33
NameFileType
WorldpayFundingRejectReport20
NameFileType
WellsFargoACHReturn10
NameFileType
NachaACHReturn27

Note: Values 16, 9, and 17 are 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

  1. Check ValidationErrors to determine the outcome. A null value means the file processed successfully; a populated array means processing failed and no rows were imported.
  2. On success, read RowsImported and MerchantsAffected to reconcile the import against your own records and confirm the expected volume.
  3. On failure, surface each Error (with its Row, when present) to the team or system responsible for the file so it can be corrected and resubmitted.
  4. Use FileImportId to group events that belong to the same import batch, since one import can produce multiple DataFileProcessed events across different files.
  5. Store FileImportId and Filename to correlate this event with the file you submitted and with any prior DataFileAcceptedForProcessing event (see Data File Accepted for Processing Webhook).


Did this page help you?