TPE Providers: How to Offer Swile Card Acceptance to Your Clients?

⚠️ 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:

📄 The SFTP Setup Guide

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

  1. Open the Terminal application.
  2. Copy and paste the following command and press Enter:

    ssh-keygen -t rsa -b 4096 -C "your-email@partner.com"
    
  3. The terminal will ask where to save the key. Press Enter to confirm the default location.
  4. 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)

  1. Open the Start menu and type PowerShell.
  2. Copy and paste the following command and press Enter:

    ssh-keygen -t rsa -b 4096
    
  3. 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

  1. Go to the folder where the keys were created.
  2. Find the file ending with .pub (e.g. id_rsa.pub).
  3. 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).

  1. Download and install FileZilla Client.
  2. Open FileZilla and go to File > Site Manager (or the icon at the top left).
  3. Click New Site and give it a name (e.g. "SFTP Exchange").
  4. 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".

  1. 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

  1. Open the Terminal application.
  2. Copy and paste the following command and press Enter:

    ssh-keygen -t rsa -b 4096 -C "your-email@partner.com"
    
  3. The terminal will ask where to save the key. Press Enter to accept the default location.
  4. 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)

  1. Open the Start menu and type PowerShell.
  2. Copy and paste the following command and press Enter:

    ssh-keygen -t rsa -b 4096
    
  3. 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

  1. Go to the folder where the keys were created.
  2. Open the file ending in .pub (e.g. id_rsa.pub).
  3. 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).

  1. Download and install FileZilla Client.
  2. Open FileZilla and go to File > Site Manager (or the icon at the top left).
  3. Click New Site and name it (e.g. "SFTP Exchange").
  4. 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".

  1. 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.

   📄 The guide to explaining the exchange format  

🇫🇷 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_code field
  • If you only have the NAF code, use the naf field
  • 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:

  1. 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 status column showing success or error
  • An error_message column with details of any errors

Best Practices

  1. Encoding: Always use UTF-8 encoding to avoid issues with special characters
  2. Separator: Use a comma (,) as the separator
  3. Quotes: If a value contains a comma, enclose it in double quotes (")
  4. Registration number: Enter the company registration number (company_registration_number) when available to ensure eligibility for meal vouchers
  5. 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_code field
  • If you only have the NAF code, use the naf field
  • 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:

  1. 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 status column indicating success or error
  • An error_message column with the error details when applicable

Best Practices

  1. Encoding: Always use UTF-8 encoding to avoid special character issues
  2. Separator: Use the comma (,) as separator
  3. Quotes: If a value contains a comma, wrap it in double quotes (")
  4. Registration number: Provide the company registration number (company_registration_number) when available to ensure meal voucher eligibility
  5. 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.

You have not found an answer to your questions?

You have not found an answer? Don't worry, send us a message
Contactez-nous

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.