Integrating FLOA

Prev Next

1. Sequence diagrams

PAYMENT AUTHORIZATION

CAPTURE

REFUND

2. Services

Service

Comment

RegisterAuthorize

Capture

Refund

Partial Refund available

3. Transaction data

To enable FLOA payments, you need to provide as much information as possible to support the customer's scoring process. The more data is provided, the more accurate the assessment will be. Some information is mandatory regardless of the merchant’s business, while others are specific to the industry.

No validation of mandatory fields will be performed at the gateway level. The transaction will be declined by FLOA if required data is missing.

3.1 Generic data - Applicable to all merchants

For details on how to initiate a payment, see Hosted Payment Page Implementation Guide.

For a checkoutStartSession API, see Market Pay Gateway API: Hosted sessions.

Block

Variable

Type

Example/Comments

Required

SES/PYO

MPY

string

<MPY>FLOA</MPY>

Mandatory

OPT

string

<OPT>BC3XC</OPT>

<OPT>BC4XC</OPT>

<OPT>BC10XC</OPT>

Mandatory

See Product code in FLOA product offer table in FLOA Implementation Guide

SES/PID

MPY

string

<MPY>FLOA</MPY>

Mandatory

KVE

string

<KVE>

<KWD>customer.history.createdDate</KWD>

<VAL>2025-02-01T12:00:00Z</VAL>

</KVE>

See Industry specific data

KWD

string

Necessary

VAL

string

Necessary

4. Industry specific data

4.1 Travel industry

FLOA_Mapping_Data_TRAVEL INDUSTRY
18.98 KB

Keyword

Type

Description

Required

Flight / Transport

Stay (Flight + Hotel)

Hotel

Cruise

Tickets (Amusement parks, tours, etc.)

Rent a car

metadata.travelInsurance

string

Insurance's name/code choosen by the customer

Or boolean yes/no the customer chooses an insurance

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

metadata.travelType

string

"Unknown", "OneWay", "TwoWay", "Multiple"

Mandatory

Mandatory

Mandatory (default value to “Unknown”)

Mandatory

Mandatory (default value to “Unknown”)

Mandatory (default value to “Unknown”)

metadata.departureDate

string

format YYYY-MM-DD

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory (ticket’s date)

Mandatory

metadata.returnDate

string

format YYYY-MM-DD

Null if OneWay

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

metadata.destinationCountry

string

Destination country code, format ISO 3166-2 (ex : "FR" for France)

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

metadata.travelerCount

string

number of travelers

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

metadata.travelClass

string

Necessary

Necessary

Necessary

metadata.buyerAmongTravelers

string

Does the payment card holder is part of the trip?

YES : 1

NO : 0

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

Mandatory

metadata.travelCompany

string

transporter name of the first segment (IATA code if airline)

Mandatory

Mandatory

Mandatory

metadata.departureLocation

string

IATA code of the airport / city

Mandatory

Mandatory

Mandatory

Mandatory

metadata.arrivalLocation

string

IATA code of the airport / city

Mandatory

Mandatory

Mandatory

Mandatory

metadata.travelDiscountVoucher

string

metadata.luggageSupplement

string

Does the travel include a luggage supplement ?

YES : 1

NO : 0

Necessary

Necessary

metadata.travelCanBeModifiedOrCanceled

string

Does the travel can be modified or canceled ?

YES : 1

NO : 0

Necessary

Necessary

Necessary

metadata.stayCompany

string

name of accommodation

Necessary

Necessary

Necessary

metadata.stayDestination

string

Necessary

Necessary

Necessary

metadata.stayNightsCount

string

number of nights

Necessary

Necessary

Necessary

metadata.stayRoomRange

string

accommodation range

Necessary

Necessary

Necessary

EXAMPLE

<KVE>
  <KWD>metadata.travelInsurance</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.travelType</KWD>
  <VAL>Unknown</VAL>
</KVE>
<KVE>
  <KWD>metadata.departureDate</KWD>
  <VAL>2025-01-20</VAL>
</KVE>
<KVE>
  <KWD>metadata.returnDate</KWD>
  <VAL>2025-01-27</VAL>
</KVE>
<KVE>
  <KWD>metadata.destinationCountry</KWD>
  <VAL>OK</VAL>
</KVE>
<KVE>
  <KWD>metadata.travelerCount</KWD>
  <VAL>5</VAL>
</KVE>
<KVE>
  <KWD>metadata.travelClass</KWD>
  <VAL>business</VAL>
</KVE>
<KVE>
  <KWD>metadata.buyerAmongTravelers</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.travelCompany</KWD>
  <VAL>AF</VAL>
</KVE>
<KVE>
  <KWD>metadata.departureLocation</KWD>
  <VAL>CDG</VAL>
</KVE>
<KVE>
  <KWD>metadata.arrivalLocation</KWD>
  <VAL>CPH</VAL>
</KVE>
<KVE>
  <KWD>metadata.luggageSupplement</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.travelCanBeModifiedOrCanceled</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.stayCompany</KWD>
  <VAL>RADISSON</VAL>
</KVE>
<KVE>
  <KWD>metadata.stayDestination</KWD>
  <VAL>Copenhagen</VAL>
</KVE>
<KVE>
  <KWD>metadata.stayNightsCount</KWD>
  <VAL>7</VAL>
</KVE>
<KVE>
  <KWD>metadata.stayRoomRange</KWD>
  <VAL>7</VAL>
</KVE>

4.2. Telephony industry

FLOA_Mapping_Data_TELEPHONY
19.70 KB

Keyword

Type

Description

Required

Purchase of a cell phone

Purchase of a cell phone + plan

metadata.purchase_type

string

Purchase Type

Necessary

default to "BARE_PHONE"

Necessary

default to "PACKAGE_PHONE"

metadata.phonePackageType

string

type of phone package

Necessary

metadata.phoneBrand

string

Phone brand

Necessary

Necessary

metadata.phoneNumber

string

Phone number of the subscribed line

Only if purchase without portability, empty other way

Necessary

metadata.phoneProvider

string

Current phone provider

Only if purchase with portability, empty other way

Necessary

metadata.flagPortability

string

Phone number portability flag

0 : without portability

1 : with portability

Necessary

metadata.insurance

string

Flag if insurance have been subscribed

0 : without insurance

1 : with insurance

Necessary

Necessary

metadata.flagOptions

Flag if additional options have been subscribed

0 : without options

1 : with options

Necessary

Necessary

metadata.consumptionAdvance

advance on telephony consumption (in euros)

Necessary

EXAMPLE

PURCHASE OF A CELL PHONE

<KVE>
  <KWD>metadata.purchase_type</KWD>
  <VAL>BARE_PHONE</VAL>
</KVE>
<KVE>
  <KWD>metadata.phoneBrand</KWD>
  <VAL>Nokia</VAL>
</KVE>
<KVE>
  <KWD>metadata.insurance</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.flagOptions</KWD>
  <VAL>1</VAL>
</KVE>

PURCHASE OF A CELL PHONE + PLAN

<KVE>
  <KWD>metadata.purchase_type</KWD>
  <VAL>PACKAGE_PHONE</VAL>
</KVE>
<KVE>
  <KWD>metadata.phonePackageType</KWD>
  <VAL>Unlimited</VAL>
</KVE>
<KVE>
  <KWD>metadata.phoneBrand</KWD>
  <VAL>Motorola</VAL>
</KVE>
<KVE>
  <KWD>metadata.phoneNumber</KWD>
  <VAL></VAL>
</KVE>
<KVE>
  <KWD>metadata.phoneProvider</KWD>
  <VAL>Tmobile</VAL>
</KVE>
<KVE>
  <KWD>metadata.flagPortability</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.insurance</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.flagOptions</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.consumptionAdvance</KWD>
  <VAL>200</VAL>
</KVE>

4.3 Training course industry

FLOA_Mapping_Data_TRAINING-COURSE
38.66 KB

Keyword

Type

Description

Required

metadata.courseStartDate

string

start date of the course (YYYY-MM-DD)

Necessary

metadata.courseEndDate

string

end date of the course (YYYY-MM-DD)

Necessary

metadata.financedCourse

string

end date of the course (YYYY-MM-DD)

Necessary

metadata.diplomaCourse

string

Flag if course leads to a diploma :

0 : no

1 : yes

Necessary

metadata.levelDegree

string

Flag if course is a post-high school degree (post-bac in France)

0 : no

1 : yes

Necessary

EXAMPLE

<KVE>
  <KWD>metadata.courseStartDate</KWD>
  <VAL>2025-01-25</VAL>
</KVE>
<KVE>
  <KWD>metadata.courseEndDate</KWD>
  <VAL>2027-01-25</VAL>
</KVE>
<KVE>
  <KWD>metadata.financedCourse</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.diplomaCourse</KWD>
  <VAL>1</VAL>
</KVE>

4.5. Vehicle garage industry

FLOA_Mapping_Data_VEHICULE-GARAGE
43.05 KB

Keyword

Type

Description

Required

metadata.vehicleRegistrationDate

string

Date of first registration of the vehicle

Necessary

metadata.vehicleType

string

Vehicle type

(private vehicle, 2 wheels, caravan...)

Necessary

metadata.vehicleBrand

string

Vehicle's brand

Necessary

metadata.vehicleFiscalPower

string

Fiscal power of the vehicle

if available

metadata.customerType

string

Flag customer type

0 : New customer

1 : Known customer

Necessary if firstOrderDate is unavailable

metadata.vehiclePostalCode

string

Postal code of the vehicle

Necessary

EXAMPLE

<KVE>
  <KWD>metadata.vehicleRegistrationDate</KWD>
  <VAL>2018-01-25</VAL>
</KVE>
<KVE>
  <KWD>metadata.vehicleType</KWD>
  <VAL>caravan</VAL>
</KVE>
<KVE>
  <KWD>metadata.vehicleBrand</KWD>
  <VAL>Ford</VAL>
</KVE>
<KVE>
  <KWD>metadata.vehicleFiscalPower</KWD>
  <VAL>14</VAL>
</KVE>
<KVE>
  <KWD>metadata.customerType</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.vehiclePostalCode</KWD>
  <VAL>33000</VAL>
</KVE>

4.6. Second hand industry

FLOA_Mapping_Data_SECOND-HAND
28.62 KB

Keyword

Type

Description

Required

metadata.productBrand

string

Brand of the most expensive product

Necessary

metadata.productModel

string

Most expensive product model

Necessary

metadata.productVersion

string

Version/year of the most expensive product

Necessary

metadata.reconditionedStatus

string

reconditioning status

Necessary

metadata.customerType

string

Flag customer type

0 : New customer

1 : Known customer

Necessary if firstOrderDate is unavailable

metadata.smartphonesCount

string

Number of smartphones in the shopping cart

Necessary

metadata.insurance

string

Flag if an insurance is purchased

Necessary

EXAMPLE

<KVE>
  <KWD>metadata.productBrand</KWD>
  <VAL>DYSON</VAL>
</KVE>
<KVE>
  <KWD>metadata.productModel</KWD>
  <VAL>Dyson No dust</VAL>
</KVE>
<KVE>
  <KWD>metadata.productVersion</KWD>
  <VAL>16</VAL>
</KVE>
<KVE>
  <KWD>metadata.reconditionedStatus</KWD>
  <VAL>excellent</VAL>
</KVE>
<KVE>
  <KWD>metadata.customerType</KWD>
  <VAL>1</VAL>
</KVE>
<KVE>
  <KWD>metadata.smartphonesCount</KWD>
  <VAL>0</VAL>
</KVE>
<KVE>
  <KWD>metadata.insurance</KWD>
  <VAL></VAL>
</KVE>

5. Sample

REQUEST checkoutStartSession

<TRX>
	<SVC>CheckoutStartSession</SVC>
	<PRJ>IPGTEST</PRJ>
	<CTY>FR</CTY>
	<CUR>EUR</CUR>
	<STO>FLOA</STO>
	<NET>100.00</NET>
	<TAX>10.00</TAX>
	<GRS>110.00</GRS>
	<ORD>ORD45678901234567890</ORD>
	<COM>Internet</COM>
	<SES>
		<SUU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/success</SUU>
		<FAU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/failure</FAU>
		<CAU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/cancel</CAU>
		<ACT>Authorize</ACT>
		<VOD>V22</VOD>
		<PYO>
			<MPY>FLOA</MPY>
			<OPT>BC3XC</OPT>
			<OPT>BC4XC</OPT>
			<OPT>BC10XC</OPT>
		</PYO>
		<PYD><MPY>FLOA</MPY>
<KVE><KWD>customer.history.createdDate</KWD><VAL>2025-02-01T12:00:00Z</VAL></KVE>
<KVE><KWD>customer.history.firstOrderDate</KWD><VAL>2025-02-01T12:00:00Z</VAL></KVE>
<KVE><KWD>customer.history.lastOrderDate</KWD><VAL>2025-02-01T12:00:00Z</VAL></KVE>
<KVE><KWD>customer.history.validatedOrderCount</KWD><VAL>1</VAL></KVE>
<KVE><KWD>customer.history.validatedOrderAmount</KWD><VAL>11000</VAL></KVE>
<KVE><KWD>customer.history.canceledOrderCount</KWD><VAL>0</VAL></KVE>
<KVE><KWD>industry</KWD><VAL>Travel</VAL></KVE>
<KVE><KWD>subcategory</KWD><VAL>Stay (flight + hotel)</VAL></KVE>
<KVE><KWD>metadata.travelInsurance</KWD><VAL>Yes</VAL></KVE>
<KVE><KWD>metadata.travelType</KWD><VAL>TwoWay</VAL></KVE>
<KVE><KWD>metadata.departureDate</KWD><VAL>2025-10-01</VAL></KVE>
<KVE><KWD>metadata.returnDate</KWD><VAL>2025-10-02</VAL></KVE>
<KVE><KWD>metadata.destinationCountry</KWD><VAL>DK</VAL></KVE>
<KVE><KWD>metadata.travelerCount</KWD><VAL>1</VAL></KVE>
<KVE><KWD>metadata.travelClass</KWD><VAL>Business</VAL></KVE>
<KVE><KWD>metadata.buyerAmongTravelers</KWD><VAL>Yes</VAL></KVE>
<KVE><KWD>metadata.travelCompany</KWD><VAL>AF</VAL></KVE>
<KVE><KWD>metadata.departureLocation</KWD><VAL>CDG</VAL></KVE>
<KVE><KWD>metadata.arrivalLocation</KWD><VAL>CPH</VAL></KVE>
<KVE><KWD>metadata.travelDiscountVoucher</KWD><VAL>No</VAL></KVE>
<KVE><KWD>metadata.luggageSupplement</KWD><VAL>No</VAL></KVE>
<KVE><KWD>metadata.travelCanBeModifiedOrCanceled</KWD><VAL>Yes</VAL></KVE>
<KVE><KWD>metadata.stayCompany</KWD><VAL>Radison</VAL></KVE>
<KVE><KWD>metadata.stayDestination</KWD><VAL>CPH</VAL></KVE>
<KVE><KWD>metadata.stayNightsCount</KWD><VAL>1</VAL></KVE>
<KVE><KWD>metadata.stayRoomRange</KWD><VAL>300-500 EUR</VAL></KVE></PYD>
		<LAN>fr</LAN>
		<STY>https://hpp2.preprod.mpg.market-pay.com/hppv22/theme-mp/mp-hpp.css</STY>
	</SES>
	<CUS>
		<FNM>Zéphyrine</FNM>
		<LNM>Poirier</LNM>
		<CTY>FR</CTY>
		<CIT>Saint-andré</CIT>
		<AD1>92 rue de l'Epeule</AD1>
		<ZIP>97440</ZIP>
		<EMA>customer@dummy.com</EMA>
		<TEL>+33-735-554-654</TEL>
		<TXI>0701987765432</TXI>
	</CUS>
	<SHT>
		<AD1>Rue de la Briqueterie 357</AD1>
		<CIT>Malmédy</CIT>
		<CTY>BE</CTY>
		<ZIP>4960</ZIP>
		<TEL>+32 456 512 9573</TEL>
		<EMA>shipping@dummy.com</EMA>
		<FNM>Georges</FNM>
		<LNM>Lanoie</LNM>
	</SHT>
	<ITM>
		<DSC>Basket of apples and pears</DSC>
		<QTY>1</QTY>
		<UPR>100</UPR>
		<NET>100</NET>
		<TAX>10</TAX>
		<GRS>110</GRS>
		<ITN>1</ITN>
		<PCL>Tech</PCL>
		<PCT>Computers</PCT>
	</ITM>
</TRX>

RESPONSE

<TRX>
        <XID>4WGBK0XWAP123</XID>
        <RES>
          <RCD>0</RCD>
          <MSG>Service succeeded</MSG>
          <STM>2010-10-04T15:16:30.070302Z</STM>
          <ETM>2010-10-04T15:16:30.070747Z</ETM>
        </RES>
        <SES>
          <SID>4WGBK0XWAP123</SID>
          <SEU>host.com/hpp/4WGBK0XWAP123</SEU>
          <LAN>fr</LAN>
        </SES>
      </TRX>

REQUEST Get status

 GET /ses/JG1KSBFAZGTC1?view=status HTTP/1.1

RESPONSE

<SES>
	<SID>JG1KSBFAZGTC1</SID>
	<PRJ>IPGTEST</PRJ>
	<SST>Completed</SST>
	<STM>2025-04-30T08:32:23.382523Z</STM>
	<ETM>2025-04-30T08:35:22.962391Z</ETM>
	<SEU>https://hpp2.preprod.mpg.market-pay.com/hppv22/checkout.hpp?sessionId=JG1KSBFAZGTC1</SEU>
	<STY>https://hpp2.preprod.mpg.market-pay.com/hppv22/theme-mp/mp-hpp.css</STY>
	<SUU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/success</SUU>
	<FAU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/failure</FAU>
	<CAU>https://demoshop.preprod.mpg.market-pay.com/shop/rest/cancel</CAU>
	<LAN>fr</LAN>
	<ACT>Authorize</ACT>
	<MPY>FLOA</MPY>
	<MPY>SOFORT</MPY>
	<MPY>EFT</MPY>
	<MPY>COD</MPY>
	<SPM>
		<SPI>9WYK1VTW1D6W5</SPI>
		<MPY>FLOA</MPY>
		<GRS>110</GRS>
		<NET>100</NET>
		<TAX>10</TAX>
	</SPM>
	<TRX>
		<XID>S3TXCJHV7STC5</XID>
		<SVC>RegisterAuthorize</SVC>
		<ORD>ORD45678901234567890</ORD>
		<CUR>EUR</CUR>
		<NET>100</NET>
		<TAX>10</TAX>
		<GRS>110</GRS>
		<MPY>FLOA</MPY>
		<MER>
			<MID>3262344807e442109cd92f454ac02670</MID>
			<PRC>FLOA</PRC>
			<CNM>MGP Demoshop</CNM>
			<CTY>FR</CTY>
			<CTN>250</CTN>
			<CT3>FRA</CT3>
		</MER>
		<RES>
			<STM>2025-04-30T08:35:22.884347Z</STM>
			<ETM>2025-04-30T08:35:22.891369Z</ETM>
			<RCD>0</RCD>
			<PRC>FLOA</PRC>
		</RES>
		<AUT>
			<MID>3262344807e442109cd92f454ac02670</MID>
		</AUT>
	</TRX>
	<JSI>20F2D3EB23809A922B4266171BEADF1E</JSI>
</SES>