Skip to content

Add Payment

Request

The Payment step takes place in a ticketing workbench session and applies the payment sent previously in the Form of Payment request to the offer/s specified in the Payment request payload. Payment can be sent for any type of offer, including air, seats, and ancillaries. Payment can be made for multiple offers and multiple types of offers in the same request. Form of payment information must either already be present in the reservation or the workbench. At workbench commit, tickets or EMDs are issued for any offer payment has been sent for. Payment is also required prior to ticketing when exchanging tickets in the case of an even exchange, or an add collect (price of new itinerary is greater than existing itinerary). In the case of an add collect, send Payment with a zero amount in Amount/value. See the Exchange, Refund, and Void Guide for details.

Security
bearerAuth
Path
ReservationResource_Identifierstring, <= 128 charactersrequired

The Reservation Identifier you wish to add the payment to

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
Headers
travelportPlusSessionIdentifierstring, [ 0 .. 100 ] characters([a-zA-Z-0-9-_]*)

travelportPlusSessionIdentifier used to maintain an established agency session

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
TraceIdstring, [ 10 .. 89 ] characters

Identifier used to correlate Air API invocations across a multi-call business flows.

Example:TraceID_123456789
XAUTH_TRAVELPORT_ACCESSGROUPstring, = 36 characters([a-zA-Z-0-9-_]*)

Identifies the Travelport access group with which the caller is associated

Example:19Y88702-C27A-4E5D-829A-89D7016688B1
TVP-PCC-Corestring^[a-zA-Z\d]{3,4}_\w{2}$

Allows user to pass PCC instead of Access Group ID

Example:DU7_1G
Bodyapplication/jsonrequired

Add Payment request payload.

@typestringrequired

Discriminator classes PaymentID or Payment

Value:"Payment"
Example:"Payment"
Discriminator
idstring

Customer-assigned identifier for the payment.

PaymentRefstring

Customer-assigned name for the payment.

Identifierobject(Identifier)

A globally unique identifier key often used to reference a given option (such as Pricing, Booking, Rules, or additional workflows) or to retrieve information (such as Hotel pagination).

Amountobject(CurrencyAmount)required

A monetary amount, up to 4 decimal places. Decimal place must be included.

FormOfPaymentIdentifierobject(FormOfPaymentIdentifier)

The Travelport-assigned identifier to identify the form of payment to which a payment was charged.

OfferIdentifierArray of objects, <= 100 items(OfferIdentifier)
Feesobject(Fees)
Taxesobject(Taxes)
TravelerIdentifierRefArray of objects, <= 100 items(TravelerIdentifierRef)
BaseAmountobject(CurrencyAmount)

A monetary amount, up to 4 decimal places. Decimal place must be included.

depositIndboolean

If true, the payment is a deposit on the referenced Offer; at booking the provided card is charged for deposit or prepay rate.

ExtendedPaymentobject(ExtendedPayment)

Note this field is deprecated in Payment schema and should be passed in FormOfPaymentPaymentCardExtendPayment schema

AgencyServiceFeeIdentifierArray of objects, <= 100 items(AgencyServiceFeeIdentifier)
guaranteeIndboolean

If true, the payment is a guarantee for the referenced Offer; no amounts are charged at booking; the customer is to make payment in person upon arrival.

curl -i -X POST \
  https://api.pp.travelport.net/11/air/paymentoffer/reservationworkbench/49f58f5f-c443-43b4-9f5d-be405fd00a01/payments \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'TVP-PCC-Core: DU7_1G' \
  -H 'TraceId: TraceID_123456789' \
  -H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
  -H 'travelportPlusSessionIdentifier: 49f58f5f-c443-43b4-9f5d-be405fd00a01' \
  -d '{
    "@type": "Payment",
    "id": "payment_1",
    "Identifier": {
      "authority": "Travelport",
      "value": "A0656EFF-FAF4-456F-B061-0161008D6A5E"
    },
    "Amount": {
      "code": "USD",
      "minorUnit": 2,
      "currencySource": "Charged",
      "value": 872.8
    },
    "FormOfPaymentIdentifier": {
      "id": "formOfPayment_1",
      "FormOfPaymentRef": "formOfPayment_1",
      "Identifier": {
        "authority": "Travelport",
        "value": "7041667d-0717-4e5f-a6ea-9bf6e6e59399"
      }
    },
    "OfferIdentifier": [
      {
        "id": "offer_1",
        "offerRef": "offer_1",
        "Identifier": {
          "authority": "Travelport",
          "value": "a059d2f2-5d98-4e1b-885d-26b4d0896f64"
        }
      }
    ]
  }'

Responses

OK - Successful Response - 200

Bodyapplication/json
PaymentResponseobject(PaymentResponse)

The response of a Payment endpoint request.

Response
{ "PaymentResponse": { "Payment": { "@type": "Payment", "id": "string", "PaymentRef": "string", "Identifier": { … } }, "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [ … ], "Warning": [ … ] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "www.travelport.com", "id": "5", "NextStep": [ … ] }, "ReferenceList": [ null ], "CurrencyRateConversion": [ { … } ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }