Paiements et commandes aériennes
Construire des flux de paiement aériens avec le contexte de réservation de première classe, passager, itinéraire, billet, tarif, taxe et services additionnels.
Sur cette page
DEUNA traite les données de réservation aérienne comme faisant partie de la commande, et non comme un amas de métadonnées opaques. Conserver le contexte commercial et de voyage utilisé par les fournisseurs de paiements, les contrôles de fraude, la réconciliation et les opérations clients.
Charge utile complète de la commande aérienne#
Utilisation AIRLINE_ORDER et inclure airline_information.booking_items. L'exemple est conforme au modèle utilisé par les services de commande et de paiement, tel qu'il est appliqué aux compagnies aériennes.
Compagnies aériennes
PNR, passager, billet, itinéraire, tarif, taxes et services annexes dans une commande aérienne typée.
airline_informationbooking_itemslegsancillaries{
"order_type": "AIRLINE_ORDER",
"order": {
"order_id": "pnr-N7K4Q2",
"store_code": "web-eu",
"currency": "EUR",
"items_total_amount": 52000,
"sub_total": 52000,
"total_tax_amount": 9200,
"total_amount": 61200,
"items": [
{
"id": "ticket-0741234567890",
"name": "Madrid to Paris",
"description": "Economy Flex airfare with one checked bag",
"quantity": 1,
"category": "airfare",
"taxable": true,
"unit_price": {
"amount": 52000,
"currency": "EUR",
"currency_symbol": "€"
},
"total_amount": {
"amount": 52000,
"original_amount": 52000,
"currency": "EUR",
"currency_symbol": "€",
"total_discount": 0
},
"tax_amount": {
"amount": 9200,
"currency": "EUR",
"currency_symbol": "€"
}
}
],
"airline_information": {
"booking_items": [
{
"pnr": "N7K4Q2",
"ticket_number": "0741234567890",
"e_ticket": true,
"airline_3_digit_code": "074",
"airline_iata_designator": "UX",
"reservation_system_code": "AMADEUS",
"ticketing_travel_agency": {
"iata_code": "91234567",
"name": "DEUNA Travel",
"agency_invoice_number": "INV-2026-00421"
},
"passenger": {
"user_id": "traveler-8821",
"first_name": "Alex",
"middle_name": "",
"last_name": "Morgan",
"title": "Mx",
"date_of_birth": "1990-06-25",
"document_type": "passport",
"identity_document_number": "PA1234567",
"document_number": "PA1234567",
"email": "alex@example.com",
"phone": "+34600000000",
"frequent_flyer_code": "UX008821",
"country_code": "ES",
"type": "ADT"
},
"legs": [
{
"origin": {
"iata_code": "MAD",
"date": "2026-11-14",
"time": "09:10",
"city": "Madrid",
"country_code": "ES"
},
"destination": {
"iata_code": "ORY",
"date": "2026-11-14",
"time": "11:05",
"city": "Paris",
"country_code": "FR"
},
"carrier_code": "UX",
"carrier_name": "Air Europa",
"flight_number": "UX1027",
"seat_location": "12A",
"fare_basis_code": "YFLEX",
"stopover_code": "O",
"sub_total_amount": 48500,
"tax_amount": 9200,
"total_amount": 57700,
"service_class": "Y",
"airport_tax_amount": 4700
}
],
"ancillaries": [
{
"type": "BAGGAGE",
"ticket_number": "0741234567890",
"total_amount": 3500,
"service_category": "baggage",
"description": "One checked bag",
"category_code": "BG",
"sub_category_code": "23K",
"fee_code": "0CC",
"unit_price": 3500
}
]
}
]
},
"payer_info": {
"email": "alex@example.com",
"date_of_birth": "1990-06-25T00:00:00Z"
},
"description": "N7K4Q2 · MAD–ORY",
"statement_descriptor": "DEUNA TRAVEL",
"channel_type": "desktop_web",
"metadata": {
"vertical": "airline",
"sales_channel": "direct",
"loyalty_tier": "gold"
},
"callback_urls": {
"on_success": "https://merchant.example.com/payments/success",
"on_pending": "https://merchant.example.com/payments/pending",
"on_reject": "https://merchant.example.com/payments/rejected",
"on_canceled": "https://merchant.example.com/payments/canceled",
"on_failed": "https://merchant.example.com/payments/failed"
}
}
}Modéliser le contexte commercial#
| Exigence | Champs de commande |
|---|---|
| Réservation et billetterie | pnr, ticket_number, e_ticket, reservation_system_code |
| Passager | passenger Champs d'identité, de contact, de type et de membre de programme de fidélité |
| Vol | legs[].origin, destination, carrier_code, flight_number, service_class |
| Tarif et taxes | Sous-total, taxe, taxe aéroport et montant total |
| Services additionnels | ancillaries[] Type, catégorie de service, billet, code de frais et montant |
Liste de contrôle de production#
- Mapper
booking_itempar passager et relation avec le billet, utilisé par votre système de réservation. - Utilisez de manière cohérente les désignateurs d'aéroport et d'airline.
- Vérifiez la cohérence des totaux, des legs, des taxes, des services additionnels et du total final dans des devises mineures.
- Limitez les données personnelles des passagers aux champs requis par le processus.
- Testez les scénarios d'autorisation, 3DS, capture différée, annulation, remboursement et modification d'itinéraire.
Continuez avec Authentification 3DS, Flux de capture et de remboursementet Traiter le paiement d’une commande.