Payment Simulation
Definition
Payment Simulation is an optional and dynamic feature allowing sellers to express their intent to pay and to get the detail of the final amount to be paid including any payment surcharge applicable to the payment method.
Overview
This feature supports the usage of multiple payment methods, meaning the possibility for sellers to express their intent to pay for an OfferItem/OrderItem with multiple payment methods and their respective amount.
This feature is available only at OfferPrice and OrderQuote steps.
By extension, this feature supports also the payment of multiple OfferItems/OrderItems with multiple payment methods, but this is seen as a single payment transaction and the seller cannot express which payment method / value is allocated to which OfferItem/OrderItem. In such a situation the airline is responsible for deciding the payment method allocation with its respective value across the OfferItems/OrderItems.
Behavior
This feature is recommended:
to be supported by the airline
to be triggered by the seller when needed; for instance when the seller intends to pay with multiple payment methods and at least one of them is card. This is the way for the seller to get for each payment method the precise value that includes any payment surcharge when applicable to be committed.
It is available at OfferPrice and OrderQuote steps only
This feature works independently from the rest of Order data. As an example, a seller can price an OfferItem1 and at the same time ask for a payment simulation for OfferItem2 that is intended to be paid using 2 different cards.
Payment Simulation for an OfferItem using single payment method
A seller can decide to trigger a payment simulation for an OfferItem to get the final amount he will have to commit. This is mainly true when payment surcharge may apply to a payment method (such as card), and also if the seller has not provided enough information in the PaymentMethodCriteria for the airline to return accurate payment surcharge data in the payment catalogue.
In the following example, the seller would like to request the payment simulation for OfferItem1 800EUR that would be fully paid via a personal Visa debit card issued in France.
Request
<PaymentFunctions>
<PaymentSimulationDetails>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodTrx>
<Amount CurCode="EUR">800.00</Amount>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethodTrx>
</PaymentSimulationDetails>
</PaymentFunctions>Response
<PaymentFunctions>
<PaymentSimulationSummary>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">803.00</FullIncludedAmount>
<PaymentMethod>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">3.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">800.00</RequestedAmount>
</PaymentMethodSimulationResult>
</PaymentSimulationSummary>
</PaymentFunctions>Payment simulation for an OfferItem using multiple payment methods
The payment simulation is the optional feature triggered by the seller in the case he intends to pay for an OfferItem with multiple payment methods, and payment surcharge may apply to one or several payment methods. Indeed, payment surcharge amount usually depends on the amount that is paid with the payment method; this is why the payment simulation capability requires the amount to be paid with each payment method as a mandatory element.
In the following example, the seller would like to know the payment simulation of OfferItem1 800EUR that would be fully paid using 300EUR in Cash and 500EUR with a personal Visa debit Card issued in France.
Request:
<PaymentFunctions>
<PaymentSimulationDetails>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodTrx>
<Amount CurCode="EUR">300.00</Amount>
<PaymentTypeCode>CA</PaymentTypeCode>
</PaymentMethodTrx>
<PaymentMethodTrx>
<Amount CurCode="EUR">500.00</Amount>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethodTrx>
</PaymentSimulationDetails>
</PaymentFunctions>Response:
<PaymentFunctions>
<PaymentSimulationSummary>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">300.00</FullIncludedAmount>
<PaymentMethod>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">0.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CA</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">300.00</RequestedAmount>
</PaymentMethodSimulationResult>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">502.00</FullIncludedAmount>
<PaymentMethod>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">2.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">500.00</RequestedAmount>
</PaymentMethodSimulationResult>
</PaymentSimulationSummary>
</PaymentFunctions>Payment Simulation for two OfferItems using multiple payment methods
The following example illustrates the case where the seller triggers a payment simulation to pay OfferItem1 800EUR and OfferItem2 100EUR at the same time, so for a total of 900EUR through 400EUR in Cash and 500EUR using a personal Visa debit card issued in France.
Note: when several OfferItems are paid at the same time using multiple payment methods, the seller cannot decide which value of which payment method is allocated to which OfferItem. This logic resides on the airline side; otherwise the seller can trigger 2 different payments using each multiple payment methods.
Request:
<PaymentFunctions>
<PaymentSimulationDetails>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferItemRefID>OfferItem2</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodTrx>
<Amount CurCode="EUR">400.00</Amount>
<PaymentTypeCode>CA</PaymentTypeCode>
</PaymentMethodTrx>
<PaymentMethodTrx>
<Amount CurCode="EUR">500.00</Amount>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethodTrx>
</PaymentSimulationDetails>
</PaymentFunctions>Response:
<PaymentFunctions>
<PaymentSimulationSummary>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferItemRefID>OfferItem2</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">400.00</FullIncludedAmount>
<PaymentMethod>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">0.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CA</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">400.00</RequestedAmount>
</PaymentMethodSimulationResult>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">502.00</FullIncludedAmount>
<PaymentMethod>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">2.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">500.00</RequestedAmount>
</PaymentMethodSimulationResult>
</PaymentSimulationSummary>
</PaymentFunctions>
All previous examples can work with OrderItems instead of OfferItems in unpaid OrderItems situations.
Example showcasing two simulations requested by the Seller to get comparison
Request:
<PaymentFunctions>
<PaymentSimulationDetails>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodTrx>
<Amount CurCode="EUR">800.00</Amount>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethodTrx>
</PaymentSimulationDetails>
<PaymentSimulationDetails>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodTrx>
<Amount CurCode="EUR">800.00</Amount>
<PaymentBrandCode>AX</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Commercial</CardProductTypeCode>
<CardTypeText>Credit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethodTrx>
</PaymentSimulationDetails>
</PaymentFunctions>Response:
<PaymentFunctions>
<PaymentSimulationSummary>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">803.00</FullIncludedAmount>
<PaymentMethod>
<PaymentBrandCode>VI</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Consumer</CardProductTypeCode>
<CardTypeText>Debit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">3.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">800.00</RequestedAmount>
</PaymentMethodSimulationResult>
</PaymentSimulationSummary>
<PaymentSimulationSummary>
<OfferAssociation>
<OfferItemRefID>OfferItem1</OfferItemRefID>
<OfferRefID>OFFER1</OfferRefID>
<OwnerCode>ZZ</OwnerCode>
</OfferAssociation>
<PaymentMethodSimulationResult>
<FullIncludedAmount CurCode="EUR">810.00</FullIncludedAmount>
<PaymentMethod>
<PaymentBrandCode>AX</PaymentBrandCode>
<PaymentMethodCountryCode>FR</PaymentMethodCountryCode>
<PaymentSimulationAddlInfo>
<PaymentCardAddlInfo>
<CardProductTypeCode>Commercial</CardProductTypeCode>
<CardTypeText>Credit card</CardTypeText>
</PaymentCardAddlInfo>
</PaymentSimulationAddlInfo>
<PaymentSurchargeSimulation>
<PaymentSurchargeAmount CurCode="EUR">10.00</PaymentSurchargeAmount>
<RefundInd>false</RefundInd>
</PaymentSurchargeSimulation>
<PaymentTypeCode>CC</PaymentTypeCode>
</PaymentMethod>
<RequestedAmount CurCode="EUR">800.00</RequestedAmount>
</PaymentMethodSimulationResult>
</PaymentSimulationSummary>
</PaymentFunctions>