Skip to main content

NewSkies Payment API 1.0.0

NewSkies Payment API

Last updated: 10-Dec-2025
Recent changes: Merge branch 'feature/NSK-66580-pci-dss-documentation' into 'main' Resolve NSK-66580 "Feature/ pci dss documentation" Closes NSK-66580 See merge request api-program/apigee/flight/newskies-apis/flight-newskies-payment!3

Booking Flow with Payment Proxy

This document explains how to integrate the Payment Proxy into your booking workflow when using the NewSkies API.

Overview

The Payment Proxy is designed to handle payment operations separately from the main booking flow. This separation ensures PCI-DSS compliance by isolating payment processing through a dedicated, secure proxy.

Booking Flow Diagram

πŸ“‹ PHASE 1: CREATE BOOKING
(Use SoapApi or DigitalApi Proxy)
Step Action Description
1 Availability Search Search for available flights based on origin, destination, and dates
2 Sell (Select Flights) Create booking by selecting flights. Booking is now "in state" (session-based)
3 Add Passengers Add passenger details (names, contact information, etc.)
4 Add SSRs Add special services (baggage, seats, meals, etc.)
πŸ’³ PHASE 2: PAYMENT PROCESSING
⚠️ SWITCH TO PAYMENT PROXY ⚠️
Step Action Description
5 Add Payment Switch to Payment Proxy URL:
POST /flight/newskies/payment/rest/api/nsk/v5/booking/payments
Process payment through PCI-DSS compliant proxy
βœ… PHASE 3: FINALIZE BOOKING
⚠️ SWITCH BACK TO BOOKING PROXY ⚠️
Step Action Description
6 Commit Booking Commit the booking to database. Generates PNR. Booking becomes permanent
7 Follow-up Actions
(optional)
Send confirmation emails, generate documents, trigger post-booking workflows

Visual Flow Summary

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Client Application                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚  PHASE 1: Create Booking              β”‚
        β”‚  ────────────────────────              β”‚
        β”‚  β€’ Availability Search                β”‚
        β”‚  β€’ Sell Flights                       β”‚
        β”‚  β€’ Add Passengers                     β”‚
        β”‚  β€’ Add SSRs                           β”‚
        β”‚                                       β”‚
        β”‚  Proxy: SoapApi/DigitalApi           β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚  PHASE 2: Payment Processing          β”‚
        β”‚  ────────────────────────              β”‚
        β”‚  β€’ Add Payment                        β”‚
        β”‚                                       β”‚
        β”‚  Proxy: Payment Proxy ⚠️              β”‚
        β”‚  (PCI-DSS Compliant)                  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚  PHASE 3: Finalize Booking            β”‚
        β”‚  ────────────────────────              β”‚
        β”‚  β€’ Commit Booking                     β”‚
        β”‚  β€’ Follow-up Actions                  β”‚
        β”‚                                       β”‚
        β”‚  Proxy: SoapApi/DigitalApi           β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚  Booking Complete                     β”‚
        β”‚  PNR Generated                        β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Detailed Steps (Example, not a full working workflow)

Phase 1: Create Booking (Use SoapApi or DigitalApi Proxy)

  1. Availability Search

    • Endpoint: GET /api/nsk/v1/availability/search
    • Search for available flights based on origin, destination, and dates
  2. Sell (Select Flights)

    • Endpoint: POST /api/nsk/v1/booking/sell
    • Create a booking by selecting flights from availability results
    • This creates a booking "in state" (session-based, not yet committed)
  3. Add Passengers

    • Endpoint: POST /api/nsk/v1/booking/passengers
    • Add passenger details (names, contact information, etc.)
  4. Add SSRs (Special Service Requests)

    • Endpoint: POST /api/nsk/v1/booking/ssrs
    • Add ancillary services like:
      • Baggage
      • Seat selections
      • Meals
      • Other special services

Phase 2: Payment Processing (Switch to Payment Proxy)

Important: At this point, switch from the booking proxy URL to the Payment Proxy URL.

  1. Add Payment

    For Digital API (REST):

    • Endpoint: POST /flight/newskies/payment/rest/api/nsk/v5/booking/payments
    • Provide payment details (credit card, voucher, etc.)
    • The proxy automatically strips /rest and routes to the secure payment backend

    For SOAP API:

    • Endpoint: POST /flight/newskies/payment/soap
    • Include SOAPAction header
    • Send SOAP envelope with payment details

    Example Request (Digital API):

    {
      "amount": 250.00,
      "currencyCode": "USD",
      "paymentFields": {
        "ACCTNO": "4111111111111111",
        "EXPDATE": "12/2025",
        "CC::AccountHolderName": "John Doe",
        "CC::VerificationCode": "123"
      }
    }

Phase 3: Finalize Booking (Switch Back to SoapApi or DigitalApi Proxy)

Important: After payment is processed, switch back to the original booking proxy URL.

  1. Commit Booking

    • Endpoint: POST /api/nsk/v1/booking/commit
    • Commits the booking to the database
    • Generates PNR (Passenger Name Record)
    • Booking is no longer "in state" and becomes permanent
  2. Follow-up Actions (Optional)

    • Send confirmation emails
    • Generate booking documents
    • Trigger post-booking workflows
    • Retrieve booking details for display

Key Points

Session Management

  • The booking remains "in state" (session-based) throughout the process
  • The same session token must be used across all three phases
  • Session token is typically passed via Authorization headers (DigitalApi) or xml-requests (SoapApi)

Proxy Switching

  • Phase 1 & 3: Use SoapApi or DigitalApi Proxy URL
  • Phase 2: Use Payment Proxy URL (/flight/newskies/payment)
  • The session token ensures continuity across proxy switches

Security & PCI-DSS Compliance

  • Payment data only flows through the PCI-DSS compliant Payment Proxy
  • The booking proxy never handles sensitive payment information
  • This separation ensures compliance with payment card industry standards

Error Handling

  • If payment fails, the booking remains "in state"
  • You can retry payment or modify the booking
  • Only commit the booking after successful payment
  • Uncommitted bookings may expire based on session timeout

Best Practices

  1. Always validate payment success before committing the booking
  2. Maintain session continuity across proxy switches
  3. Never log sensitive payment data (card numbers, CVV, etc.)

Troubleshooting

Common Issues

Issue: Session lost when switching proxies

  • Solution: Ensure session token is properly passed in headers across all requests

Issue: 404 errors on payment endpoint

  • Solution: Verify you're using the correct Payment Proxy URL and path format

Support

For technical support or questions about the payment integration flow, please contact the API Support Team.

About us

TUI is one of the world’s leading tourism groups. The broad portfolio gathered under the Group umbrella consists of strong tour operators, 1,600 travel agencies and leading online portals, five airlines with around 150 aircraft, over 400 hotels, 16 cruise liners and many incoming agencies in all major holiday destinations around the globe.

 

TUI Group logo

Contact

Login to your account