Floa
Introduction
Floa is a French payment solution that allows you to finance purchases with consumer credit options, including installment payments. Among the installment payment options offered:
- 3X: Payments in 3 installments, with 30 days between each installment.
- 4X: Payments in 4 installments, 30 days apart.
Extra data required
Depending on the type of product or service offered it will be necessary to indicate additional information within the extra_data
during the creation of the order, although the country will always be mandatory (extra_data.billing_address.country
), along with the first name and last name (extra_data.profile.first_name
and extra_data.profile.last_name
, respectively).
The following table shows the additional fields to be sent within extra_data.payment
depending on the type of product offered:
Campo | Descripción | Tipo | Requerido |
---|---|---|---|
categorie_1 | Most expensive product category. For Travel/Stay use one of the following values: AIRLINE TICKET, TRAIN TICKET, BUS TICKET, HOTEL, CAMPING, STAY, CRUISE, CAR RENTAL | string(30) | Sí |
categorie_2 | Subcategoría del producto más caro. Opcional para Travel. | string(30) | General/Stay |
cart_item_count | Number of items | int | Sí |
sale_channel | Sales channel. One of the following values: DESKTOP, TABLET, TABLET_IPAD, SMARTPHONE, SMARTPHONE_ANDROID, SMARTPHONE_IPHONE | string(18) | Sí |
merchant_home_url | Merchant homepage URL | string | Sí |
merchant_back_url | URL to return to the previous page of the merchant's site | string | Sí |
departure_date | Start date format: DD/MM/AAAA HH:MM | date | Travel/Stay |
return_date | Return date format: DD/MM/AAAA HH:MM | date | Travel/Stay |
traveller_count | Number of travelers | int | Travel/Stay |
own_ticket | Field to identify whether the holder of the credit card used to finance the trip participates. | bool | Travel/Stay |
room_range | For Stay payments, the hotel rank (stars) | string | Stay |
insurance | If the client chooses insurance. Values: "yes", "no" | string | Travel/Stay |
destination_country | Destination country code, in ISO 3166-2 format (e.g. "ES" for Spain) | string | Travel/Stay |
travel_type | A value between: Unknown, OneWay (one way), TwoWay (round trip), Multiple (Multiple destinations) | string(2) | Travel/Stay |
departure_airport | IATA code of the departure airport | string(3) | Travel |
arrival_airport | IATA code of the destination airport | string(3) | Travel |
main_departure_company | In case of air travel, name of the airline of the first flight (IATA code) | string(3) | Travel |
shipping_method | Merchant delivery method. If not sent, "VIR" by default. Values: STD (Normal), EXP (Express Delivery), TRK (Tracked), REG (Registered), COL (Colissimo), CHR (Chronopost), REL (Mondial Relay), TNT (TNT), UPS (UPS), TRP (Transporter), MAG (Delivery in store), LCK (Lockers), VIR (Virtual), RIM (Immediate withdrawal in store) | string(3) | No |
fees_amount | Total amount of fees associated with the order (in cents) | string | No |
shipping_cost | Total amount of shipping costs for the order (in cents) | string | No |
discount_amount | Total amount of discounts associated with the order (in cents) | string | No |
Depending on the product there are the following sectors of activity: General, Stay (hotels) and Travel.
Below is an example of extra_data
sent to make a payment with each activity sector:
General
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe"
},
"billing_address": {
"city": "",
"country": "ESP",
"address1": "Avenida del Mar",
"zip_code": "",
"state_code": ""
},
"payment": {
"categorie_1": "Juego de mesa",
"categorie_2": "Virus 2",
"cart_item_count": 1,
"sale_channel": "DESKTOP",
"merchant_home_url": "https://www.google.com/",
"merchant_back_url": "https://www.google.com/",
"shipping_method": "STD",
"shipping_cost": "500",
"discount_amount": "1000"
}
}
Stay (Hotel)
"extra_data":{
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "test@gmail.com"
},
"billing_address": {
"city": "",
"country": "ESP",
"address1": "Avenida del Mar",
"zip_code": "",
"state_code": ""
},
"payment": {
"categorie_1": "HOTEL",
"categorie_2": "Room",
"departure_date": "05/05/2024 12:00",
"return_date": "12/05/2024 12:00",
"traveller_count": 2,
"own_ticket": true,
"room_range": 3,
"insurance": "no",
"destination_country": "ES",
"travel_type": "OneWay",
"cart_item_count": 2,
"sale_channel": "DESKTOP",
"merchant_home_url": "https://www.google.com/",
"merchant_back_url": "https://www.google.com/"
}
}
Travel
"extra_data":{
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "test@gmail.com"
},
"billing_address": {
"city": "",
"country": "ESP",
"address1": "Avinguda del Mar",
"zip_code": "",
"state_code": ""
},
"payment": {
"categorie_1": "AIRLINE TICKET",
"departure_date": "30/04/2024 12:00",
"return_date": "05/05/2024 12:00",
"traveller_count": 2,
"own_ticket": true,
"insurance": "no",
"destination_country": "ES",
"travel_type": "TwoWay",
"cart_item_count": 2,
"sale_channel": "DESKTOP",
"merchant_home_url": "https://www.google.com/",
"merchant_back_url": "https://www.google.com/",
"departure_airport": "VLC",
"arrival_airport": "LEN",
"main_departure_company": "Iberia"
}
}
Payment methods in Sandbox
It is recommended to use an amount between €100 and €250 to increase the chances of successful eligibility.
The test card data are as follows:
- OK card number: 5017 6791 1038 0400
- KO card number: 5017 6791 0090 0712
- CVV: 000
- expiration date: greater than the date of the last installment
Currency
The currency supported for this service is Euro (EUR).
Error codes
The error structure has the following form:
Code - Message
For example:
3 - Failed (Technical failure)