Payment API
Payment card
This section describes how to handle payment with a payment card.
We support 3-D-Secure payment by NAS Payment Service Providers, Pre-Authentication by third parties or non-3D-Secure payments.
For more information on each alternative, see:
API flow
The sequence diagram above describes how to shop for flights, services and seats. These are combined into one offer by requesting a OfferPrice.
POST /tokens
Before you can charge a payment card, you must create a card token. The token can then be used to create charges to the payment card.
The first step is to POST
the payment card information to the /tokens endpoint.
The Payment API can be accessed from the following URLs:
Development: https://services.sdev.norwegian.com/payment Production: https://services.sprod.norwegian.com/payment
POST
|
|
POST /payment/tokens HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=UTF-8
Host: services.norwegian.com
Content-Length: 442
{
"expiryDateTimeUTC" : "2019-06-19T00:00:00",
"card" : {
"number" : "4444333322221111",
"name" : "Homer Simpson",
"address" : {
"addressLine1" : "742 Evergreen Terrace",
"addressLine2" : "",
"postalCode" : "62703",
"cityName" : "Springfield",
"stateOrProvince" : "IL",
"countryCode" : "US"
},
"expirationYear" : 2017,
"expirationMonth" : 5,
"verificationCode" : "321"
}
}
Path | Type | Description |
---|---|---|
expiryDateTimeUTC |
String |
The date and time the token will expire |
card.number |
String |
The payment card number |
card.name |
String |
The name of the card holder |
card.address.addressLine1 |
String |
Address line 1 |
card.address.addressLine2 |
String |
(Optional) Address line 2 |
card.address.postalCode |
String |
Postal code |
card.address.cityName |
String |
City name |
card.address.stateOrProvince |
String |
(Optional) State or province |
card.address.countryCode |
String |
2 letter ISO country code |
card.expirationYear |
Number |
The year the card expires |
card.expirationMonth |
Number |
The month of year the card expires |
card.verificationCode |
String |
The verification code |
HTTP/1.1 201 Created
Location: https://services.norwegian.com/payment/tokens/e2b208f83ada4997bf1f7063b5a51027
Content-Type: application/json;charset=UTF-8
Content-Length: 275
Date: Wed, 12 Jun 2019 10:00:36 GMT
{
"id" : "e2b208f83ada4997bf1f7063b5a51027",
"links" : [ {
"rel" : "self",
"href" : "https://services.norwegian.com/payment/tokens/e2b208f83ada4997bf1f7063b5a51027"
}, {
"rel" : "charge",
"href" : "https://services.norwegian.com/payment/charges"
} ]
}
Path | Type | Description |
---|---|---|
id |
String |
The id of the created token |
Relation | Description |
---|---|
self |
URI to the created token resource |
charge |
URI to create a charge using the created token (not to be used) |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 72
Date: Wed, 12 Jun 2019 10:00:36 GMT
Connection: close
{
"code" : 400,
"description" : "Bad Request: Invalid card number"
}
Path | Type | Description |
---|---|---|
code |
Number |
An error code |
description |
String |
Textual description of the error |
Payment card - surcharges
Additional surcharges will apply to bookings made with certain credit cards. This charge covers the extra cost associated with credit card bookings. If you pay with a card where surcharges apply you have to do a final offer price request and include the token you got from the payment endpoint. The new offer will include the surcharge as a service and can be used as basis for the order creation. This will ensure that the credit card surcharge is added and that all amounts match.
If you pay with a card that is exempt the credit card surcharge, for example a debit card or a Bank Norwegian Visa, you can skip the final call to OfferPriceRQ.
<Metadata>
<Other>
<OtherMetadata>
<PaymentFormMetadatas>
<PaymentFormMetadata MetadataKey="PFORM-1591E12290C1D19CB618D87C14F03F73">
<AugmentationPoint>
<AugPoint>
<ns2:Token>
<ns2:Number>60D6C14E3DB04AC69501FB5F2E87168F</ns2:Number>
</ns2:Token>
</AugPoint>
</AugmentationPoint>
</PaymentFormMetadata>
</PaymentFormMetadatas>
</OtherMetadata>
</Other>
</Metadata>
This schema contains augmentations added to NDC.
1. Request: OfferPriceRQ
POST /retail/offerPrices HTTP/1.1
Authorization: Basic dXNlcjp1RXpyUlFXeEZSdXQyVHBMd1RocHh4dFY=
Accept-Encoding:
Accept: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Length: 1590
Host: services.norwegian.com.dev.nas.dev
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OfferPriceRQ xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:43.023445+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="c693a599-45ce-4487-aeb3-840bb6772976"><PointOfSale><Location><CountryCode>GB</CountryCode></Location></PointOfSale><Document/><Party><Sender><TravelAgencySender><Name>Zeus Travel</Name><AgencyID>DYAPI-LFPL</AgencyID></TravelAgencySender></Sender><Participants xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><Recipient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></Party><Parameters><Languages><LanguageCode>EN</LanguageCode></Languages><Pricing><OverrideCurrency>EUR</OverrideCurrency></Pricing></Parameters><Query><Offer OfferID="of165a811ba10f4f06aca2d8a1e7c1ed98" Owner="DY" ResponseID="rebc8658292b96475c812a2c0e68b51f84"><OfferItem OfferItemID="oi270b6a03cee34ae5a5c23f98e122a583"><PassengerRefs>PAX__ADT01</PassengerRefs></OfferItem></Offer></Query><DataLists><PassengerList><Passenger PassengerID="PAX__ADT01"><PTC>ADT</PTC></Passenger></PassengerList></DataLists><Metadata><Other><OtherMetadata><PaymentFormMetadatas><PaymentFormMetadata MetadataKey="PFORM-1591E12290C1D19CB618D87C14F03F73"><AugmentationPoint><AugPoint><ns2:Token><ns2:Number>60D6C14E3DB04AC69501FB5F2E87168F</ns2:Number></ns2:Token></AugPoint></AugmentationPoint></PaymentFormMetadata></PaymentFormMetadatas></OtherMetadata></Other></Metadata></OfferPriceRQ>
2. Response: OfferPriceRS
HTTP/1.1 200 OK
vary: accept-encoding
Content-Encoding: gzip
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 22 Nov 2024 15:02:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 12846
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfferPriceRS xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:43.070587+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="c693a599-45ce-4487-aeb3-840bb6772976">
<Document/>
<Success/>
<ShoppingResponseID>
<ResponseID>re51688969dec94a339392e5fc6a9f0ad1</ResponseID>
</ShoppingResponseID>
<PricedOffer OfferID="of99cf888981914f2fbe7e8f877a1c8848" Owner="DY">
<TotalPrice>
<DetailCurrencyPrice>
<Total Code="EUR">207.48</Total>
<Taxes>
<Total Code="EUR">51.73</Total>
</Taxes>
</DetailCurrencyPrice>
</TotalPrice>
<FlightsOverview>
<FlightRef ODRef="OD__JFK_LGW" PriceClassRef="PC__LFPL">FJD1382D70958DC2A8EF379DD4F21085F6</FlightRef>
</FlightsOverview>
<OfferItem OfferItemID="oi5bcdb8ac7c264655af44bd37b4b67895">
<TotalPriceDetail>
<TotalAmount>
<DetailCurrencyPrice>
<Total Code="EUR">4.13</Total>
<Taxes>
<Total Code="EUR">0.0</Total>
</Taxes>
</DetailCurrencyPrice>
</TotalAmount>
<BaseAmount Code="EUR">4.13</BaseAmount>
</TotalPriceDetail>
<Service ServiceID="SERVICE__CCF2">
<PassengerRefs>PAX__ADT01</PassengerRefs>
<ServiceDefinitionRef>SD__CCF2</ServiceDefinitionRef>
</Service>
</OfferItem>
<OfferItem OfferItemID="oi6fe34255986545f5a3659564d051288a">
<TotalPriceDetail>
<TotalAmount>
<DetailCurrencyPrice>
<Total Code="EUR">203.35</Total>
<Taxes>
<Total Code="EUR">51.73</Total>
</Taxes>
</DetailCurrencyPrice>
</TotalAmount>
<BaseAmount Code="EUR">151.62</BaseAmount>
</TotalPriceDetail>
<Service ServiceID="SERVICE__PAX__ADT01-FJD1382D70958DC2A8EF379DD4F21085F6-PC__LFPL">
<PassengerRefs>PAX__ADT01</PassengerRefs>
<FlightRefs>FJD1382D70958DC2A8EF379DD4F21085F6</FlightRefs>
</Service>
<Service ServiceID="SERVICE__PAX__ADT01-BNDL_PLUS-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<PassengerRefs>PAX__ADT01</PassengerRefs>
<ServiceDefinitionRef SegmentRefs="SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">SD__BNDL_PLUS-LFPL-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
</Service>
<FareDetail>
<PassengerRefs>PAX__ADT01</PassengerRefs>
<Price>
<TotalAmount>
<DetailCurrencyPrice>
<Total Code="EUR">133.35</Total>
<Taxes>
<Total Code="EUR">51.73</Total>
</Taxes>
</DetailCurrencyPrice>
</TotalAmount>
<BaseAmount Code="EUR">81.62</BaseAmount>
</Price>
<FareComponent>
<FareBasis>
<RBD>H</RBD>
<CabinType>
<CabinTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Y</CabinTypeCode>
<CabinTypeName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Economy</CabinTypeName>
</CabinType>
</FareBasis>
<PriceClassRef>PC__LFPL</PriceClassRef>
<SegmentRefs ON_Point="JFK" OFF_Point="LGW">SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</SegmentRefs>
</FareComponent>
</FareDetail>
</OfferItem>
</PricedOffer>
<DataLists>
<PassengerList>
<Passenger PassengerID="PAX__ADT01">
<PTC>ADT</PTC>
</Passenger>
</PassengerList>
<BaggageAllowanceList>
<BaggageAllowance BaggageAllowanceID="BAGGAGE_ALLOWANCE__CHECKED-JFK-LGW-LFPL">
<BaggageCategory>Checked</BaggageCategory>
<PieceAllowance>
<ApplicableParty>Traveler</ApplicableParty>
<TotalQuantity>2</TotalQuantity>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN1</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN2</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
</PieceAllowance>
</BaggageAllowance>
</BaggageAllowanceList>
<FlightSegmentList>
<FlightSegment SegmentKey="SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Departure refs="COUNTRY-US CITY-NYCALL">
<AirportCode>JFK</AirportCode>
<Date>2018-04-26</Date>
<Time>11:15</Time>
<AirportName>New York-JFK</AirportName>
</Departure>
<Arrival refs="COUNTRY-GB CITY-LON">
<AirportCode>LGW</AirportCode>
<Date>2018-04-26</Date>
<Time>23:15</Time>
<AirportName>London-Gatwick</AirportName>
</Arrival>
<MarketingCarrier>
<AirlineID>DY</AirlineID>
<FlightNumber>7014</FlightNumber>
</MarketingCarrier>
<OperatingCarrier>
<AirlineID>DY</AirlineID>
<Name>Norwegian Air Shuttle</Name>
<FlightNumber>7014</FlightNumber>
</OperatingCarrier>
<Equipment>
<AircraftCode>789</AircraftCode>
</Equipment>
<ClassOfService>
<Code>H</Code>
</ClassOfService>
<FlightDetail>
<FlightDuration>
<Value>PT7H</Value>
</FlightDuration>
</FlightDetail>
</FlightSegment>
</FlightSegmentList>
<FlightList>
<Flight FlightKey="FJD1382D70958DC2A8EF379DD4F21085F6">
<Journey>
<Time>PT7H</Time>
</Journey>
<SegmentReferences>SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</SegmentReferences>
</Flight>
</FlightList>
<OriginDestinationList>
<OriginDestination OriginDestinationKey="OD__JFK_LGW">
<DepartureCode>JFK</DepartureCode>
<ArrivalCode>LGW</ArrivalCode>
<FlightReferences>FJD1382D70958DC2A8EF379DD4F21085F6</FlightReferences>
</OriginDestination>
</OriginDestinationList>
<PriceClassList>
<PriceClass PriceClassID="PC__LFPL">
<Name>LowFare+</Name>
<Code>LFPL</Code>
</PriceClass>
</PriceClassList>
<ServiceDefinitionList>
<ServiceDefinition ServiceDefinitionID="SD__BNDL_PLUS-LFPL-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>BNDL_PLUS</Name>
<ServiceBundle>
<ServiceDefinitionRef>SD__SPML_STANDARD-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__XST-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__YN-1-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
</ServiceBundle>
<Encoding>
<Code>BNDL_PLUS</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
<Description>
<Text>Classic Menu</Text>
</Description>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__CCF2">
<Name>CCF2</Name>
<Encoding>
<Code>CCF2</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Creditcard fee</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__SPML_STANDARD-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>SPML_STANDARD</Name>
<Encoding>
<Code>SPML_STANDARD</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Classic Menu</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__XST-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>XST</Name>
<Encoding>
<Code>XST</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__YN-1-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>YN</Name>
<BaggageAllowanceRef>BAGGAGE_ALLOWANCE__CHECKED-JFK-LGW-LFPL</BaggageAllowanceRef>
<Encoding>
<Code>YN1</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
</Descriptions>
</ServiceDefinition>
</ServiceDefinitionList>
</DataLists>
<Metadata>
<Other>
<OtherMetadata>
<LanguageMetadatas>
<LanguageMetadata MetadataKey="LANG-9CFEFED8FB9497BAA5CD519D7D2BB5D7">
<Code_ISO>en</Code_ISO>
<Code_NLS>en</Code_NLS>
<Name>English</Name>
</LanguageMetadata>
</LanguageMetadatas>
</OtherMetadata>
<OtherMetadata>
<CountryMetadatas>
<CountryMetadata MetadataKey="COUNTRY-GB">
<ICAO_Code>GB</ICAO_Code>
<Name>United Kingdom</Name>
</CountryMetadata>
<CountryMetadata MetadataKey="COUNTRY-US">
<ICAO_Code>US</ICAO_Code>
<Name>USA</Name>
</CountryMetadata>
</CountryMetadatas>
</OtherMetadata>
<OtherMetadata>
<CityMetadatas>
<CityMetadata MetadataKey="CITY-LON">
<AugmentationPoint>
<AugPoint Key="LON">
<ns2:City>
<ns2:Code>LON</ns2:Code>
<ns2:Name>London</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
<CityMetadata MetadataKey="CITY-NYCALL">
<AugmentationPoint>
<AugPoint Key="NYCALL">
<ns2:City>
<ns2:Code>NYCALL</ns2:Code>
<ns2:Name>New York</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
</CityMetadatas>
</OtherMetadata>
</Other>
</Metadata>
</OfferPriceRS>
3. Request: OrderCreateRQ
POST /retail/orders HTTP/1.1
Authorization: Basic dXNlcjp1RXpyUlFXeEZSdXQyVHBMd1RocHh4dFY=
Accept-Encoding:
Accept: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Length: 2473
Host: services.norwegian.com.dev.nas.dev
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OrderCreateRQ xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:43.116747+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="a1559cae-9dbf-448c-aa71-6019535333dc"><PointOfSale><Location><CountryCode>GB</CountryCode></Location></PointOfSale><Document/><Party><Sender><TravelAgencySender><Name>Zeus Travel</Name><AgencyID>DYAPI-LFPL</AgencyID></TravelAgencySender></Sender><Participants xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><Recipient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></Party><OrderCreateParameters><Alerts><Alert><SecurePaymentAlert><URLs><FailURL>https://client.com/failure</FailURL><TermURL>https://client.com/success</TermURL></URLs><Details><CustomerDevice><IP_Address>198.22.22.11</IP_Address><BrowserUserAgentHeader>Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405</BrowserUserAgentHeader></CustomerDevice></Details></SecurePaymentAlert></Alert></Alerts></OrderCreateParameters><Query><Order><Offer OfferID="of99cf888981914f2fbe7e8f877a1c8848" Owner="DY" ResponseID="re51688969dec94a339392e5fc6a9f0ad1"><TotalOfferPrice Code="EUR">207.48</TotalOfferPrice><OfferItem OfferItemID="oi5bcdb8ac7c264655af44bd37b4b67895"><PassengerRefs>PAX__ADT01</PassengerRefs></OfferItem><OfferItem OfferItemID="oi6fe34255986545f5a3659564d051288a"><PassengerRefs>PAX__ADT01 PAX__ADT01</PassengerRefs></OfferItem></Offer></Order><Payments><Payment><Type>CC</Type><Method><Voucher><Number>60D6C14E3DB04AC69501FB5F2E87168F</Number></Voucher></Method><Amount Code="NOK">207.48</Amount></Payment></Payments><DataLists><PassengerList><Passenger PassengerID="PAX__ADT01"><PTC>ADT</PTC><Individual><Birthdate>1974-12-12</Birthdate><NameTitle>MR</NameTitle><GivenName>felTp</GivenName><Surname>HLHjxTest</Surname></Individual><ContactInfoRef>CI__PAX__ADT01</ContactInfoRef></Passenger></PassengerList><ContactList><ContactInformation ContactID="CI__PAX__ADT01"><ContactProvided><Phone><CountryDialingCode>47</CountryDialingCode><PhoneNumber>99887766</PhoneNumber></Phone></ContactProvided><ContactProvided><EmailAddress><EmailAddressValue>[email protected]</EmailAddressValue></EmailAddress></ContactProvided></ContactInformation></ContactList></DataLists></Query></OrderCreateRQ>
4. Response: OrderViewRS
HTTP/1.1 200 OK
vary: accept-encoding
Content-Encoding: gzip
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 22 Nov 2024 15:02:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 13000
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OrderViewRS xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:43.178507+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="a1559cae-9dbf-448c-aa71-6019535333dc">
<Document/>
<Success/>
<Response>
<Order OrderID="o01dca9d16cde49609a798f555fb50569" Owner="DY" WebAddressID="http://portal.dev.norwegian.com/en/start/booking/details?pnr=TB43PR&pnrName=HLHJXTEST">
<BookingReferences>
<BookingReference>
<ID>TB43PR</ID>
<AirlineID>DY</AirlineID>
</BookingReference>
</BookingReferences>
<TotalOrderPrice>
<SimpleCurrencyPrice Code="EUR">207.48</SimpleCurrencyPrice>
</TotalOrderPrice>
<Status>
<StatusCode>OK</StatusCode>
</Status>
<Payments>
<Payment>
<Type>CC</Type>
<Amount>
<SimpleCurrencyPrice Code="NOK">207.48</SimpleCurrencyPrice>
</Amount>
<Method>
<VoucherMethod>
<Number>60D6C14E3DB04AC69501FB5F2E87168F</Number>
</VoucherMethod>
</Method>
</Payment>
</Payments>
<OrderItems>
<OrderItem OrderItemID="oi34b2c9e8ba294b04b6773e0fbf5da7d0" Owner="DY">
<PriceDetail>
<BaseAmount Code="EUR">155.75</BaseAmount>
<Taxes>
<Total Code="EUR">51.73</Total>
</Taxes>
</PriceDetail>
<Service ServiceID="SERVICE__PAX__ADT01-SD__BNDL_PLUS-LFPL-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<PassengerRef>PAX__ADT01</PassengerRef>
<ServiceDefinitionRef>SD__BNDL_PLUS-LFPL-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
</Service>
<Service ServiceID="SERVICE__PAX__ADT01-SD__CCF2">
<PassengerRef>PAX__ADT01</PassengerRef>
<ServiceDefinitionRef>SD__CCF2</ServiceDefinitionRef>
</Service>
<Service ServiceID="SERVICE__PAX__ADT01-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<PassengerRef>PAX__ADT01</PassengerRef>
<SegmentRef>SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</SegmentRef>
</Service>
</OrderItem>
</OrderItems>
</Order>
<Commission>
<Amount Code="EUR">0</Amount>
</Commission>
<DataLists>
<PassengerList>
<Passenger PassengerID="PAX__ADT01">
<PTC>ADT</PTC>
<Individual>
<Birthdate>1974-12-12</Birthdate>
<NameTitle>MR</NameTitle>
<GivenName>felTp</GivenName>
<Surname>HLHjxTest</Surname>
</Individual>
<ContactInfoRef>CI__PAX__ADT01</ContactInfoRef>
</Passenger>
</PassengerList>
<ContactList>
<ContactInformation ContactID="CI__PAX__ADT01">
<ContactProvided>
<EmailAddress>
<EmailAddressValue>[email protected]</EmailAddressValue>
</EmailAddress>
</ContactProvided>
<ContactProvided>
<Phone>
<CountryDialingCode>47</CountryDialingCode>
<PhoneNumber>99887766</PhoneNumber>
</Phone>
</ContactProvided>
</ContactInformation>
</ContactList>
<BaggageAllowanceList>
<BaggageAllowance BaggageAllowanceID="BAGGAGE_ALLOWANCE__CHECKED-JFK-LGW-LFPL">
<BaggageCategory>Checked</BaggageCategory>
<PieceAllowance>
<ApplicableParty>Traveler</ApplicableParty>
<TotalQuantity>2</TotalQuantity>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN1</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN2</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
</PieceAllowance>
</BaggageAllowance>
</BaggageAllowanceList>
<FlightSegmentList>
<FlightSegment SegmentKey="SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Departure refs="COUNTRY-US">
<AirportCode>JFK</AirportCode>
<Date>2018-04-26</Date>
<Time>11:15</Time>
<AirportName>New York-JFK</AirportName>
</Departure>
<Arrival refs="COUNTRY-GB">
<AirportCode>LGW</AirportCode>
<Date>2018-04-26</Date>
<Time>23:15</Time>
<AirportName>London-Gatwick</AirportName>
</Arrival>
<MarketingCarrier>
<AirlineID>DY</AirlineID>
<Name>Norwegian Air Shuttle</Name>
<FlightNumber>7014</FlightNumber>
</MarketingCarrier>
<OperatingCarrier>
<AirlineID>DY</AirlineID>
<Name>Norwegian Air Shuttle</Name>
<FlightNumber>7014</FlightNumber>
</OperatingCarrier>
<Equipment>
<AircraftCode>789</AircraftCode>
</Equipment>
<FlightDetail>
<FlightDuration>
<Value>PT7H</Value>
</FlightDuration>
</FlightDetail>
</FlightSegment>
</FlightSegmentList>
<FlightList>
<Flight FlightKey="FJD1382D70958DC2A8EF379DD4F21085F6">
<Journey>
<Time>PT7H</Time>
</Journey>
<SegmentReferences>SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</SegmentReferences>
</Flight>
</FlightList>
<OriginDestinationList>
<OriginDestination OriginDestinationKey="OD__JFK_LGW">
<DepartureCode>JFK</DepartureCode>
<ArrivalCode>LGW</ArrivalCode>
<FlightReferences>FJD1382D70958DC2A8EF379DD4F21085F6</FlightReferences>
</OriginDestination>
</OriginDestinationList>
<PriceClassList>
<PriceClass PriceClassID="PC__LFPL">
<Name>LowFare+</Name>
<Code>LFPL</Code>
</PriceClass>
</PriceClassList>
<ServiceDefinitionList>
<ServiceDefinition ServiceDefinitionID="SD__BNDL_PLUS-LFPL-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>BNDL_PLUS</Name>
<ServiceBundle>
<ServiceDefinitionRef>SD__SPML_STANDARD-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__XST-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__YN-1-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D</ServiceDefinitionRef>
</ServiceBundle>
<Encoding>
<Code>BNDL_PLUS</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
<Description>
<Text>Classic Menu</Text>
</Description>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__CCF2">
<Name>CCF2</Name>
<Encoding>
<Code>CCF2</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Creditcard fee</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__SPML_STANDARD-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>SPML_STANDARD</Name>
<Encoding>
<Code>SPML_STANDARD</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Classic Menu</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__XST-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>XST</Name>
<Encoding>
<Code>XST</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__YN-1-SGMC6B92DB2E6DA2C659E3AC6F3CF8F771D">
<Name>YN</Name>
<BaggageAllowanceRef>BAGGAGE_ALLOWANCE__CHECKED-JFK-LGW-LFPL</BaggageAllowanceRef>
<Encoding>
<Code>YN1</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
</Descriptions>
</ServiceDefinition>
</ServiceDefinitionList>
</DataLists>
<Metadata>
<Other>
<OtherMetadata>
<LanguageMetadatas>
<LanguageMetadata MetadataKey="LANG-9CFEFED8FB9497BAA5CD519D7D2BB5D7">
<Code_ISO>en</Code_ISO>
<Code_NLS>en</Code_NLS>
<Name>English</Name>
</LanguageMetadata>
</LanguageMetadatas>
</OtherMetadata>
<OtherMetadata>
<CountryMetadatas>
<CountryMetadata MetadataKey="COUNTRY-GB">
<ICAO_Code>GB</ICAO_Code>
<Name>United Kingdom</Name>
</CountryMetadata>
<CountryMetadata MetadataKey="COUNTRY-US">
<ICAO_Code>US</ICAO_Code>
<Name>USA</Name>
</CountryMetadata>
</CountryMetadatas>
</OtherMetadata>
<OtherMetadata>
<CityMetadatas>
<CityMetadata MetadataKey="CITY-LON">
<AugmentationPoint>
<AugPoint Key="LON">
<ns2:City>
<ns2:Code>LON</ns2:Code>
<ns2:Name>London</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
<CityMetadata MetadataKey="CITY-NYCALL">
<AugmentationPoint>
<AugPoint Key="NYCALL">
<ns2:City>
<ns2:Code>NYCALL</ns2:Code>
<ns2:Name>New York</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
</CityMetadatas>
</OtherMetadata>
</Other>
</Metadata>
</Response>
</OrderViewRS>
Important
|
You will get a price mismatch if you pay with a credit card where surcharges apply and you do not make a final request for an offer with the token. |
Payment card - exempt surcharges
If you are paying with a card without a surcharge you can skip the extra OfferPriceRQ where you include the token.
1. Request: OrderCreateRQ
POST /retail/orders HTTP/1.1
Authorization: Basic dXNlcjp1RXpyUlFXeEZSdXQyVHBMd1RocHh4dFY=
Accept-Encoding:
Accept: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Content-Length: 2346
Host: services.norwegian.com.dev.nas.dev
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OrderCreateRQ xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:46.78499+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="d4dabb70-c89b-4698-a572-9c9583abd296"><PointOfSale><Location><CountryCode>GB</CountryCode></Location></PointOfSale><Document/><Party><Sender><TravelAgencySender><Name>Zeus Travel</Name><AgencyID>DYAPI-LFPL</AgencyID></TravelAgencySender></Sender><Participants xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><Recipient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></Party><OrderCreateParameters><Alerts><Alert><SecurePaymentAlert><URLs><FailURL>https://client.com/failure</FailURL><TermURL>https://client.com/success</TermURL></URLs><Details><CustomerDevice><IP_Address>198.22.22.11</IP_Address><BrowserUserAgentHeader>Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405</BrowserUserAgentHeader></CustomerDevice></Details></SecurePaymentAlert></Alert></Alerts></OrderCreateParameters><Query><Order><Offer OfferID="of53ce0f0d50ae40ac9c721a1245e03a4b" Owner="DY" ResponseID="re884db67a917048c098432faec84637e4"><TotalOfferPrice Code="EUR">485.5</TotalOfferPrice><OfferItem OfferItemID="oi8ad6475e603a428aad11953e9b210385"><PassengerRefs>PAX__ADT01</PassengerRefs></OfferItem></Offer></Order><Payments><Payment><Type>CC</Type><Method><Voucher><Number>60D6C14E3DB04AC69501FB5F2E87168F</Number></Voucher></Method><Amount Code="EUR">485.5</Amount></Payment></Payments><DataLists><PassengerList><Passenger PassengerID="PAX__ADT01"><PTC>ADT</PTC><Individual><Birthdate>1974-12-12</Birthdate><NameTitle>MR</NameTitle><GivenName>MagHf</GivenName><Surname>YXhMCTest</Surname></Individual><ContactInfoRef>CI__PAX__ADT01</ContactInfoRef></Passenger></PassengerList><ContactList><ContactInformation ContactID="CI__PAX__ADT01"><ContactProvided><Phone><CountryDialingCode>47</CountryDialingCode><PhoneNumber>99887766</PhoneNumber></Phone></ContactProvided><ContactProvided><EmailAddress><EmailAddressValue>[email protected]</EmailAddressValue></EmailAddress></ContactProvided></ContactInformation></ContactList></DataLists></Query></OrderCreateRQ>
2. Response: OrderViewRS
HTTP/1.1 200 OK
vary: accept-encoding
Content-Encoding: gzip
Content-Type: application/vnd.nas.ndc.v17.2+xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 22 Nov 2024 15:02:46 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 12304
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OrderViewRS xmlns="http://www.iata.org/IATA/EDIST/2017.2" xmlns:ns2="http://services.norwegian.com/retail/ndc/extensions" TimeStamp="2024-11-22T16:02:46.842266+01:00" Target="Test" Version="17.2" TransactionIdentifier="bbbb-444a-85b7" CorrelationID="d4dabb70-c89b-4698-a572-9c9583abd296">
<Document/>
<Success/>
<Response>
<Order OrderID="o31e44cc1f0204432b992758102d1a5dc" Owner="DY" WebAddressID="http://portal.dev.norwegian.com/en/start/booking/details?pnr=TB43PR&pnrName=YXHMCTEST">
<BookingReferences>
<BookingReference>
<ID>TB43PR</ID>
<AirlineID>DY</AirlineID>
</BookingReference>
</BookingReferences>
<TotalOrderPrice>
<SimpleCurrencyPrice Code="EUR">485.5</SimpleCurrencyPrice>
</TotalOrderPrice>
<Status>
<StatusCode>OK</StatusCode>
</Status>
<Payments>
<Payment>
<Type>CC</Type>
<Amount>
<SimpleCurrencyPrice Code="EUR">485.5</SimpleCurrencyPrice>
</Amount>
<Method>
<VoucherMethod>
<Number>60D6C14E3DB04AC69501FB5F2E87168F</Number>
</VoucherMethod>
</Method>
</Payment>
</Payments>
<OrderItems>
<OrderItem OrderItemID="oid84ab7999e414866bd58a4ecd3272cd2" Owner="DY">
<PriceDetail>
<BaseAmount Code="EUR">424.2</BaseAmount>
<Taxes>
<Total Code="EUR">61.3</Total>
</Taxes>
</PriceDetail>
<Service ServiceID="SERVICE__PAX__ADT01-SD__BNDL_PLUS-LFPL-SGME9793B82B0A5C352543976169630DDF3">
<PassengerRef>PAX__ADT01</PassengerRef>
<ServiceDefinitionRef>SD__BNDL_PLUS-LFPL-SGME9793B82B0A5C352543976169630DDF3</ServiceDefinitionRef>
</Service>
<Service ServiceID="SERVICE__PAX__ADT01-SGME9793B82B0A5C352543976169630DDF3">
<PassengerRef>PAX__ADT01</PassengerRef>
<SegmentRef>SGME9793B82B0A5C352543976169630DDF3</SegmentRef>
</Service>
</OrderItem>
</OrderItems>
</Order>
<Commission>
<Amount Code="EUR">34.0</Amount>
</Commission>
<DataLists>
<PassengerList>
<Passenger PassengerID="PAX__ADT01">
<PTC>ADT</PTC>
<Individual>
<Birthdate>1974-12-12</Birthdate>
<NameTitle>MR</NameTitle>
<GivenName>MagHf</GivenName>
<Surname>YXhMCTest</Surname>
</Individual>
<ContactInfoRef>CI__PAX__ADT01</ContactInfoRef>
</Passenger>
</PassengerList>
<ContactList>
<ContactInformation ContactID="CI__PAX__ADT01">
<ContactProvided>
<EmailAddress>
<EmailAddressValue>[email protected]</EmailAddressValue>
</EmailAddress>
</ContactProvided>
<ContactProvided>
<Phone>
<CountryDialingCode>47</CountryDialingCode>
<PhoneNumber>99887766</PhoneNumber>
</Phone>
</ContactProvided>
</ContactInformation>
</ContactList>
<BaggageAllowanceList>
<BaggageAllowance BaggageAllowanceID="BAGGAGE_ALLOWANCE__CHECKED-OSL-JFK-LFPL">
<BaggageCategory>Checked</BaggageCategory>
<PieceAllowance>
<ApplicableParty>Traveler</ApplicableParty>
<TotalQuantity>2</TotalQuantity>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN1</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
<PieceMeasurements Quantity="1">
<PieceWeightAllowance>
<MaximumWeight>
<Value>23.0</Value>
<UOM>K</UOM>
</MaximumWeight>
<ApplicableBag>YN2</ApplicableBag>
</PieceWeightAllowance>
</PieceMeasurements>
</PieceAllowance>
</BaggageAllowance>
</BaggageAllowanceList>
<FlightSegmentList>
<FlightSegment SegmentKey="SGME9793B82B0A5C352543976169630DDF3">
<Departure refs="COUNTRY-NO">
<AirportCode>OSL</AirportCode>
<Date>2017-07-20</Date>
<Time>18:05</Time>
<AirportName>Oslo-Gardermoen</AirportName>
</Departure>
<Arrival refs="COUNTRY-US">
<AirportCode>JFK</AirportCode>
<Date>2017-07-20</Date>
<Time>20:05</Time>
<AirportName>New York-JFK</AirportName>
</Arrival>
<MarketingCarrier>
<AirlineID>DY</AirlineID>
<Name>Norwegian Air Shuttle</Name>
<FlightNumber>7001</FlightNumber>
</MarketingCarrier>
<OperatingCarrier>
<AirlineID>DY</AirlineID>
<Name>Norwegian Air Shuttle</Name>
<FlightNumber>7001</FlightNumber>
</OperatingCarrier>
<Equipment>
<AircraftCode>789</AircraftCode>
</Equipment>
<FlightDetail>
<FlightDuration>
<Value>PT8H</Value>
</FlightDuration>
</FlightDetail>
</FlightSegment>
</FlightSegmentList>
<FlightList>
<Flight FlightKey="FJF1C558066F60616DF5C3B7B382D0392D">
<Journey>
<Time>PT8H</Time>
</Journey>
<SegmentReferences>SGME9793B82B0A5C352543976169630DDF3</SegmentReferences>
</Flight>
</FlightList>
<OriginDestinationList>
<OriginDestination OriginDestinationKey="OD__OSL_JFK">
<DepartureCode>OSL</DepartureCode>
<ArrivalCode>JFK</ArrivalCode>
<FlightReferences>FJF1C558066F60616DF5C3B7B382D0392D</FlightReferences>
</OriginDestination>
</OriginDestinationList>
<PriceClassList>
<PriceClass PriceClassID="PC__LFPL">
<Name>LowFare+</Name>
<Code>LFPL</Code>
</PriceClass>
</PriceClassList>
<ServiceDefinitionList>
<ServiceDefinition ServiceDefinitionID="SD__BNDL_PLUS-LFPL-SGME9793B82B0A5C352543976169630DDF3">
<Name>BNDL_PLUS</Name>
<ServiceBundle>
<ServiceDefinitionRef>SD__SPML_STANDARD-SGME9793B82B0A5C352543976169630DDF3</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__XST-SGME9793B82B0A5C352543976169630DDF3</ServiceDefinitionRef>
<ServiceDefinitionRef>SD__YN-1-SGME9793B82B0A5C352543976169630DDF3</ServiceDefinitionRef>
</ServiceBundle>
<Encoding>
<Code>BNDL_PLUS</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
<Description>
<Text>Classic Menu</Text>
</Description>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__SPML_STANDARD-SGME9793B82B0A5C352543976169630DDF3">
<Name>SPML_STANDARD</Name>
<Encoding>
<Code>SPML_STANDARD</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Classic Menu</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__XST-SGME9793B82B0A5C352543976169630DDF3">
<Name>XST</Name>
<Encoding>
<Code>XST</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Seat reservation</Text>
</Description>
</Descriptions>
</ServiceDefinition>
<ServiceDefinition ServiceDefinitionID="SD__YN-1-SGME9793B82B0A5C352543976169630DDF3">
<Name>YN</Name>
<BaggageAllowanceRef>BAGGAGE_ALLOWANCE__CHECKED-OSL-JFK-LFPL</BaggageAllowanceRef>
<Encoding>
<Code>YN1</Code>
</Encoding>
<Descriptions>
<Description>
<Text>Checked baggage</Text>
</Description>
</Descriptions>
</ServiceDefinition>
</ServiceDefinitionList>
</DataLists>
<Metadata>
<Other>
<OtherMetadata>
<LanguageMetadatas>
<LanguageMetadata MetadataKey="LANG-9CFEFED8FB9497BAA5CD519D7D2BB5D7">
<Code_ISO>en</Code_ISO>
<Code_NLS>en</Code_NLS>
<Name>English</Name>
</LanguageMetadata>
</LanguageMetadatas>
</OtherMetadata>
<OtherMetadata>
<CountryMetadatas>
<CountryMetadata MetadataKey="COUNTRY-NO">
<ICAO_Code>NO</ICAO_Code>
<Name>Norway</Name>
</CountryMetadata>
<CountryMetadata MetadataKey="COUNTRY-US">
<ICAO_Code>US</ICAO_Code>
<Name>USA</Name>
</CountryMetadata>
</CountryMetadatas>
</OtherMetadata>
<OtherMetadata>
<CityMetadatas>
<CityMetadata MetadataKey="CITY-NYCALL">
<AugmentationPoint>
<AugPoint Key="NYCALL">
<ns2:City>
<ns2:Code>NYCALL</ns2:Code>
<ns2:Name>New York</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
<CityMetadata MetadataKey="CITY-OSLALL">
<AugmentationPoint>
<AugPoint Key="OSLALL">
<ns2:City>
<ns2:Code>OSLALL</ns2:Code>
<ns2:Name>Oslo</ns2:Name>
</ns2:City>
</AugPoint>
</AugmentationPoint>
</CityMetadata>
</CityMetadatas>
</OtherMetadata>
</Other>
</Metadata>
</Response>
</OrderViewRS>