Before starting the integration of FLOA, we strongly recommend the review of the following documentation : Integration process and advice - FLOA Pay (direct)
About FLOA Pay
General information about FLOA Pay
Â
Further information can be found on the webpage of FLOA Pay (https://www.floapay.com/).
Process flow chart
Notice: FLOA Pay makes eligibility check based on the provided data and in case of success redirects the customer to the payment page. The result of the authorisation is provided in the callback and in the notification.
interface
Authorization
In order to create an installment with FLOA Pay, please use the following URL:
floapay.aspx |
Parameter for installments with FLOA Pay
Return parameters for installments with FLOA Pay
Capture
Captures are possible via a Server-to-Server connection. Both full capture and partial capture are possible. To capture a FLOA Pay installment via a Server-to-Server connection, please use the following URL:
capture.aspx |
Parameters for captures with FLOA Pay
Response parameters for captures with FLOA Pay
Credit with reference
Credits (refunds) are possible via a Server-to-Server connection. Both full refund and partial refund are allowed. To refund a FLOA Pay installment, please use the following URL:
credit.aspx |
Â
Parameters for credits of payments with FLOA Pay
Response parameters for credits of payments with FLOA Pay
Reverse
Reversals are possible via a Server-to-Server connection. Only full reversal is allowed. In order to reverse a FLOA Pay installment, please use the following URL:
reverse.aspx |
Â
Parameters for reversals of payments with FLOA Pay
Reponse parameters for reversals of payments with FLOA Pay
JSON Objects
The JavaScript Object Notation, JSON for short, is a compact data format in an easy-to-read text format for the purpose of exchanging data between applications. JSON does not depend on the programming language. Parsers exist in practically all widely used languages. You can find more information about JSON via this link:
Â
The next section describes JSON objects which are required for requests or returned in the response.
Notice: The JSON string can include special characters and so must also be Base64 encoded. Transfer problems may otherwise occur.
CustomerHistory
Schema of CustomerHistory
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.computop-paygate.com/schemas/merchantCustomerHistory.json", "title": "Merchant Customer History", "description": "Merchant Customer History Data", "type": "object", "properties": { "firstOrderDate": { "type": ["string", "null"], "minLength": 10, "maxLength": 10 }, "lastOrderDate": { "type": ["string", "null"], "minLength": 10, "maxLength": 10 }, "canceledOrderAmount": { "type": ["integer", "null"] }, "canceledOrderCount": { "type": ["integer", "null"] }, "fraudAlertCount": { "type": ["integer", "null"] }, "paymentIncidentCount": { "type": ["integer", "null"] }, "refusedManyTimesOrderCount": { "type": ["integer", "null"] }, "unvalidatedOrderCount": { "type": ["integer", "null"] }, "validatedOneTimeOrderCount": { "type": ["integer", "null"] }, "validatedOrderCount": { "type": ["integer", "null"] }, "clientIpAddressRecurrence": { "type": ["integer", "null"] }, "ongoingLitigationOrderAmount": { "type": ["integer", "null"] }, "paidLitigationOrderAmount24Month": { "type": ["integer", "null"] }, "scoreSimulationCount7Days": { "type": ["integer", "null"] } }, "additionalProperties": false }
TravelDetails
TravellerPassport
Schema of TravelDetails
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.computop-paygate.com/schemas/travelDetails.json", "title": "Travel Details", "description": "Travel Details Data", "type": "object", "properties": { "insurance": { "type": ["string", "null"], "maxLength": 30 }, "travelType": { "type": ["string", "null"], "maxLength": 30 }, "departureDate": { "type": ["string", "null"], "minLength": 16, "maxLength": 16 }, "returnDate": { "type": ["string", "null"], "minLength": 16, "maxLength": 16 }, "destinationCountry": { "type": ["string", "null"], "minLength": 2, "maxLength": 2 }, "ticketCount": { "type": ["integer", "null"] }, "travellerCount": { "type": ["integer", "null"] }, "travelClass": { "type": ["string", "null"], "enum": ["Unknown", "Economy", "PremiumEconomy", "Business", "First", "Others"], "maxLength": 16 }, "ownTicket": { "type": ["integer", "null"], "enum": [1, 0] }, "mainDepartureCompany": { "type": ["string", "null"], "maxLength": 3 }, "travellerPassportList": { "type": "array", "items": { "type": ["object", "null"], "properties": { "expirationDate": { "type": ["string", "null"], "minLength": 10, "maxLength": 10 }, "issuanceCountry": { "type": ["string", "null"], "minLength": 2, "maxLength": 2 } } } }, "departureAirport": { "type": ["string", "null"], "minLength": 3, "maxLength": 3 }, "arrivalAirport": { "type": ["string", "null"], "minLength": 3, "maxLength": 3 }, "discountCode": { "type": ["string", "null"], "maxLength": 30 }, "luggageSupplement": { "type": ["string", "null"], "maxLength": 30 }, "modificationCancellation": { "type": ["integer", "null"], "enum": [1, 0] } }, "additionalProperties": false }
StayDetails
Schema of StayDetails
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.computop-paygate.com/schemas/stayDetails.json", "title": "Stay Details", "description": "Stay Details Data", "type": "object", "properties": { "company": { "type": ["string", "null"], "maxLength": 50 }, "destination": { "type": ["string", "null"], "maxLength": 50 }, "nightNumber": { "type": ["integer", "null"] }, "roomRange": { "type": ["integer", "null"] } }, "additionalProperties": false }
ProductDetails
Schema of ProductDetails
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.computop-paygate.com/schemas/productDetails.json", "title": "Product Details", "description": "Product Details Data", "type": "object", "properties": { "category1": { "type": ["string", "null"], "maxLength": 30 }, "category2": { "type": ["string", "null"], "maxLength": 30 }, "category3": { "type": ["string", "null"], "maxLength": 30 } }, "additionalProperties": false }
AdditionalField
Request example
Raw request
merchantid=BNP_DEMO_AXEPTA&RefNr=xyz512&Date=17/04/2023&ActivationDelay=2&MerchantIDExt=38&PayType=7377&Currency=EUR&Language=fr-FR&CustomerID=340&LastName=Doe&FirstName=John&Salutation=Mr&MaidenName=Johns&DateOfBirth=1991-10-22&PlaceOfBirth=96050&MobileNr=0123456789&Email=test@it.floa.fr&AddrStreet=Rosental 1&AddrStreet2=Alexander Platz&AddrZIP=75008&AddrCity=Paris&AddrCountryCode=FR&PersonID=40919740A&Channel=DESKTOP&DeliveryChannel=STD&NumberArticles=3&Amount=55000&Fee=550&Discount=300&shAmount=400&sdStreet=Heiligstrasse 9&sdStreet2=Willy Brandt Platz&sdCity=Paris&sdZip=75008&sdCountryCode=FR&CustomerHistory=eyJmaXJzdE9yZGVyRGF0ZSI6IjExLzEwLzIwMjAiLCJsYXN0T3JkZXJEYXRlIjoiMTUvMDcvMjAyMSIsImNhbmNlbGVkT3JkZXJBbW91bnQiOjAsImNhbmNlbGVkT3JkZXJDb3VudCI6MCwiZnJhdWRBbGVydENvdW50IjowLCJwYXltZW50SW5jaWRlbnRDb3VudCI6NSwicmVmdXNlZE1hbnlUaW1lc09yZGVyQ291bnQiOjAsInVudmFsaWRhdGVkT3JkZXJDb3VudCI6MCwidmFsaWRhdGVkT25lVGltZU9yZGVyQ291bnQiOjAsInZhbGlkYXRlZE9yZGVyQ291bnQiOjEsImNsaWVudElwQWRkcmVzc1JlY3VycmVuY2UiOjMsIm9uZ29pbmdMaXRpZ2F0aW9uT3JkZXJBbW91bnQiOjAsInBhaWRMaXRpZ2F0aW9uT3JkZXJBbW91bnQyNE1vbnRoIjowLCJzY29yZVNpbXVsYXRpb25Db3VudDdEYXlzIjowfQ==&TravelDetails=eyJkZXBhcnR1cmVEYXRlIjpudWxsLCJyZXR1cm5EYXRlIjpudWxsLCJkZXN0aW5hdGlvbkNvdW50cnkiOiJTUCIsInRpY2tldENvdW50IjoyLCJ0cmF2ZWxsZXJDb3VudCI6MiwidHJhdmVsQ2xhc3MiOiJFY29ub215Iiwib3duVGlja2V0IjoxLCJtYWluRGVwYXJ0dXJlQ29tcGFueSI6IkVSRyIsImRlcGFydHVyZUFpcnBvcnQiOiJGUkEiLCJhcnJpdmFsQWlycG9ydCI6IkJBUiIsImRpc2NvdW50Q29kZSI6IjEyMzQ1NiIsImx1Z2dhZ2VTdXBwbGVtZW50Ijoibm9pZGVhIix0cmF2ZWxsZXJQYXNzcG9ydExpc3Q6W3siZXhwaXJhdGlvbkRhdGUiOiIxMi8wNS8yMDI5IiwiaXNzdWFuY2VDb3VudHJ5IjoiRlIifSx7ImV4cGlyYXRpb25EYXRlIjoiMTUvMDgvMjAyOSIsImlzc3VhbmNlQ291bnRyeSI6IkRFIn1dfQ==&StayDetails=eyJjb21wYW55IjoiQk5CIiwiZGVzdGluYXRpb24iOiJCYXJjZWxvbmEiLCJuaWdodE51bWJlciI6MTAsInJvb21SYW5nZSI6MX0=&ProductDetails=eyJjYXRlZ29yaWUxIjoicHJlbWl1bSIsImNhdGVnb3JpZTIiOiJwcmVtaXVtIiwiY2F0ZWdvcmllMyI6InByZW1pdW0ifQ==&AdditionalFields=eyJhZGRpdGlvbmFsRmllbGRzIjpbeyJpbmRleCI6IjEiLCJ2YWx1ZSI6IjgiLCJmaWVsZFR5cGUiOiJOIn0seyJpbmRleCI6IjIiLCJ2YWx1ZSI6IjciLCJmaWVsZFR5cGUiOiJOIn0seyJpbmRleCI6IjMiLCJ2YWx1ZSI6IjYiLCJmaWVsZFR5cGUiOiJOIn0seyJpbmRleCI6IjEiLCJ2YWx1ZSI6IjIwMjItMDgtMTEiLCJmaWVsZFR5cGUiOiJUIn0seyJpbmRleCI6IjIiLCJ2YWx1ZSI6InByaXZhdGUgdmVoaWNsZSIsImZpZWxkVHlwZSI6IlQifSx7ImluZGV4IjoiMyIsInZhbHVlIjoiTWVyY2VkZXMiLCJmaWVsZFR5cGUiOiJUIn1dfQ==&Homepage=https://computop.com/uk/&URLBack=https://computop.com/de/&URLSuccess=https://floapay.readme.io/reference/pr%C3%A9sentation&URLFailure=https://floapay.readme.io/reference/v1stored-payment-methodspost
CustomerHistory decoded from base64
{"firstOrderDate":"11/10/2020","lastOrderDate":"15/07/2021","canceledOrderAmount":0,"canceledOrderCount":0,"fraudAlertCount":0,"paymentIncidentCount":5,"refusedManyTimesOrderCount":0,"unvalidatedOrderCount":0,"validatedOneTimeOrderCount":0,"validatedOrderCount":1,"clientIpAddressRecurrence":3,"ongoingLitigationOrderAmount":0,"paidLitigationOrderAmount24Month":0,"scoreSimulationCount7Days":0}
TravelDetails decoded from base64
{"departureDate":null,"returnDate":null,"destinationCountry":"SP","ticketCount":2,"travellerCount":2,"travelClass":"Economy","ownTicket":1,"mainDepartureCompany":"ERG","departureAirport":"FRA","arrivalAirport":"BAR","discountCode":"123456","luggageSupplement":"noidea",travellerPassportList:[{"expirationDate":"12/05/2029","issuanceCountry":"FR"},{"expirationDate":"15/08/2029","issuanceCountry":"DE"}]}
StayDetails decoded from base64
{"company":"BNB","destination":"Barcelona","nightNumber":10,"roomRange":1}
ProductDetails decoded from base64
{"categorie1":"premium","categorie2":"premium","categorie3":"premium"}
AdditionalFields decoded from base64
{"additionalFields":[{"index":"1","value":"8","fieldType":"N"},{"index":"2","value":"7","fieldType":"N"},{"index":"3","value":"6","fieldType":"N"},{"index":"1","value":"2022-08-11","fieldType":"T"},{"index":"2","value":"private vehicle","fieldType":"T"},{"index":"3","value":"Mercedes","fieldType":"T"}]}