Add Form of Payment API Reference
POST |
payment/reservationworkbench/{workbenchID}/formofpayment For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response. Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content: Booking Guide, Ticketing Guide, Create New Workbench, Create Post-commit Workbench
You can send an Add Form of Payment (FOP) request in either a booking or ticketing workbench session. Cash and credit card are supported FOPs for both GDS and NDC; agent invoice and non-standard credit card FOPs are supported for GDS only.
If FOP is not sent during booking it is required during ticketing.
Add Multiple Forms of Payment (GDS only)
For GDS only, you can send up to two FOP in either the booking or ticketing workflow by repeating the Add Form of Payment step for each FOP. Note that at ticketing you must send a separate Add Payment request for each FOP. Multiple FOP are currently supported only for bookings with a single passenger. The additional FOP can be credit card, non-standard credit card, or cash.
Unused Ticket as Form of Payment (NDC only)
For NDC only, the JSON APIs support using an unused ticket as form of payment (FOP) to pay for a ticket. See the Ticket as FOP API Reference. You need to send FOP and payment only if the cost of the new booking exceeds the available value on the unused ticket.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
Object |
Description |
Required/Optional |
---|---|---|
FormOfPaymentPaymentCard |
Top-level for request. Includes FormOfPaymentRef, Identifier, PaymentCard, and ExtendedPayment objects. |
Required |
|
Boolean. Used to indicate whether a card is standard.
|
Optional |
|
String. Send a custom identifier for this FOP. Supports up to 256 alphanumeric characters. |
Required |
FormOfPaymentRef |
String. Send a custom identifier for this FOP. Supports up to 256 alphanumeric characters. Must be the same value sent in FormOfPaymentPaymentCard @id in the row above.
|
Required |
Identifier |
Identifier details. Key value pairs:
|
Required |
PaymentCard |
Credit card details. Includes the CardType, CardCode, CardHolderName, CardNumber, SeriesCode, and Address objects. |
Required |
|
String. Send a custom identifier for this payment card. Supports up to 256 alphanumeric characters. |
Required |
|
Expiration date of the card in MMYY format. |
Required |
CardType |
Type of card. This value must be 'Credit'. |
Required |
CardCode |
Code for the credit card type. |
Required |
CardHolderName |
Text string for the cardholder name. Key value pair:
|
Required |
CardNumber |
Top level object for the credit card number. Send with @type CardNumber. Includes PlainText. |
Required |
PlainText |
The credit card number. | Required |
SeriesCode |
Top level object for the CVV code. |
Required |
PlainText |
The credit card three-digit CVV code. |
Required |
Address |
Billing address details. Includes Number, Street, AddressLine, City, StateProv, Country, and PostalCode objects. |
Optional |
Number |
Top level object for street number of billing address. |
Optional |
|
Street number value. |
Optional |
Street |
Top level object for street name of billing address. |
Optional |
|
Street name value. |
Optional |
AddressLine |
Extra address line. |
Optional |
City |
The city of the billing address. |
Optional |
StateProv |
Top level object. |
Optional |
|
State or province of billing address. |
Optional |
Country |
Country of billing address. |
Optional |
PostalCode |
Postal code of billing address. |
Optional |
ExtendedPayment |
Sends payment details to pay in installments with this credit card. Supported for general use and for the Brazilian business practice Pagos Parcelados. For Pagos Parcelados, this form of payment must be a credit card issued in Brazil. GDS only; not supported for NDC. Supported on bookings with a single passenger and a single fare quote.
The API does not validate whether the carrier accepts payment in installments, or if the credit card is eligible for Pagos Parcelados (credit card must be issued in Brazil). If you issue a ticket using installments that is not accepted, the airline sends a debit memo.
In the subsequent Add Payment request, send in Amount/value the total amount of the reservation, not the amount of the first installment payment.
Key value pairs:
The following key value pairs are used only for Pagos Parcelados; all are required for Pagos Parcelados:
|
Optional |
Object |
Description |
Required/Optional |
---|---|---|
FormOfPaymentCash |
Top level object. |
Required |
|
String. Send a custom identifier for this form of payment. Supports up to 256 alphanumeric characters. |
Required |
|
AirReservation 24.11.37 and later.
Boolean. Send with a value of true to indicate the payment is non-refundable; do not send if false. If sent, the workbench commit and Reservation Retrieve responses return agentNonRefundableInd with a value of true. Not supported for ticketless carriers. |
Optional |
FormOfPaymentRef |
String. Send a custom identifier for this form of payment. Supports up to 256 alphanumeric characters. Must be the same value sent in FormOfPaymentCash/id above.
|
Required |
Identifier |
Top level object. |
Required |
|
For GDS content this value is Travelport. For NDC content this value is the issuing carrier's name. |
Required |
|
This is a placeholder value that has no use at this time. Any text can be sent. |
Required |
FreeText |
AirReservation 24.11.37 and later.
String, 35-character limit. Optional object to send any free text description for agentNonRefundableInd. If sent, returned in the workbench commit and Reservation Retrieve responses. |
Optional |
Object |
Description |
Required/Optional |
---|---|---|
FormOfPaymentInvoice |
Top level object. |
Required |
|
String. Send a custom identifier for this form of payment. Supports up to 256 alphanumeric characters. |
Required |
FormOfPaymentRef |
String. Send a custom identifier for thisform of payment. Supports up to 256 alphanumeric characters. |
Required |
Identifier |
Top level object. |
Required |
|
For GDS content this value is Travelport. For NDC content this value is the issuing carrier's name. |
Required |
|
This is a placeholder value that has no use at this time. Any text can be sent. |
Required |
InvoiceNumber |
Agent invoice number. |
Required |
Response
Object |
Description |
---|---|
FormofPaymentResponse |
Top level object for response. |
Identifier |
Returns confirmation. For GDS content authority is Travelport; for NDC content authority is the issuing carrier's name. identifier. The identifier in value has no subsequent use at this time. Key value pairs:
|
Example Request
The request payload below for an NDC itinerary sends a standard credit card, which is the only FOP supported in the JSON APIs for NDC. Note that for NDC you must send the CVV code in SeriesCode.
{
"FormOfPaymentPaymentCard": {
"id": "formOfPayment_5",
"FormOfPaymentRef": "formOfPayment_5",
"Identifier": {
"authority": "Travelport",
"value": "A0656EFF-FAF4-456F-B061-0161008D6FOP"
},
"PaymentCard": {
"@type": "PaymentCardDetail",
"id": "paymentCard_4",
"expireDate": "0139",
"CardType": "Credit",
"CardCode": "VI",
"CardHolderName": "JANE DOE",
"approvalCode": "123456",
"CardNumber": {
"@type": "CardNumber",
"PlainText": "4987654321098769"
},
"SeriesCode": {
"PlainText": "123"
}
}
}
}
The example request payload below sends a cash FOP.
{
"FormOfPaymentCash": {
"id": "formOfPayment_5",
"FormOfPaymentRef": "formOfPayment_5",
"Identifier": {
"authority": "Travelport",
"value": "A0656EFF-FAF4-456F-B061-0161008D6FOP"
}
}
}
{
"FormOfPaymentCash" : {
"id" : "formOfPayment_1",
"FormOfPaymentRef" : "a111",
"agentNonRefundableInd" : true,
"Identifier" : {
"value" : "A0656EFF-FAF4-456F-B061-0161008D7C4E",
"authority" : "Travelport"
},
"FreeText" : "Test for Non-Ref"
}
}
The example request payload below sends an agent invoice as FOP. GDS only; not supported for NDC.
{
"FormOfPaymentInvoice": {
"id": "1",
"FormOfPaymentRef": "1",
"Identifier": {
"value": "A0656EFF-FAF4-456F-B061-0161008D6FOP",
"authority": "Travelport"
},
"InvoiceNumber": "34324343"
}
}
The example request payload below sends a non-standard credit card (inhibitPaymentCardAuthorizationInd is sent as true for a CardCode value of HD) as FOP. GDS only; not supported for NDC.
{
"FormOfPaymentPaymentCard": {
"inhibitPaymentCardAuthorizationInd": true,
"id": "formOfPayment_5",
"FormOfPaymentRef": "formOfPayment_5",
"PaymentCard": {
"@type": "PaymentCardDetail",
"id": "paymentCard_4",
"expireDate": "0522",
"approvalCode": "Z555444",
"CardType": "Credit",
"CardCode": "HD",
"CardHolderName": "JANE DOE",
"CardNumber": {
"PlainText": "9431330036187707"
}
}
}
}
Example Response
The response returns a confirmation identifier. The value returned has no subsequent use in the workflow at this time.
{
"FormOfPaymentResponse": {
"Identifier": {
"authority": "Travelport",
"value": "558f8744-3554-4382-a1ff-3461f02e436f"
}
}
}