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.
Note. 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 Starting with FLOA |
|
SES/PID |
|||||
|
|
MPY |
|
string |
<MPY>FLOA</MPY> |
Mandatory |
|
|
KVE |
|
string |
<KVE> <KWD>customer.history.createdDate</KWD> <VAL>2025-02-01T12:00:00Z</VAL> </KVE> |
|
|
|
|
KWD |
string |
|
Necessary |
|
|
|
VAL |
string |
|
Necessary |
4. Industry specific data
4.1 Travel industry
See FLOA_Mapping_Data_TRAVEL INDUSTRY.xlsx in 6. Attachments.
| 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 chosen 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 |
Is the payment card holder 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 |
Can the travel 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
See FLOA_Mapping_Data_TELEPHONY.xlsx in 6. Attachments.
|
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
See FLOA_Mapping_Data_TRAINING-COURSE.xlsx in 6. Attachments.
|
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
See FLOA_Mapping_Data_VEHICULE-GARAGE.xlsx in 6. Attachments.
| 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
See FLOA_Mapping_Data_SECOND-HAND.xlsx in 6. Attachments.
|
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.1RESPONSE
<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>