File naming
Fexco uses the filename prefix to identify the source acquirer and route the file to the correct processing pipeline. Using an incorrect or inconsistent filename will cause the file to be rejected or misrouted. Name every Boarding File Upload file using this format:Character encoding
All Boarding File Upload XML files must use UTF-8 encoding. Declare the encoding in the XML declaration on the first line of every file.File structure
An Boarding File Upload XML file consists of amerchantBulkUpload root element
containing one or more acquirer elements. Each acquirer element
holds createMerchant, reactivateMerchant, updateMerchant, and
deleteMerchant operations as child elements. When an acquirer
element contains more than one type of operation, place them in this
order: createMerchant, reactivateMerchant, updateMerchant, then
deleteMerchant.
All element and attribute names are case-sensitive and must be written
in camelCase exactly as shown in this reference. For example,
createMerchant is valid but CreateMerchant and create_merchant
are not.
The acquirer element takes a single id attribute. This is a
positive integer up to 999, assigned by Fexco. Every operation inside
the acquirer block is associated with this acquirer ID.
createMerchant fields
Use the createMerchant element to board a new merchant. Each
createMerchant block defines one merchant record. Add multiple
createMerchant elements within the same acquirer to board several
merchants in one file. Each record is processed independently, so a
data error in one does not prevent the others from being processed.
The
id attribute on createMerchant is the merchant’s unique
identifier in Mercury (used for reporting). The Merchant ID (MID)
used for rate service queries and transaction import files is the
tag attribute on each originator element. In most cases both
values are the same.Merchant attributes
The following attributes apply to thecreateMerchant element.
Merchant elements
Child elements must appear insidecreateMerchant in the order shown
below. The table lists every supported child element.
Merchant originator fields
Anoriginator element represents the Dynamic Currency Conversion
(DCC) configuration for one base currency and card scheme combination.
Add one originator per base currency and card scheme combination;
for example, one for Visa EUR and a separate one for Mastercard GBP.
The tag attribute on originator is the Merchant ID (MID) used in
rate service queries and transaction import files. It is provided by
the integrator. In most cases it matches the merchant id attribute.
Merchant originator attributes
The following attributes apply to theoriginator element.
Merchant originator elements
The table below covers the child elements oforiginator.
baseCurrency uses the ISO 4217 numeric code, not the three-letter
alpha code. For example, use 978, not EUR.Commission split fields
ThecommissionSplit element is optional under originator. The V26.1
XSD also marks each child element below as optional. The XSD does not
define how omitted values or combinations are handled by business
validation. Confirm those requirements with Fexco.
Terminal fields
Use theterminal element to associate a point of sale (POS) or ATM
terminal with a merchant. Terminals are optional, and a merchant can
have zero or more terminals. The table below covers the id attribute and the location child
element.
Address elements
Theaddress element is optional on createMerchant. The table
below covers all supported child elements of address. All fields
are optional.
Contact elements
Thecontact element was added in v26.1 and is optional. The table
below covers the child elements of contact. All fields are optional.
Bank account elements
ThebankAccount element was added in v26.1 and is optional. The
table below covers the child elements of bankAccount. All fields
are optional.
updateMerchant fields
Use the updateMerchant element to modify an existing merchant
record. You identify the merchant by its id attribute. The id
itself cannot be changed.
Update attributes
The following attribute is required on theupdateMerchant element.
Update elements
All update elements are optional. Include only the elements you want to change. The table below lists every supported update element.
The
newAddress element uses the same structured child elements as
address. This example replaces the address lines and country code:
Update a commission split
For standard XML boarding updates, supplyacquirerPercent inside
newCommissionSplit. The service calculates the merchant percentage as
the existing acquirer-plus-merchant total minus the new acquirer
percentage. This operation does not change that total. Supplying
merchantPercent or merchantProviderPercent does not independently
update those percentages through this operation.
The new acquirer percentage must be an allowed value for your acquirer,
must be non-negative, and must not exceed the existing total for any
affected merchant originator. Confirm the configured allowed values
with Fexco.
After processing, check the response file for errors before treating the
update as successful. The XSD’s optional fields alone do not establish
whether a commission change will be accepted.
deleteMerchant fields
Use the deleteMerchant element to deactivate a merchant. This is
a soft-delete operation: the merchant record is retained for audit
and historical reporting purposes and is not permanently removed. To
make the merchant active again, use the reactivateMerchant operation.
The table below covers the single attribute on deleteMerchant.
reactivateMerchant fields
Use the reactivateMerchant element to make a deactivated merchant
active again. The following example reactivates one merchant.
reactivateMerchant.
Response file format
After Fexco processes your Boarding File Upload XML file, a response file is placed in your Secure File Transfer Protocol (SFTP) folder. The response format and filename pattern are configured for your customer. Confirm the configured format, filename prefix, and output folder in your onboarding details. Available response writer formats include CSV and TXT, with versioned variants. For example, if your CSV configuration uses the request base name and a.csv extension, a request named MBUACQ20260920.143000.XML produces
MBUACQ20260920.143000.csv. Your configured naming pattern may differ.
CSV response file fields
The table below describes one CSV response layout. Your configured format may use a different layout.HTTP status codes
The table below describes the three status codes that appear in theStatus Code column.
Error codes
Errors prevent the affected merchant operation from completing. Correct the identified data and resubmit only the failed records in a new Boarding File Upload file. Do not resubmit records that were processed successfully.File-level errors
File-level errors cause the entire file to be rejected. No merchant records in the file are processed. The table below covers the three file-level error conditions.Merchant record errors
Merchant record errors affect only the individual record that caused them. The table below lists all merchant record error codes.Warning codes
Warnings do not stop the merchant operation from completing. The merchant record is created or updated, but you should review the warning and correct optional data where possible. The table below lists all warning codes.Special characters
XML reserves certain characters for markup. If these characters appear in element content or attribute values, you must replace them with their XML entity references. Using a bare reserved character causes an Invalid XML content file-level error. The table below lists the five XML entity references you are most likely to need.Sample file
The following sample shows a complete Boarding File Upload XML file. It includes twocreateMerchant operations and one updateMerchant operation. Cafe
Berlin has one originator and one terminal. Harbour View Hotel has two
originators and one terminal, and includes contact details.
Next steps
The following resources complement this reference.- Board merchants via XML: step-by-step instructions for building, validating, and submitting a Boarding File Upload XML file via SFTP.
- Validate an XML file before submission: how to validate your file against the Boarding File Upload XSD schema and resolve common schema errors before submission.
- Sample files: downloadable XML Boarding File Upload templates and example files you can use as a starting point.
- Field name mapping: reference for how XML Boarding File Upload fields map to their equivalents in the REST API, rate service, and transaction import files.
