Flight Bookings

Precharge extra charges on a booking

Overview

Creates a pending post-booking extra-charge batch for an existing flight booking and returns an opaque chargesId. When the batch is paid with TRANSACTION_ID, also creates a PaymentIntent (transactionId + secretKey) when usePaymentSdk is true.

Payment methods

  • Credit-line booking — CREDIT (default) bills the credit line; TRANSACTION_ID creates a Stripe PaymentIntent so the passenger pays (requires usePaymentSdk: true)
  • Stripe booking — TRANSACTION_ID (requires usePaymentSdk: true)
  • WL / CMI booking — MANUAL (system admin / operations only): nothing is captured; support collects the payment outside LiteAPI and marks it paid with PUT /extra-charges/charges

The chosen method is returned in paymentTypes and recorded in chargesId.

Access

Requires Flights API access. Post-booking extra charges are not enabled by default — contact the LiteAPI support team to request access.

When to Use

  • Attach fees after confirmation (seat change, baggage, admin adjustment)
  • Obtain a Stripe client secret so the customer can confirm payment before POST .../extra-charges/charges

What You Get

  • chargesId — Opaque token required by /extra-charges/charges (do not re-send charge lines)
  • paymentTypes — The method chosen for this batch (CREDIT, TRANSACTION_ID or MANUAL)
  • transactionId / secretKey — Present when the batch is paid with TRANSACTION_ID and usePaymentSdk is true
  • Existing extras totals plus pending batch totals

Constraints

  • Booking status must be CONFIRMED or PENDING_CONFIRMATION
  • All lines in one request must share the same currency
  • Payment method on /charges must match the method chosen here
post/flights/bookings/{bookingId}/extra-charges/precharges

Request

  • Base URL
    https://api.liteapi.travel/v3.0
  • URL
    https://api.liteapi.travel/v3.0/flights/bookings/{bookingId}/extra-charges/precharges
  • Auth
    API key in header X-API-Key

Path parameters

bookingIdstring uuid required

Flight booking identifier

Request body

usePaymentSdkboolean

Required true when the batch is paid with TRANSACTION_ID so a PaymentIntent is created. Ignored for CREDIT and MANUAL.

paymentMethod'CREDIT' | 'TRANSACTION_ID' | 'MANUAL'

How this batch is paid, among the methods the booking allows. Credit-line bookings: CREDIT (default) or TRANSACTION_ID (charge the passenger through Stripe). Stripe bookings: TRANSACTION_ID. WL/CMI bookings: MANUAL (system admin / operations only). Omit to use the booking default.

Example request

{
  "charges": [
    {
      "description": "Seat change fee",
      "currency": "USD",
      "amount": 45
    }
  ],
  "usePaymentSdk": true,
  "paymentMethod": "TRANSACTION_ID"
}

Response

Pending extra charges prepared

Example response

{
  "data": {
    "bookingId": "1297abe4-57c5-4605-b8e7-5caad983c4a7",
    "sellingPrice": 412.5,
    "sellingCurrency": "USD",
    "extraChargesCurrency": "USD",
    "extraChargesDetails": [
      {
        "description": "Seat change fee",
        "currency": "USD",
        "amount": 45,
        "paymentMethod": "TRANSACTION_ID",
        "status": "paid",
        "paymentReference": "CMI-2026-000123"
      }
    ],
    "pendingTotal": 45,
    "pendingCurrency": "USD",
    "pendingCharges": [
      {
        "description": "Seat change fee",
        "currency": "USD",
        "amount": 45
      }
    ],
    "chargesId": "g6x...",
    "transactionId": "tr_ct_abc",
    "secretKey": "pi_abc_secret_xyz",
    "creditLine": {
      "currency": "USD"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.