Form of Payment Air Ticketing Modifiers
The form of payment is stored in the Form of Payment field of the PNR as well as in the air ticketing modifiers and ticketing modifiers associated to the stored fare. A stored fare FormOfPayment can be added or changed within an Air Reservation. A form of payment within the Universal Record (UR) may be associated with the PNR, and with basic ticketing this is the form of payment charged at the time of ticketing.
The form of payment associated with a stored fare can be modified with UniversalRecordModifyReq/UniversalModifyCmd/AirUpdate after the initial create reservation. It can also be specified on the stored fare that the form of payment will save in the stored fare at the time of the reservation creation.
Note: When the form of payment and all other air ticketing and ticketing modifiers associated to a stored fare are updated, they must be re-added each time a modifier is changed: the provider does not retain previously stored modifiers. For example, if the PlatingCarrier is changed, then all previous associated ticketing modifiers must be re-added, along with the new plating carrier.
The key association for Form of Payment modifiers is the Payment attribute in AirPricingInfo, which is related to a FormOfPayment in the UR.
A form of payment can be added to the stored fare when a reservation is created, with AirCreateReservationReq. At the time of creation, only the following Forms Of Payment are added to both the PNR and the stored fare:
- Credit/Debit Card
- Cash
- Check
These forms of payment are only added if a Payment is included in the request and AirPricingInfo has a PaymentRef that ties the Payment to the reservation FormOfPayment. In this case, both the PNR and the stored fare will contain the FormOfPayment used to create the reservation.
Only the forms of payment above can be used at time of booking (AirCreateReservation).
Note: When testing in a development environment, credit card numbers for FOP testing purposes can and should be requested from the credit card issuer directly. Travelport does not provide test credit card numbers.
All other payment types must be added using UniversalRecordModifyReq/UniversalModifyCmd/AirUpdate/AirPricingPayment or an error is returned: " FOPType is an unsupported FormOfPayment for host reservation. ", where FOPType is FormOfPayment/Type.
UniversalRecordModifyReq/UniversalModifyCmd/AirUpdate/AirPricingPayment/FormOfPayment adds new forms of payment to the stored fare for ticketing, but does not replace the form of payment in the PNR. The new form of payment is added to the AirReservation, and the associated store fare is updated.
Only the following forms of payment can be added to the stored fare using the UR Modify request:
- Credit/Debit Card
- Cash
- Check
- Requisition
- MiscFormOfPayment
- Agent Non-Refundable
The reference keys are verified between the Form of Payment and Payment to ensure they are valid. If they are not, an error is returned: "Payment and FormOfPayment reference key do not match.
Request
The FormOfPayment ticketing modifier can be updated using UniversalRecordModifyReq/UniversalModifyCmd/AirUpdate/AirPricingPayment
To add Ticketing modifiers to multiple stored fares using a single Universal API request, use multiple UniversalModifyCmds, and specify the data separately for each stored fare. For a particular stored fare, all the AirPricingTicketingModifiers/AirPricingInfoRef must be specified or an error is returned. A stored fare is identified by the value of AirPricingInfoGroup, and all AirPricingInfos that have the same AirPricingInfoGroup belong to the same stored fare in the provider reservation.
A Payment (charge) is created in the UR that is related to a FormOfPayment/CreditCard or FormOfPayment/DebitCard within the referenced AirPricingInfo. A CreditCardAuth is only created for the Payment (charge) if the optional AirAdd/CreditCardAuth is added.
Optionally, UniversalRecordModifyReq/UniversalModifyCmd/AirAdd/CreditCardAuth can be used to add an approval code to the UR and stored fare for credit and debit cards. If the CreditCardAuth is added on the UniversalRecordModifyReq/UniversalModifyCmd/AirUpdate request, the transient Payment Key, must match the CreditCardAuth/PaymentRef.
If a CreditCardAuth is added with a reference to a cash or check form of payment, an error is returned: "Invalid Form of Payment for Credit Card authorization".
If an AirPricingInfo already has an existing Payment, then the Payment is updated with the new information; no new Payment is created. If the existing Payment already has a CreditCardAuth, then the existing CreditCardAuth is removed and a new CreditCardAuth must be added.
All standard forms of payment (Credit, Debit, Cash, or Check) are validated to ensure:
- The FormOfPayment that is referenced by the updated Payment exists within the UR. If it does not, an error is returned: "Form of Payment reference is invalid"
- The AirPricingInfo exists within the AirReservation. If it does not, an error is returned: "AirPricingInfo reference is invalid for this AirReservation"
- The Payment/Amount matches the total referenced AirPricingInfo(s) amounts with regard to the associated number of passengers. For example, if the single stored fare has an AirPricingInfo with 2 ADT passengers at a AirPricingInfo/TotalPrice of $200.00 USD and an AirPricingInfo with 2 MIL passengers at a AirPricingInfo/TotalPrice of 300.00 USD, then the Payment/Amount should be $1000.00 USD.
An error message is returned to the user for a mismatch in AirPricingInfo/TotalPrice and Payment/Amount: " Payment amount must match AirPricing TotalPrice - (amount)" where amount is the AirPricing TotalPrice
Multiple Form of Payments are allowed for ticketing on Galileo (1G) and Worldspan (1P) Release 18.3. This can be performed through adding Ticketing modifiers for each pricing information at the time of ticketing. See Requesting Air Tickets.
-
Multiple form of payment (Stored Fare FOP) is performed through AirTicketingReq/AirTicketingModifiers.
- Payment element should be added to AirTicketingReq/AirTicketingModifiers (the Payment element contains the respective FormOfPaymentRef).
For the Brazilian market, payment by installments is enabled through multiple FOPs.
- The down-payment is recorded as the first FOP (CreditCardFOP/CheckFOP) and the balance amount is recorded as a Miscellaneous FOP.
- The text on Misc FOP contains details on number of payments/installments and the amount to be paid in each installment.
-
PaymentRef@Key facilitates Multiple FOP per booking traveler.
The release of Universal API 21.1.3 (schema v51.0) provides the ability to issue a ticket with multiple forms of payment to allow travelers the use of credit card and non-standard cards or cash for purchasing travel.
Note: This functionality is limited release. Contact your Travelport representative for further information.
With this enhancement, travelers can add:
-
Non-standard credit card code
-
Non-standard credit card code with extended payment element
-
Non-standard credit card code and cash
-
Non-standard credit card code with extended payment element and cash
Non-standard credit cards are cards other than VISA (VI), MASTERCARD/ACCESS/EUROCARD (CA), AMERICAN EXPRESS (AX),AIRPLUS (TP), JCB (JC), DINERS CLUB (DC), GOVERNMENT (GR)
Add standard or non-standard credit card and ExtendedPayment in the AirTicketingModifiers as part of the AirTicketingReq.
For non-standard credit cards:
-
Card details aren’t validated in provider system, so correct card details is responsibility of customer or agent.
-
The ticket is issued without validating non-standard credit card details, ExpDate, auth code, and extended payment.
-
Galileo (1G) only.
-
xPath=AirTicketingReq/AirTicketingModifiers/FormOfPayment/
-
Type=@Cash
-
CreditCard/
-
CreditCard/CreditCardType@ExtendedPayment
-
Credit with Optional Free-form Credit Text
If FormOfPayment/MiscFormOfPayment/Text with Category=Credit is specified, the Text attribute must be between 1 and 29 characters.
Non-standard CreditCard Override (CC) with CreditCardAuth
When a card is not recognized by the system is going to be used, a non-standard CreditCard Override (CC) with CreditCardAuth is the form of payment that is used (e.g., private airline cards that are not Visa, TP, or other system-recognized cards). An approval code is required as part of the entry. Also:
- CreditCardType must set, otherwise an error is returned: "Credit card type must be specified in form of payment."
- CreditCardNumber must be set otherwise an error is returned: "Credit card type must be specified in form of payment."
- ExpDate must be set otherwise an error is returned: "Credit card expiration date must be specified in form of payment."
- CreditCardAuth must be included in the URModify otherwise an error is returned: "CreditCardAuth must be included with form of payment."
- CreditCardAuth/AuthCode must be set otherwise an error is returned: "CreditCardAuth AuthCode must be specified with form of payment."
Government Requisition (GR)
When entering a Government Requisition form of payment, Category=Government and Requisition/Category must also be Government, otherwise an error is returned: "Only Government Requisition supported for this form of payment."
The Requisition/Number must be set and between 2 and 41 characters, otherwise an error is returned: "Invalid Requisition number for this form of payment."
Miscellaneous (MS) Free-form Text
The Miscellaneous free-form Form of Payment allows free-form text to be entered following the MS. The Category=Text and MiscFormOfPayment/Text must be set between 2 and 29 characters, otherwise an error is returned: "Invalid freeform text for this form of payment."
Miscellaneous CC (MSCC)
MSCC is a specific credit-type miscellaneous Form of Payment. It must have the credit Type of 1 set in GWS.The Category=FreeFormCreditCard and MiscFormOfPayment/Text must be set and between 2 and 29 characters, otherwise an error is returned: "Invalid freeform Credit Card for this form of payment."
Response
A successful response includes the UniversalRecordModifyRsp.
Exceptions
The following forms of payment are not supported in Galileo:
- Freeform (Xfree text)
- Check with MICR number for Check Verification (CKnnnnnnn)
- Government Requisition, Credit Type (GRAnnnnnnn)
The following forms of payment are not supported in Apollo:
- Miscellaneous (MS_ )
- Miscellaneous Credit Card (MSCC)
- Nonrefundable (NonRef)
- Invoice (Inv)
- Multiple Receivables are only supported at ticketing time, not stored fare time
- With Universal.xsd, Universal API checks if a background passive segment already exists for the ACH reservation. If a background passive segment exists, Universal API adds Form of Payment details to that segment.
- UniversalRecordModifyReq/UniversalRecordModifyCmd/AirAdd/AirPricingPayment
TSPT-16470 - Enable Multi-FOP (non-standard card + cash) in Air Ticketing Request. Release 21.3