⚠️ This article is for payment terminal providers, not merchants
Are you a restaurant owner or retailer looking to accept Swile cards in your business? Please see our dedicated guide for Swile affiliates instead.
How do I automate Swile card acceptance on payment terminals?
Do you supply your clients with payment terminals and want to offer them the ability to accept Swile cards? Good news: Swile provides its partners with an automated system designed to instantly update the eligibility of your terminal fleet.
Any payment solution provider operating in the French market can join our network – and offer their clients in sectors such as hospitality, transport, gifting and more, the ability to accept Swile solutions.
Ready to get started?
Check out our technical guides below to find out how to integrate:
In French 🇫🇷
This guide explains how to generate your security keys and set up your software to access our secure file exchange server (SFTP).
Prerequisites
To connect, we don't use a password, but an SSH key pair (a public key you give us, and a private key you keep).
Step 1: Generate your SSH key pair
🍎 On macOS / Linux
- Open the Terminal application.
-
Copy and paste the following command and press Enter:
ssh-keygen -t rsa -b 4096 -C "your-email@partner.com"
- The terminal will ask where to save the key. Press Enter to confirm the default location.
- It will ask for a "passphrase" (password). You can just press Enter twice to leave it blank (easier for automation), or set one for extra security.
Your keys are created in the hidden folder /Users/your_name/.ssh/:
-
id_rsa: This is your PRIVATE KEY. (Never share it with anyone). -
id_rsa.pub: This is your PUBLIC KEY.
🪟 On Windows (10 and 11)
- Open the Start menu and type PowerShell.
-
Copy and paste the following command and press Enter:
ssh-keygen -t rsa -b 4096
- Press Enter at each prompt to confirm the default options.
Your keys are created in the folder C:\\\\Users\\\\YourName\\\\.ssh\\\\:
-
id_rsa: This is your PRIVATE KEY. -
id_rsa.pub: This is your PUBLIC KEY.
Step 2: Send us your Public Key
- Go to the folder where the keys were created.
- Find the file ending with
.pub(e.g.id_rsa.pub). - Send us this file by email.
⚠️ IMPORTANT: Never send us the file without an extension (your private key). Keep it safe—it's your "passport" for access.
Step 3: Connect with FileZilla
We recommend the free FileZilla Client, but any SFTP-compatible client will work (WinSCP, Cyberduck, Transmit).
- Download and install FileZilla Client.
- Open FileZilla and go to File > Site Manager (or the icon at the top left).
- Click New Site and give it a name (e.g. "SFTP Exchange").
- Set up the General tab as follows:
| Field | Value to enter |
|---|---|
| Protocol | SFTP - SSH File Transfer Protocol (Very important!) |
| Host | (The address we provided to you by email) |
| Port | 22 |
| Logon Type | Key file |
| User | (The username we provided to you by email) |
| Key file | Click "Browse" and select your Private Key file (id_rsa) generated in step 1. |
Note: If FileZilla asks you to convert the key to another format, click "Yes".
- Click Connect.
FAQ / Troubleshooting
I can't see my keys in the .ssh folder Folders starting with a dot are often hidden.
-
On Mac: In Finder, press
Cmd + Shift + .to show hidden files. - On Windows: In Explorer, go to the "View" tab and tick "Hidden items".
"Permission denied (publickey)" error This usually means:
- You're not using the correct private key.
- We haven't enabled your access with the public key you sent us yet.
- The username is incorrect.
Can I use the same key on several computers? Yes. You can copy your private key file (id_rsa) to another computer or server to automate transfers.
In English 🇬🇧
This guide explains how to generate your security keys and configure your software to access our secure file exchange server (SFTP).
Prerequisites
To connect, we do not use passwords, but an SSH key pair (a public key that you provide to us, and a private key that you keep).
Step 1: Generate your SSH key pair
🍎 On macOS / Linux
- Open the Terminal application.
-
Copy and paste the following command and press Enter:
ssh-keygen -t rsa -b 4096 -C "your-email@partner.com"
- The terminal will ask where to save the key. Press Enter to accept the default location.
- It will ask for a "passphrase" (password). You can press Enter twice to leave it empty (simpler for automation), or enter one for extra security.
Your keys are created in the hidden folder /Users/your_username/.ssh/:
-
id_rsa: This is your PRIVATE KEY. (Never share it with anyone). -
id_rsa.pub: This is your PUBLIC KEY.
🪟 On Windows (10 and 11)
- Open the Start menu and type PowerShell.
-
Copy and paste the following command and press Enter:
ssh-keygen -t rsa -b 4096
- Press Enter at each prompt to accept the default options.
Your keys are created in the folder C:\\\\Users\\\\YourName\\\\.ssh\\\\:
-
id_rsa: This is your PRIVATE KEY. -
id_rsa.pub: This is your PUBLIC KEY.
Step 2: Send us your public key
- Go to the folder where the keys were created.
- Open the file ending in
.pub(e.g.id_rsa.pub). - Send us this file by email.
⚠️ IMPORTANT: Never send us the file without an extension (your private key). Keep it safe—it is your "passport" for access.
Step 3: Connect with FileZilla
We recommend the free FileZilla Client, but any SFTP-compatible client works (WinSCP, Cyberduck, Transmit).
- Download and install FileZilla Client.
- Open FileZilla and go to File > Site Manager (or the icon at the top left).
- Click New Site and name it (e.g. "SFTP Exchange").
- Configure the General tab as follows:
| Field | Value |
|---|---|
| Protocol | SFTP - SSH File Transfer Protocol (Very important!) |
| Host | (The address we provided to you by email) |
| Port | 22 |
| Logon Type | Key file |
| User | (The username we provided to you by email) |
| Key file | Click "Browse" and select your Private Key file (id_rsa) generated in step 1. |
Note: If FileZilla asks to convert the key to another format, click "Yes".
- Click Connect.
FAQ / Troubleshooting
I don't see my keys in the .ssh folder
Folders starting with a dot are often hidden.
-
On Mac: In Finder, use
Cmd + Shift + .to show hidden files. - On Windows: In Explorer, under the "View" tab, check "Hidden items".
"Permission denied (publickey)" error
This usually means that:
- You are not using the correct private key.
- We have not yet enabled your access with the public key you sent us.
- The username is incorrect.
Can I use the same key on multiple computers?
Yes. You can copy your private key file (id_rsa) to another computer or server to automate transfers.
🇫🇷 CSV File Format - Importing Partner Payment Terminals
This documentation explains the CSV file format to use for importing partner payment terminals (POS) into the Loop system.
Overview
The CSV file must have a header row and one row for each payment terminal to import. The file should be UTF-8 encoded and use a comma (,) as the separator.
File Structure
Column Headers
The CSV file must start with a header row containing the following columns (in order: required fields first, then optional):
mid,country_code,name,acquirer_id,subid,company_registration_number,category_code,naf,street,zip_code,city
Field Descriptions
Required Fields
| Column | Type | Description | Example |
|---|---|---|---|
mid |
String | POS ID (unique terminal identifier) | 1234567890 |
country_code |
String | ISO 3166-1 alpha-2 country code (2 letters) |
FR, BR, ES
|
name |
String | Establishment name | Restaurant Le Gourmet |
Optional Fields
| Column | Type | Description | Example |
|---|---|---|---|
acquirer_id |
String | Acquirer ID (payment network / provider) | 123 |
subid |
String | Sub-merchant ID (secondary identifier) | SUB001 |
company_registration_number |
String | Company registration number (e.g. SIRET in France), 14 digits | 12345678901234 |
category_code |
String | MCC (Merchant Category Code) |
5812, 5814
|
naf |
String | NAF code (French business activity code) |
5610A, 4724Z
|
street |
String | Address | 50 chemin des pins |
zip_code |
String | Postcode |
75001, 69000
|
city |
String | City |
Paris, Lyon
|
Important Rule: Category_code or NAF
⚠️ Important: You can fill in either the category_code (MCC) field or the naf (NAF code) field, or both.
Priority rule: If both fields are filled in, the MCC (category_code) will be used and the NAF code will be ignored.
- If you only have the MCC code, use the
category_codefield - If you only have the NAF code, use the
naffield - If you have both, you can fill in both: the MCC will take priority
CSV File Example
mid,acquirer_id,subid,company_registration_number,country_code,name,category_code,naf,street,zip_code,city 1234567890,21213,,123456789012,FR,Restaurant Le Gourmet,,5610A,50 Rue de la Paix,75001,Paris 9876543210,34532,SUB001,987654321012,FR,Boulangerie du Coin,,4724Z,12 Avenue des Champs,69000,Lyon 5555555555,,,,,BR,Padaria Central,5812,,Avenida Paulista 1000,01310-100,São Paulo 1111111111,,,,,ES,Restaurante Madrid,,,Calle Gran Vía 45,28001,Madrid
Validation and Processing
Automatic Validation
The system automatically performs the following checks:
- Data format: Each field is validated according to the schema
Processing Report
After your file is processed, you will receive a CSV report containing:
- All rows from your original file
- A
statuscolumn showingsuccessorerror - An
error_messagecolumn with details of any errors
Best Practices
- Encoding: Always use UTF-8 encoding to avoid issues with special characters
-
Separator: Use a comma (
,) as the separator -
Quotes: If a value contains a comma, enclose it in double quotes (
") -
Registration number: Enter the company registration number (
company_registration_number) when available to ensure eligibility for meal vouchers - Check: Review your file before sending to avoid formatting errors
Example with Values Containing Commas
mid,acquirer_id,subid,company_registration_number,country_code,name,category_code,naf,street,zip_code,city 1234567890,23,,123456789012,FR,"Restaurant Le Gourmet, Paris",,5610A,"50 Rue de la Paix, 1er étage",75001,Paris
Support
If you have any questions about the CSV file format or the import process, please contact your Swile representative.
🇬🇧 CSV File Format - Partner Payment Terminals Import
This documentation describes the CSV file format to use for importing partner payment terminals (POS) into the Loop system.
Overview
The CSV file must contain a header row and one row per payment terminal to import. The file must be UTF-8 encoded and use the comma (,) as separator.
File Structure
Column Headers
The CSV file must start with a header row with the following columns (in order: required fields then optional):
mid,country_code,name,acquirer_id,subid,company_registration_number,category_code,naf,street,zip_code,city
Field Description
Required Fields
| Column | Type | Description | Example |
|---|---|---|---|
mid |
String | POS ID (unique terminal identifier) | 1234567890 |
country_code |
String | ISO 3166-1 alpha-2 country code (2 letters) |
FR, BR, ES
|
name |
String | Establishment name | Restaurant Le Gourmet |
Optional Fields
| Column | Type | Description | Example |
|---|---|---|---|
acquirer_id |
String | Acquirer identifier (payment network / processor) | 123 |
subid |
String | Sub-merchant ID (secondary identifier) | SUB001 |
company_registration_number |
String | Company registration number (e.g. SIRET in France) | 12345678901234 |
category_code |
String | MCC (Merchant Category Code) |
5812, 5814
|
naf |
String | NAF code (French activity classification) |
5610A, 4724Z
|
street |
String | Street address | 50 chemin des pins |
zip_code |
String | Postal code |
75001, 69000
|
city |
String | City |
Paris, Lyon
|
Important Rule: Category_code or NAF
⚠️ Important: You may fill either the category_code (MCC) field or the naf (NAF code) field, or both.
Priority rule: If both fields are provided, the MCC (category_code) will be used and the NAF code will be ignored.
- If you only have the MCC code, use the
category_codefield - If you only have the NAF code, use the
naffield - If you have both, you may provide both: the MCC will take priority
CSV File Example
mid,acquirer_id,subid,company_registration_number,country_code,name,category_code,naf,street,zip_code,city 1234567890,21213,,123456789012,FR,Restaurant Le Gourmet,,5610A,50 Rue de la Paix,75001,Paris 9876543210,34532,SUB001,987654321012,FR,Boulangerie du Coin,,4724Z,12 Avenue des Champs,69000,Lyon 5555555555,,,,,BR,Padaria Central,5812,,Avenida Paulista 1000,01310-100,São Paulo 1111111111,,,,,ES,Restaurante Madrid,,,Calle Gran Vía 45,28001,Madrid
Validation and Processing
Automatic Validation
The system automatically performs the following validations:
- Data format: Validation of each field format according to the schema
Processing Report
After your file is processed, you will receive a CSV report containing:
- All rows from your original file
- A
statuscolumn indicatingsuccessorerror - An
error_messagecolumn with the error details when applicable
Best Practices
- Encoding: Always use UTF-8 encoding to avoid special character issues
-
Separator: Use the comma (
,) as separator -
Quotes: If a value contains a comma, wrap it in double quotes (
") -
Registration number: Provide the company registration number (
company_registration_number) when available to ensure meal voucher eligibility - Verification: Check your file before submission to avoid format errors
Example with Values Containing Commas
mid,acquirer_id,subid,company_registration_number,country_code,name,category_code,naf,street,zip_code,city 1234567890,12,,123456789012,FR,"Restaurant Le Gourmet, Paris",,5610A,"50 Rue de la Paix, 1er étage",75001,Paris
Support
For any questions regarding the CSV file format or the import process, contact your Swile representative.
Comments
0 comments