openapi: 3.0.0 info: title: SDK Backend API description: NCP REST 2.0 SDK Backend API version: 2.6.0 servers: - url: https://api-sandbox.nuvei.com/sdk-api description: sandbox - url: https://api.nuvei.com/sdk-api description: prod tags: - name: Orders description: '' paths: /orders: post: tags: - Orders summary: Create Order description: Creates a new merchant order. operationId: postOrder parameters: - name: idempotency-key in: header description: Idempotency Key for the request required: false style: simple explode: false schema: type: string example: 31f9952c-0058-458b-8244-4ae110ef1556 requestBody: content: application/json: schema: $ref: '#/components/schemas/orderRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/orderResponse' example: sessionId: sid_4980d755d3f64304a0cbf9b0778faff8 result: status: success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/orderResponse' example: result: status: error errors: code: '5000.1000' reason: '[processingEntityId] must not be null' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/orderResponse' example: result: status: error errors: code: '7300.3000' reason: Authorization error '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/orderResponse' example: result: status: error errors: code: '7300.3000' reason: Authorization error '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/orderResponse' example: result: status: error errors: code: '7000.1000' reason: Internal system error security: - accessToken: [] - apiKey: [] patch: tags: - Orders summary: Update Order Amount description: Updates the amount of an order. operationId: patchOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchOrderRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/PatchOrderResponse' security: - apiKey: [] /orders/status: get: tags: - Orders summary: Get Order Status description: Gets the status of a previously created order. operationId: getOrdersStatus responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/OrderStatusResponse' security: - apiKey: [] components: schemas: OpenAmount: title: Open Amount required: - max - min type: object properties: min: minimum: 0 type: number max: type: number amountSuggestions: type: array items: $ref: '#/components/schemas/Amount' paymentMethodOverrides: $ref: '#/components/schemas/PaymentMethodOverrides' description: Object for providing minimum and maximum amounts for open amount functionality. PatchOrderRequest: title: Patch Order Request required: - amount type: object properties: amount: type: number description: Request for updating the amount of an order if `openAmount` class was provided during Order creation. PatchOrderResponse: title: Patch Order Response required: - result type: object properties: result: $ref: '#/components/schemas/ApiOrderResultOutput' description: Response of the PATCH Order orderRequest: title: orderRequest required: - amount - currency - permittedOperations - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. agentId: type: string description: Unique identifier of the AI agent that initiated the transaction on behalf of the end user. productId: maxLength: 50 type: string description: A free text parameter used to identify the product/service sold. If this parameter is not sent or is sent with an empty value, then it contains the concatenation of all item names up until the parameter maximum length. Risk rules and traffic management rules are usually built based on this parameter value. currencyConversion: $ref: '#/components/schemas/CurrencyConversion' amount: minimum: 0 type: number description: The transaction amount. currency: maxLength: 3 minLength: 3 type: string description: The [3-letter ISO currency code](https://docs.nuvei.com/?p=8513#currency-codes). transactionType: $ref: '#/components/schemas/PaymentTransactionType' isMoto: type: boolean description: 'Indicates whether the transaction was done over email/phone or is a regular transaction. Values: true = Moto transaction | false = no Moto Transaction' isPartialApproval: type: boolean description: 'Describes a situation where the deposit was completed and processed with an amount lower than the requested amount due to a consumer''s lack of funds within the desired payment method. Partial approval is only supported by Nuvei acquiring. Values: `true` - Allow partial approval | `false` - Not allow partial approval' zeroAmountReason: type: string description: For Authentication Zero scenarios, this optional field defines the authentication type. enum: - recurring - installments - addCard - maintainCard - accountVerification amountDetails: $ref: '#/components/schemas/AmountDetails' items: type: array items: $ref: '#/components/schemas/Item' dynamicDescriptor: $ref: '#/components/schemas/DynamicDescriptor' subMerchant: $ref: '#/components/schemas/SubMerchant' urlDetails: $ref: '#/components/schemas/UrlDetails' rebill: $ref: '#/components/schemas/Rebill' deviceDetails: $ref: '#/components/schemas/DeviceDetails' custom: $ref: '#/components/schemas/KeyValuePair' buyerDetails: $ref: '#/components/schemas/BuyerDetails' permittedOperations: $ref: '#/components/schemas/PermittedOperations' uiConfig: $ref: '#/components/schemas/KeyValuePair' storePaymentOption: $ref: '#/components/schemas/PaymentTokenStorageOption' storePaymentTokenBehaviour: $ref: '#/components/schemas/StorePaymentTokenBehaviour' continueWithoutLiabilityShift: type: boolean description: | If the continueWithoutLiabilityShift parameter is provided, the behavior is: \ `true`: The transaction will be processed as either non-3D or 3D, depending on other conditions. \ `false`: The transaction will be processed strictly as AUTH3D. default: true threeD: $ref: '#/components/schemas/ThreeDOrderInput' preventOverride: $ref: '#/components/schemas/PreventOverride' openAmount: $ref: '#/components/schemas/OpenAmount' aftDetails: $ref: '#/components/schemas/AftDetails' recipientDetails: $ref: '#/components/schemas/RecipientDetails' mcc: type: string description: Enables merchants to provide multiple MCC codes, subject to approval by Nuvei's underwriting team. feeOriginCountryCode: maxLength: 2 minLength: 2 type: string nameVerification: $ref: '#/components/schemas/NameInquiryInput' digitalAssetType: $ref: '#/components/schemas/DigitalAssetType' extendedData: $ref: '#/components/schemas/PaymentsExtendedData' PaymentsExtendedData: title: PaymentsExtendedData properties: risk: $ref: '#/components/schemas/RiskAddendum' localPayment: $ref: '#/components/schemas/LocalPaymentAddendum' installments: $ref: '#/components/schemas/FrontEndInstallmentsAddendum' lodging: $ref: '#/components/schemas/LodgingAddendum' airlines: $ref: '#/components/schemas/PaymentReservationAddendum' marketplace: $ref: '#/components/schemas/MarketplaceAddendum' level23: $ref: '#/components/schemas/Level23Addendum' orderResponse: title: orderResponse required: - result type: object properties: sessionId: type: string description: A temporary access token that can be used to perform an action on an order. example: sid_4980d755d3f64304a0cbf9b0778faff8 result: $ref: '#/components/schemas/ApiOrderResultOutput' ApmTokenInput: title: ApmTokenInput required: - name type: object properties: name: maxLength: 50 minLength: 1 type: string description: The APM name. example: ACH data: $ref: '#/components/schemas/MaskedKeyValuePair' ApmOutput: title: ApmOutput allOf: - $ref: '#/components/schemas/ApmTokenInput' - type: object properties: merchantReference: $ref: '#/components/schemas/MerchantReference' paymentTokenId: $ref: '#/components/schemas/TokenId' AmountDetails: title: amountDetails type: object properties: totalDiscount: type: number description: Amount of discount applied. default: 0 totalHandling: type: number description: Amount of handling. default: 0 totalShipping: type: number description: Amount of freight or shipping. default: 0 totalTax: type: number description: Total tax amount. default: 0 ApiOrderResultOutput: title: apiOrderResultOutput required: - status type: object properties: status: type: string description: The transaction status. enum: - error - success - pending errors: $ref: '#/components/schemas/ResultError' ApiResultOutput: title: apiResultOutput required: - status type: object properties: status: type: string description: The transaction status. enum: - approved - authorizedOnly - declined - error - pending - redirect - challenge - fingerprint - authenticated - authenticationNotSupported - actionRequired errors: $ref: '#/components/schemas/ResultError' CardOutput: title: cardOutput type: object properties: cardHolderName: maxLength: 70 type: string description: The cardholder name. maskedCardNumber: maxLength: 20 type: string description: The masked credit card number. bin: maxLength: 8 type: string description: The first six digits from the credit card number for identifying the processing bank. The rest of the number is not displayed. last4Digits: maxLength: 4 type: string description: The last four digits of the card number. expirationMonth: maxLength: 2 type: string description: The card expiration month. expirationYear: maxLength: 4 type: string description: The card expiration year. acquirerId: maxLength: 2 type: string description: The ID of the acquirer that processed the transaction. cardType: maxLength: 20 type: string description: 'The type of card used in the transaction. Values: Credit, Debit' cardBrand: type: string secondaryBrand: type: string issuerBankName: type: string issuerCountry: type: string processedBrand: type: string description: The card brand used in the transaction. paymentTokenId: $ref: '#/components/schemas/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' threeD: $ref: '#/components/schemas/ThreeDOutput' Delivery: title: delivery type: object properties: deliveryEmail: type: string description: For electronic delivery, the email address to which the merchandise was delivered. timeFrame: type: string description: 'Values: 01 = Electronic Delivery | 02 = Same day shipping | 03 = Overnight shipping | 04 = 2-day or more shipping' enum: - '01' - '02' - '03' - '04' DynamicDescriptor: title: dynamicDescriptor type: object properties: merchantName: maxLength: 25 type: string description: The merchant name, as is displayed for the transaction on the consumer's card statement. merchantContactInformation: maxLength: 255 type: string description: The merchant contact information, as is displayed for the transaction on the consumer's card statement. It can also be an email address. EntityId: title: entityId type: string description: Processing `entityId` provided by Nuvei. format: uuid IdType: title: idType type: string example: '34564567' Item: title: item required: - name - price - quantity - type type: object properties: name: type: string price: type: number quantity: type: integer type: type: string description: Item classification enum: - Discount - Physical - ShippingFee - Digital - GiftCard - StoreCredit - Surcharge - SalesTax groupId: type: string description: Product category grouping discountDetails: $ref: '#/components/schemas/DiscountDetails' taxDetails: $ref: '#/components/schemas/TaxDetails' shippingDetails: $ref: '#/components/schemas/ShippingDetails' urlsDetails: $ref: '#/components/schemas/UrlsDetails' description: A single item in the purchase. DiscountDetails: type: object properties: amount: type: number description: Absolute discount amount rate: type: number description: Discount percentage description: Discount details TaxDetails: type: object properties: tax: type: number description: VAT / tax amount taxRate: type: number description: VAT / tax rate description: Tax details ShippingDetails: type: object properties: price: type: number description: Shipping net price tax: type: number description: Shipping tax amount taxRate: type: number description: Shipping tax rate description: Shipping price and tax UrlsDetails: type: object properties: imageUrl: type: string description: Product image URL format: uri productUrl: type: string format: uri description: Product URLs KeyValuePair: title: keyValuePair type: object additionalProperties: type: string example: accountNumber: '11345739548759' routingNumber: '847937857' default: type: string MerchantReference: maxLength: 50 type: string description: Merchant Reference for a business entity (token, subscription, etc.) example: 12391284AF87C7D2 PartialApprovalOutput: title: partialApprovalOutput required: - requestedAmount - requestedCurrency type: object properties: requestedAmount: type: number description: The original requested amount. requestedCurrency: maxLength: 3 minLength: 3 type: string description: The [currency](https://docs.nuvei.com/?p=8513#currency-codes) of the original request. PaymentTokenStorageOption: title: PaymentTokenStorageOption type: string enum: - none - tokenOnly - buyerToken PaymentOptionOutput: title: paymentOptionOutput type: object properties: card: $ref: '#/components/schemas/CardOutput' alternativePaymentMethod: $ref: '#/components/schemas/ApmOutput' networkToken: $ref: '#/components/schemas/NetworkTokenOutput' PaymentResponse: title: paymentsResponse required: - result type: object properties: paymentId: $ref: '#/components/schemas/IdType' transactionId: $ref: '#/components/schemas/TransactionId' externalTransactionId: $ref: '#/components/schemas/ExternalTransactionId' amount: minimum: 0 exclusiveMinimum: true type: number description: The transaction amount. currency: maxLength: 3 minLength: 3 type: string description: The [3-letter ISO currency code](https://docs.nuvei.com/?p=8513#currency-codes). transactionType: $ref: '#/components/schemas/TransactionType' result: $ref: '#/components/schemas/ApiResultOutput' authCode: maxLength: 128 type: string description: The authorization code of the transaction. cvv2Code: maxLength: 1 type: string description: 'The CVV2 (card verification value) response. Values: M = CVV2 Match | N = CVV2 No Match | P = Not Processed | U = Issuer is not certified and/or has not provided Visa the encryption keys | S = CVV2 processor is unavailable.' avsCode: maxLength: 1 type: string description: 'The address verification service (AVS) response. Values: A = The street address matches, the ZIP code does not. | W = Postal code matches, the street address does not. | Y = Postal code and the street address match. | X = An exact match of both the 9-digit ZIP code and the street address. | Z = Postal code matches, the street code does not. | U = Issuer is unavailable. | S = AVS not supported by issuer. | R = Retry. | B = Not authorized (declined). | N = Both the street address and postal code do not match.' partialApproval: $ref: '#/components/schemas/PartialApprovalOutput' redirectUrl: maxLength: 2000 type: string description: For an APM, the URL to which the customer is redirected in order to complete the transaction process. actionDetails: $ref: '#/components/schemas/KeyValuePair' paymentOption: $ref: '#/components/schemas/PaymentOptionOutput' providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' aftDetails: $ref: '#/components/schemas/AftDetailsOutput' mcc: type: string nameVerification: $ref: '#/components/schemas/NameInquiryOutput' schemeDetails: $ref: '#/components/schemas/SchemeDetails' BaseOrderStatusResponse: title: BaseOrderStatusResponse type: object properties: refundId: $ref: '#/components/schemas/IdType' description: Base Order Status Response OrderStatusResponse: title: OrderStatusResponse description: Order Status Response allOf: - $ref: '#/components/schemas/BaseOrderStatusResponse' - $ref: '#/components/schemas/PaymentResponse' PaymentTransactionType: type: string description: The type of transaction. enum: - Auth - PreAuth - Sale PermittedOperation: type: string description: Operation permitted for a bearer token. example: payments enum: - payments - operations PermittedOperations: minItems: 1 uniqueItems: true type: array description: Array of operations that are allowed for this order. Must be any combination of payment, settle, refund and void. items: $ref: '#/components/schemas/PermittedOperation' PreOrder: type: object properties: date: type: string format: date purchaseIndicator: type: string description: 'Indicates whether the cardholder is placing an order for merchandise with a future availability or release date. Values: 01 = Merchandise available | 02 = Future availability' enum: - '01' - '02' description: Indicates whether the cardholder is placing an order for merchandise with a future availability or release date. Rebill: title: rebill type: object properties: expiry: type: string description: 'Recurring Expiry in the format: YYYYMMDD. REQUIRED if step = init. We recommend setting expiry to a value of no more than 5 years from the date of the initial transaction processing date' format: date frequency: type: integer description: Recurring Frequency in days. REQUIRED if step = init. step: type: string description: Indicates the type of transaction performed as part of a rebilling plan. enum: - init - recurring - MIT - noShow - delayedCharges SubMerchant: title: subMerchant type: object properties: id: maxLength: 15 type: string description: Represents the internal merchant's ID, which is forwarded to Visa and Mastercard city: maxLength: 20 type: string description: The payment facilitator's sub-merchant's city name. countryCode: maxLength: 2 minLength: 2 type: string description: The payment facilitator's sub-merchant's [2-letter ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes). name: maxLength: 20 type: string description: The payment facilitator's sub-merchant's name. address: type: string description: The payment facilitator's sub-merchant's address. zip: type: string description: The payment facilitator's sub-merchant's zip code. phone: type: string description: The payment facilitator's sub-merchant's phone number. state: type: string description: The payment facilitator's sub-merchant's state. url: type: string description: The payment facilitator's sub-merchant's url. TokenId: type: string ExternalTransactionId: title: ExternalTransactionId maxLength: 50 type: string description: The transaction ID of the transaction in the event that an external service is used. TransactionId: maxLength: 20 type: string description: Nuvei Digital Payments Gateway Transaction ID. TransactionType: type: string description: The type of transaction. enum: - Auth - Sale - PreAuth - Settle - Void - Refund - InitAuth3D - Auth3D - Sale3D UrlDetails: title: urlDetails type: object properties: webhookUrl: type: string description: The URL to which notifications for outcome of the financial transactions is sent. successUrl: type: string description: The URL to which the end user is redirected in case of a successful transaction with an APM. failureUrl: type: string description: The URL to which the end user is redirected in case of an unsuccessful transaction with an APM. pendingUrl: type: string description: The URL to which the end user is redirected in case of a pending transaction with an APM. returnToAppUrl: type: string description: The URL to which the end user is redirected in case of a successful transaction with an APM that shuold open in an external browser. description: With this class, a merchant can dynamically provide possible URLs to which the end user is redirected after a payment is made, as well as a dynamic URL for [DMNs](https://docs.nuvei.com/?p=493091). UserAccount: title: userAccount type: object properties: addCardAttempts24H: type: integer description: Number of Add Card attempts in the last 24 hours. addressFirstUseDate: type: string description: 'Date when the shipping address used for this transaction was first used with the 3DS Requestor in the format: YYYYMMDD.' format: date addressFirstUseIndicator: type: string description: 'Indicates when the shipping address used for this transaction was first used with the 3DS Requestor. Values: 01 = This transaction | 02 = Less than 30 days | 03 = 30-60 days | 04 = More than 60 days' enum: - '01' - '02' - '03' - '04' age: type: string description: 'Length of time that the cardholder has had the account with the 3DS Requestor. Values: 01 = No account (payment as a guest) | 02 = Created during this transaction | 03 = Less than 30 days | 04 = 30-60 days | 05 = More than 60 days' enum: - '01' - '02' - '03' - '04' - '05' lastChangeDate: type: string description: Date (in YYYYMMDD format) that the cardholder's account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. format: date lastChangeIndicator: type: string description: 'Length of time since the cardholder''s account information with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Values: 01 = Changed during this transaction | 02 = Less than 30 days | 03 = 30-60 days | 04 = More than 60 days' enum: - '01' - '02' - '03' - '04' cardSavedDate: type: string description: The date on which the payment account was enrolled in the cardholder's account with the 3DS Requestor. format: date cardSavedIndicator: type: string description: 'Indicates the length of time that the payment account was enrolled in the cardholder''s account with the 3DS Requestor. Values: 01 = If merchant does not save the card on their end, the deposit was processed without creating an account | 02 = If card is saved as part of this transaction flow | 03 = Card was saved less than 30 days ago | 04 = Card was saved between 30 and 60 days ago, endpoints included | 05 = Card was saved more than 60 days ago' enum: - '01' - '02' - '03' - '04' - '05' nameIndicator: type: string description: 'Indicates if the cardholder name on the account is identical to the shipping name used for this transaction. Values: 01 = Account name identical to shipping name | 02 = Account name different than shipping name' enum: - '01' - '02' passwordChangeDate: type: string description: 'Date that cardholder''s account with the 3DS Requestor had a password change or account reset in format: YYYYMMDD.' format: date purchasesCount6M: type: integer description: Number of purchases with this cardholder account during the previous six months. registrationDate: type: string description: 'Date that the cardholder opened the account with the 3DS Requestor in the format: YYYYMMDD.' format: date resetIndicator: type: string description: 'Indicates the length of time since the cardholder''s account with the 3DS Requestor had a password change or account reset. Values: 01 = No change | 02 = Changed during this transaction | 03 = Less than 30 days | 04 = 30-60 days | 05 = More than 60 days' enum: - '01' - '02' - '03' - '04' - '05' suspiciousActivityIndicator: type: string description: 'Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. Values: 01 = No suspicious activity has been observed | 02 = Suspicious activity has been observed' enum: - '01' - '02' transactionsCount1Y: type: integer description: Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year. transactionsCount24H: type: integer description: Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours. CurrencyConversion: required: - originalAmount - originalCurrency - type type: object properties: type: type: string description: The type of the currency conversion. enum: - MCP originalAmount: minimum: 0 type: number description: The original amount of the transaction in the currency that the merchant requested. originalCurrency: maxLength: 3 minLength: 3 type: string description: The [3-letter ISO currency code](https://docs.nuvei.com/?p=8513#currency-codes) of the currency that the merchant requested in the transaction. Challenge: title: Challenge type: object properties: preference: type: string description: 'Can be used either during an Authentication request when Nuvei is the 3D-Secure v2 MPI or during an Authorization request without any prior authentication when the transaction amount allows it. Please contact our Risk Team to set this threshold amount. Values: ChallengeRequest, ExemptionRequest, NoPreference' enum: - Challenge - Exemption - NoPreference exemptionReason: type: string description: 'If the merchant has submitted an exemption requested using mpiChallengePreference, this parameter displays the reason for the request. Values: LowValuePayment, TransactionRiskAnalysis' enum: - InitialMerchantInitiatedTransaction - InitialRecurringPayment - AddCard - AccountVerification - MerchantInitiatedTransaction - RecurringPayment - MerchantSCADelegation - WalletSCADelegation - CorporateCard - TrustedBeneficiaries - AlwaysChallenge - NoPreference - RuleEngineChallenge - LowValueTransaction - TransactionRiskAnalysis - SoftDeclineReSubmissionTo3DS2 - ElevatedWalletAuthentication - FraudFilterReSubmissionTo3DS2 GiftCard: title: GiftCard type: object properties: count: minimum: 1 type: integer description: For a prepaid or gift card purchase, the total number of individual prepaid or gift cards/codes purchased. totalAmount: minimum: 0 type: number description: For a prepaid or gift card purchase, the total purchase amount of prepaid or gift card(s) in major units (for example, USD 123.45 is 123). currency: maxLength: 3 minLength: 3 type: string description: For a prepaid or gift card purchase, the [3-letter ISO currency code](https://docs.nuvei.com/?p=8513#currency-codes) of the gift card. PlatformType: title: PlatformType type: string description: 'The device channel. Values: 01 = SDK | 02 = Browser' default: '02' enum: - '01' - '02' ChallengeWindowSize: type: string description: 'The dimensions of the challenge window. Values: 01 = 250 x 400 | 02 = 390 x 400 | 03 = 500 x 600 | 04 = 600 x 400 | 05 = Full screen' enum: - '01' - '02' - '03' - '04' - '05' WhiteListStatus: title: WhiteListStatus type: string description: 'Indicates if this consumer defined this merchant as whitelist or not. If the consumer defined the merchant, then this is the reason the challenge did not happen. Values: Y = 3DS Requestor is whitelisted by cardholder | N = 3DS Requestor is not whitelisted by cardholder | E = Not eligible as determined by issuer | P = Pending confirmation by cardholder | R = Cardholder rejected | U = Whitelist status unknown, unavailable, or does not apply' enum: - 'Y' - 'N' - E - P - R - U AuthenticationResult: type: string description: 'Indicates whether a transaction qualifies as an authenticated transaction or account verification. Note: The Final CRes message can contain only a value of Y or N. Values: Y = Authentication Verification Successful | N = Not Authenticated /Account Not Verified; Transaction denied | U = Authentication/ Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq | A = Attempts Processing Performed; Not Authenticated/Verified, but a proof of attempted authentication/verification is provided | C = Challenge Required; Additional authentication is required using the CReq/CRes | D = Challenge Required; Decoupled Authentication confirmed | R = Authentication/ Account Verification Rejected; Issuer is rejecting | I = Informational only (issuer approved SCA exemption)' enum: - 'Y' - 'N' - U - A - C - D - R - I AuthenticationType: maxLength: 2 minLength: 2 type: string description: 'The type of authentication performed during the 3D Secure 2.0 challenge. If the merchant wants to react differently for each authentication type, then they can, per the value returned. Values: 01 = Static | 02 = Dynamic | 03 = OOB | 04 = Decoupled | 05-79 = Reserved for EMVCo future use (values invalid until defined by EMVCo) | 80-99 = Reserved for DS use' AcsChallengeMandate: type: string description: 'The 3D Secure 2.0 challenge indication. Values: N = not required | Y = required' enum: - 'Y' - 'N' ReorderItemsIndicator: type: string description: 'Indicates whether the cardholder is reordering previously purchased merchandise. Values: 01 = First time ordered | 02 - Reordered' enum: - '01' - '02' ShippingIndicator: type: string description: 'Indicates the selected shipping method for the transaction. Values: 01 = Ship to cardholder''s billing address | 02 = Ship to another verified address on file with merchant | 03 = Ship to address that is different than the cardholder''s billing address | 04 = Ship to Store/Pickup at local store (store address shall be populated in shipping address parameters) | 05 = Digital goods (includes online services, electronic gift cards and redemption codes) | 06 = Travel and event tickets, not shipped | 07 = Other (for example: gaming, digital services not shipped, e-media subscriptions, etc.)' enum: - '01' - '02' - '03' - '04' - '05' - '06' - '07' ThreeDInput: title: ThreeD Input Object required: - challengeWindowSize type: object properties: challenge: $ref: '#/components/schemas/Challenge' userAccount: $ref: '#/components/schemas/UserAccount' giftCard: $ref: '#/components/schemas/GiftCard' delivery: $ref: '#/components/schemas/Delivery' preOrder: $ref: '#/components/schemas/PreOrder' reorderItemsIndicator: $ref: '#/components/schemas/ReorderItemsIndicator' shippingIndicator: $ref: '#/components/schemas/ShippingIndicator' merchantUrl: type: string description: The URL of the merchant's fully qualified website. challengeWindowSize: $ref: '#/components/schemas/ChallengeWindowSize' platformType: $ref: '#/components/schemas/PlatformType' externalRiskScore: maximum: 100 minimum: 0 type: integer description: | If you wish to request an exemption prior to the Authentication request when Nuvei is your 3DS MPI, you should provide the risk assessment that you have calculated for the transaction. Alternatively, you can use this parameter during an Authorization request without any prior authentication when the transaction amount allows it. Please contact our Risk Team to set the risk score below which an exemption can be given. Valid values are 0-100 where 0 is lowest risk and 100 is the highest risk. \ To activate sale3D and enable liability shift, include continueWithoutLiabilityShift=true in your request. \ For `low risk scores`, this may result in non-3D processing. \ For `high risk scores`, this may result in 3DS authentication \ NOTE: Nuvei's Fraud Engine considers this value if coordinated in advance with our Risk Team ThreeDExcludedMethods: title: ThreeDExcludedMethods type: object properties: excludeForPaymentMethods: $ref: '#/components/schemas/ThreeDExcludedPaymentMethods' ThreeDOrderInput: title: ThreeD Order Input allOf: - $ref: '#/components/schemas/ThreeDInput' - $ref: '#/components/schemas/ThreeDExcludedMethods' ThreeDOutput: title: ThreeD Output Object type: object properties: fingerprintUrl: type: string description: The URL to post the fingerprintPayload to perform device fingerprinting. fingerprintPayload: type: string description: The payload to be posted to the fingerprintUrl to perform the device fingerprinting. dsTransId: type: string description: The transaction ID of the Directory Server (part of the fingerprintPayload). format: uuid acsUrl: type: string description: The URL of the Access Control Server to perform the challenge request. cReq: type: string description: The payload to be posted to the acsUrl to perform the challenge request. acsTransId: type: string description: The transaction ID of the Access Control Server (part of the cReq). format: uuid version: maxLength: 10 type: string description: The full version of the 3DS protocol for the transaction. example: 2.1.0 eci: maxLength: 2 type: string description: 'The Electronic Commerce Indicator (ECI) that indicates the level of security used in a 3D-Secure program when the cardholder provides payment information to the merchant. Visa values: 5 = The cardholder was successfully authenticated. | 6 = The issuer or cardholder does not participate in a 3D-Secure program. | 7 = Payment authentication was not performed. Mastercard values: 2 = The cardholder was successfully authenticated. | 1 = The issuer or cardholder does not participate in a 3D-Secure program. | 6 = Payment authentication was not performed. | 7 = The cardholder was successfully authenticated for the initial [MIT](https://docs.nuvei.com/?p=492931).' example: '02' cavv: maxLength: 40 type: string description: Cardholder Authentication Verification Value - cryptographically secure hash of various pieces of information related to the transaction that can be used as a proof for the 3DS authentication. whiteListStatus: $ref: '#/components/schemas/WhiteListStatus' acsChallengeMandate: $ref: '#/components/schemas/AcsChallengeMandate' authenticationType: $ref: '#/components/schemas/AuthenticationType' authenticationResult: $ref: '#/components/schemas/AuthenticationResult' flow: $ref: '#/components/schemas/Flow' reasonId: maxLength: 2 minLength: 2 type: string reason: type: string cardholderInfoText: type: string description: 'The text provided by the ACS/Issuer to the cardholder during a frictionless transaction that was not authenticated by the ACS/Issuer. For example: “Additional authentication is needed for this transaction. Please contact [Issuer Name] at xxx-xxx-xxxx.'' If this parameter is populated, the merchant must display the information to the cardholder.' merchantId: type: string description: The Merchant ID provided by Nuvei. challengePreferenceReason: type: string description: This value is returned following a 3D-Secure v2 challenge and describes the reason for challenge. Press [here](https://docs.nuvei.com/?p=492581#challenge-preference-reasons) for more information. acquirerDecision: type: string description: 'The acquirer''s request from the merchant to perform a certain flow. Values: ChallengeRequest, ExemptionRequest' decisionReason: type: string description: The description of the acquirer's decision. Press [here](https://docs.nuvei.com/?p=492581#challenge-preference-reasons) to see a table that presents the possible values. challengeCancelReason: type: string description: Reason description for a canceled 3D-Secure authorization as received from the issuer. challengeCancelReasonId: type: string description: Reason ID for a canceled 3D-Secure authorization as received from the issuer. isLiabilityOnIssuer: type: boolean description: Indicates if there is 3D-Secure liability shift. If equal to '1' - Liability shift is present. If equal to '0', empty or null - No liability shift has occurred. Flow: title: Flow type: string enum: - Challenge - Frictionless - Exemption - NoLiability - Stop PreventOverridei: title: preventOverride type: string description: A field that cannot be overridden on the order. example: amount PreventOverride: minItems: 1 uniqueItems: true type: array description: An array of fields that cannot be overridden on the order. items: $ref: '#/components/schemas/PreventOverridei' NetworkTokenOutput: title: networkTokenOutput type: object properties: provider: $ref: '#/components/schemas/TokenProvider' eciIndicator: maxLength: 100 type: string description: 'The Electronic Commerce Indicator (ECI) that indicates the level of security used in a 3D-Secure program when the cardholder provides payment information to the merchant. Visa values: 5 = The cardholder was successfully authenticated. | 6 = The issuer or cardholder does not participate in a 3D-Secure program. | 7 = Payment authentication was not performed. Mastercard values: 2 = The cardholder was successfully authenticated. | 1 = The issuer or cardholder does not participate in a 3D-Secure program. | 6 = Payment authentication was not performed. | 7 = The cardholder was successfully authenticated for the initial [MIT](https://docs.nuvei.com/?p=492931).' expirationMonth: maxLength: 2 type: string description: The card expiration month. expirationYear: maxLength: 4 type: string description: The card expiration year. cardHolderName: maxLength: 70 type: string description: The cardholder name. maskedCardNumber: maxLength: 20 type: string description: The masked credit card number. bin: maxLength: 8 type: string description: The first six digits from the credit card number for identifying the processing bank. The rest of the number is not displayed. last4Digits: maxLength: 4 type: string description: The last four digits of the card number. acquirerId: maxLength: 2 type: string description: The ID of the acquirer that processed the transaction. cardType: maxLength: 20 type: string description: 'The type of card used in the transaction. Values: Credit, Debit' cardBrand: maxLength: 20 type: string description: 'The card brand used in the transaction. Values: VISA, MASTERCARD, AMEX' paymentTokenId: $ref: '#/components/schemas/PaymentTokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' threeD: $ref: '#/components/schemas/ThreeDOutput' cardLast4Digits: maxLength: 4 type: string issuerBankName: type: string issuerCountry: type: string TokenProvider: type: string description: ' The name of the external token provider Possible values: [ApplePay, GooglePay, Click2Pay, Paze]' enum: - ApplePay - GooglePay - Click2Pay - Paze providerResponseDetails: title: providerResponseDetails type: object properties: code: maxLength: 100 type: string description: If an error occurred on the request side, an error code is returned in this parameter. reason: maxLength: 400 type: string description: If an error occurred on the request side, then an error reason is returned in this parameter. additionalTransactionInfo: title: additionalTransactionInfo type: object properties: additionalTransactionBankId: type: string description: 'Indicates the APM Reference ID of the transaction. NOTE: This parameter is relevant only for certain APMs.' additionalExternalTransactionId: type: string referenceId: type: string description: 'Allows the merchant to provide an ID of a previous transaction, billing agreement, or pre-approval of an APM.NOTE: Use this parameter only if you are not using Nuvei''s [User Payment Management](https://docs.nuvei.com/?p=1935#user-payment-management-tokenization) feature.' PaymentTokenId: title: Payment Token ID type: string example: 1eaf1356-a9a2-4a16-a0c1-290ba2265257 AftDetails: type: object properties: aftOverride: $ref: '#/components/schemas/AftOverride' AftOverride: type: boolean description: true or false StorePaymentTokenBehaviour: type: string enum: - storeWithoutConsent - dontStoreWithoutConsent PaymentMethodOverrides: type: array items: $ref: '#/components/schemas/PaymentMethodOverride' PaymentMethodOverride: type: object properties: name: type: string example: payPal min: minimum: 0 type: number example: 0.1 max: type: number example: 500 amountSuggestions: type: array items: $ref: '#/components/schemas/Amount' Amount: type: number example: 10 DigitalAssetType: type: string enum: - Default - CBDC - TokenizedDeposit - Stablecoin - NativeToken - NFT ResultError: required: - code type: object properties: code: maxLength: 11 type: string description: If an error occurred on the request side, an error code is returned in this parameter. example: '7000.1000' reason: maxLength: 400 type: string description: If an error occurred on the request side, then an error reason is returned in this parameter. example: Internal Processing Error reference: maxLength: 400 type: string description: Reference value for troubleshooting example: '110.1260' description: If an error occurred on the request side, an error code is returned in this parameter. DeviceDetails: title: DeviceDetails type: object properties: deviceName: type: string deviceOS: type: string deviceType: type: string description: 'Supported device types include: DESKTOP, SMARTPHONE, TABLET, TV, UNKNOWN (if device type cannot be recognized).' ipAddress: type: string description: The customer's IP address. browser: $ref: '#/components/schemas/Browser' msisdn: type: string description: Device MSISDN iccId: type: string description: Device ICCID imei: type: string description: Device IMEI devicePossessionStatus: $ref: '#/components/schemas/DevicePossessionStatus' deviceManufacturerIdentifier: type: string Browser: title: Browser type: object properties: acceptHeader: type: string description: Exact content of the HTTP accept headers as sent to the 3DS Requestor from the cardholder's browser. If the total length of the accept header sent by the browser exceeds 2048 characters, the 3D-Secure Server truncates the excess portion. colorDepth: type: integer description: 'Value representing the bit depth of the color palette for displaying images, in bits per pixel. Obtained from cardholder browser using the screen.colorDepth property. Values: 1, 4, 8, 15, 16, 24, 32, 48' javaEnabled: type: boolean description: 'Represents the ability of the cardholder browser to execute Java. REQUIRED when `javaScriptEnabled` is TRUE. Value is returned from the navigator.javaEnabled property. Values: TRUE, FALSE' javaScriptEnabled: type: boolean description: 'Determines whether the browser is JavaScript enabled (from `navigator.javaScriptEnabled` property). Values: TRUE, FALSE' language: type: string description: Value representing the browser language as defined in IETF BCP47. Returned from `navigator.language` property. screenHeight: type: integer description: Total height of the cardholder's screen in pixels. Value is returned from the `screen.height` property. screenWidth: type: integer description: Total width of the cardholder's screen in pixels. Value is returned from the `screen`.width property. timeZone: type: string description: 'Time difference between UTC time and the cardholder browser local time, in minutes. Values: Value is returned from the `getTimezoneOffset()` method.' userAgent: type: string description: 'Exact content of the HTTP user-agent header. Values: If the total length of the user-agent header sent by the browser exceeds 2048 characters, the 3D-Secure Server truncates the excess portion.' DevicePossessionStatus: title: DevicePossessionStatus type: string description: Indication if the device is lost or stolen enum: - lost - stolen BuyerDetails: title: userDetails allOf: - type: object properties: buyerId: maxLength: 255 type: string description: The `buyerId` is required if `buyerToken` is provided as a value in the `store` parameter. - $ref: '#/components/schemas/BasicBuyerDetails' BasicBuyerDetails: title: userDetailsNoId type: object properties: firstName: maxLength: 30 type: string middleName: maxLength: 40 type: string lastName: maxLength: 40 type: string companyName: maxLength: 100 type: string locale: maxLength: 5 type: string dateOfBirth: type: string format: date email: maxLength: 100 type: string phone: maxLength: 18 type: string phone2: maxLength: 18 type: string workPhone: maxLength: 18 type: string identificationType: $ref: '#/components/schemas/IdentificationType' identificationValue: $ref: '#/components/schemas/IdentificationValue' cardHolderEntityType: $ref: '#/components/schemas/CardHolderEntityType' nationalIdentificationNumber: maxLength: 25 type: string accountReference: $ref: '#/components/schemas/BuyerAccountReference' billingAddress: $ref: '#/components/schemas/BillingAddress' shippingAddress: $ref: '#/components/schemas/ShippingAddress' IdentificationType: title: Identification Type Code type: string enum: - DateOfBirth - CustomerId - NationalId - PassportNumber - DriverLicense - TaxId - CompanyRegistrationNumber - ProxyId - SocialSecurityNumber - AlienRegistrationNumber - LawEnforcementId - MilitaryId - TravelId - Email - PhoneNumber IdentificationValue: title: Identification Value maxLength: 100 type: string CardHolderEntityType: title: Cardholder Entity Type type: string enum: - Business - Individual BuyerAccountReference: maxLength: 34 type: string BillingAddress: title: billingAddress required: - countryCode type: object properties: address: maxLength: 60 type: string addressLine2: maxLength: 60 type: string addressLine3: maxLength: 60 type: string street: maxLength: 100 type: string state: maxLength: 6 type: string zip: maxLength: 10 type: string city: maxLength: 30 type: string countryCode: maxLength: 2 minLength: 2 type: string description: 2 digits ISO country code phone: maxLength: 18 type: string addressMatch: type: boolean ShippingAddress: title: shippingAddress type: object properties: sameAsBilling: type: boolean default: false address: maxLength: 60 type: string addressLine2: maxLength: 60 type: string addressLine3: maxLength: 60 type: string streetNumber: maxLength: 20 type: string state: maxLength: 6 type: string zip: maxLength: 10 type: string city: maxLength: 30 type: string countryCode: maxLength: 2 minLength: 2 type: string firstName: maxLength: 30 type: string lastName: maxLength: 40 type: string phone: maxLength: 18 type: string phone2: maxLength: 18 type: string careOf: type: string description: Name of the person/entity to whose care the shipment is addressed. salutation: type: string description: Salutation used for the shipping recipient (e.g., Mr, Ms, Dr). ShippingTrackingDetails: $ref: '#/components/schemas/ShippingTrackingDetails' ShippingTrackingDetails: type: object properties: customerNumber: type: string description: Customer number associated with the shipment. addressType: type: string description: Type of shipping address (e.g., residential, business). shippingType: type: string description: Shipping method/type (e.g., standard, express). shippingCarrierName: type: string description: Name of the shipping carrier. trackingId: type: string description: Tracking identifier provided by the carrier. trackingUrl: type: string description: URL where tracking status can be viewed. format: uri RecipientDetails: type: object properties: firstName: maxLength: 30 type: string middleName: maxLength: 40 type: string lastName: maxLength: 40 type: string email: maxLength: 100 type: string phone: maxLength: 18 type: string address: minLength: 1 type: string deprecated: true addressLine2: minLength: 1 type: string deprecated: true identificationType: $ref: '#/components/schemas/IdentificationType' identificationValue: $ref: '#/components/schemas/IdentificationValue' cardHolderEntityType: $ref: '#/components/schemas/CardHolderEntityType' accountReference: $ref: '#/components/schemas/RecipientAccountReference' addressDetails: $ref: '#/components/schemas/RecipientAddress' RecipientAccountReference: maxLength: 34 type: string RecipientAddress: type: object properties: address: maxLength: 100 minLength: 1 type: string addressLine2: maxLength: 100 minLength: 1 type: string street: maxLength: 100 type: string zip: maxLength: 25 type: string city: maxLength: 30 type: string state: maxLength: 2 type: string countryCode: maxLength: 2 type: string NameInquiryInput: title: NameInquiryInput type: object properties: enable: type: boolean default: false RiskAddendum: title: RiskAddendum type: object properties: buyerRiskDetails: $ref: '#/components/schemas/BuyerRiskDetails' recipientRiskDetails: $ref: '#/components/schemas/RecipientRiskDetails' buyerRecipientInteraction: $ref: '#/components/schemas/BuyerRecipientInteraction' transactionMetrics: $ref: '#/components/schemas/TransactionMetrics' paymentFlow: $ref: '#/components/schemas/PaymentFlow' deliveryInfo: $ref: '#/components/schemas/DeliveryInfo' travelBookingInfo: $ref: '#/components/schemas/TravelBookingInfo' geoLocation: $ref: '#/components/schemas/GeoLocation' merchantScores: $ref: '#/components/schemas/MerchantScores' storeInfo: $ref: '#/components/schemas/StoreInfo' customData: $ref: '#/components/schemas/AddendumCustomData' BuyerRiskDetails: title: BuyerRiskDetails type: object properties: customerSince: type: string format: date-time signUpIp: type: string popularityScore: $ref: '#/components/schemas/PopularityScore' isExistingCustomer: type: boolean isLoyaltyFlagExists: type: boolean PopularityScore: title: PopularityScore type: string enum: - low - medium - high RecipientRiskDetails: title: RecipientRiskDetails type: object properties: businessName: type: string signUpIp: type: string popularityScore: $ref: '#/components/schemas/PopularityScore' customerSince: type: string format: date-time phoneCreateDate: type: string format: date-time BuyerRecipientInteraction: title: BuyerRecipientInteraction type: object properties: firstInteractionAt: type: string format: date-time interaction3Months: $ref: '#/components/schemas/InteractionFrequency' interactionFrequency: $ref: '#/components/schemas/InteractionFrequency' firstInteractionWithApp: type: string format: date-time InteractionFrequency: title: InteractionFrequency type: string enum: - low - medium - high TransactionMetrics: title: TransactionMetrics type: object properties: transactionsCount1H: type: integer transactionsCount24H: type: integer transactionsCount3Months: type: integer transactionsCountTotal: type: integer numberTopUps24H: type: integer numberTopUpReceivers: type: integer chargebacksIndicator: $ref: '#/components/schemas/ChargebacksIndicator' isTangible: type: boolean ChargebacksIndicator: title: ChargebacksIndicator type: string enum: - zero - low - medium - high PaymentFlow: title: PaymentFlow type: object properties: paymentConsentMode: $ref: '#/components/schemas/PaymentConsentMode' highRiskItemFlag: type: boolean verticalCategory: type: string isTangible: type: boolean PaymentConsentMode: title: PaymentConsentMode type: string enum: - automatic - manual DeliveryInfo: title: DeliveryInfo type: object properties: deliveryMethod: type: string deliveryAddressChangedAt: type: string format: date-time TravelBookingInfo: title: TravelBookingInfo type: object properties: type: type: string serviceStartAt: type: string format: date-time serviceEndAt: type: string format: date-time changeGuestAllowed: type: boolean startCountry: type: string endCountry: type: string startCity: type: string endCity: type: string startZipCode: type: string endZipCode: type: string startSpot: type: string endSpot: type: string GeoLocation: title: GeoLocation type: object properties: storeLatitude: type: string storeLongitude: type: string senderLatitude: type: string senderLongitude: type: string MerchantScores: title: MerchantScores type: object properties: multiCardUsageIndicator: type: integer description: | Indication of 2 cards transaction. Values: `0` - not a multicard transaction `1` - multicard transaction with 1st card `2` - multicard transaction with 2nd card identityRiskScore: type: number phoneVerificationRiskScore: type: number StoreInfo: title: StoreInfo type: object properties: storeId: type: string AddendumCustomData: title: AddendumCustomData type: object properties: stringOne: type: string stringTwo: type: string intOne: type: integer LocalPaymentAddendum: title: LocalPaymentAddendum type: object properties: vatAmount: type: number description: VAT tax amount calculated by the merchant in domestic currency nationalConsumptionTaxAmount: type: number description: Consumption tax amount calculated by the merchant in domestic currency taxBase: $ref: '#/components/schemas/LocalPaymentTaxBase' tipAmount: type: number description: Tip amount paid during the purchase transaction airportChargeAmount: type: number description: Airport charge portion of an airline ticket purchase nationalId: type: string description: Cardholder national identification number LocalPaymentTaxBase: type: object properties: amount: type: number description: Purchase amount in domestic currency on which taxes were calculated currencyCode: maxLength: 3 minLength: 3 type: string description: ISO-4217 alpha-3 currency code FrontEndInstallmentsAddendum: title: FrontEndInstallmentsAddendum type: object properties: numberOfInstallments: type: integer type: type: string enum: - deferredWithInterest - deferredWithoutInterest - deferredWithoutInterestAndGracePeriod fundAnticipationType: type: string enum: - fundedPerOriginalPlan - fundedAfter1Day - fundedAfter30Days debitType: type: string enum: - singularPayment - installments - specialDebit LodgingAddendum: title: LodgingAddendum type: object properties: reservationDetails: $ref: '#/components/schemas/LodgingReservationDetails' LodgingReservationDetails: title: LodgingReservationDetails type: object properties: purchaseId: type: string description: Merchant reference customerServicePhone: type: string description: Customer service phone number noShowIndicator: $ref: '#/components/schemas/NoShowIndicator' extraCharges: $ref: '#/components/schemas/LodgingExtraCharges' checkInDate: type: string description: Check-in date in YYYYMMDD format checkOutDate: type: string description: Check-out date in YYYYMMDD format propertyPhone: type: string description: Property phone number lodgingName: type: string description: Hotel or cruise name lodgingType: $ref: '#/components/schemas/LodgingType' totalAuthAmount: type: number description: Total authorized amount rooms: $ref: '#/components/schemas/LodgingRoomDetails' passengerDetails: type: array description: List of passengers items: $ref: '#/components/schemas/LodgingPassengerDetails' segments: maxItems: 4 type: array description: Departure leg dates, up to 4 items: $ref: '#/components/schemas/LodgingSegment' NoShowIndicator: title: NoShowIndicator type: string enum: - NotApplicable - NoShow LodgingExtraCharges: title: LodgingExtraCharges type: string enum: - PositionNotUsed - Reserved - Restaurant - GiftShop - MiniBar - Telephone - Other - Laundry LodgingType: title: LodgingType type: string enum: - Cruise - Hotel LodgingRoomDetails: title: LodgingRoomDetails type: object properties: rate: type: number description: Daily room rate nights: type: integer description: Total number of nights LodgingPassengerDetails: title: LodgingPassengerDetails type: object properties: fullName: type: string description: Full name of the passenger LodgingSegment: title: LodgingSegment type: object properties: departureDate: type: string description: Departure date in YYYYMMDD format PaymentReservationAddendum: title: PaymentReservationAddendum allOf: - $ref: '#/components/schemas/BaseReservationDetails' - $ref: '#/components/schemas/AuthPassengersDetails' BaseReservationDetails: title: BaseReservationDetails type: object properties: pnrCode: type: string description: Passenger Name Record identifier in airline reservation system bookingSystemUniqueId: type: string description: Unique reservation identifier in the GDS computerizedReservationSystem: type: string description: CRS name, e.g. `Amadeus`, `Sabre`, `Galileo` ticketNumber: type: string description: Primary airline ticket number documentType: type: string description: Document type, typically `TKT` (e-ticket) or `OT` flightDateUtc: type: string description: UTC date/time of first flight leg format: date-time issueDateUtc: type: string description: UTC timestamp of last ticket issue or reissue format: date-time travelAgencyCode: type: string description: IATA agency code travelAgencyName: type: string description: Travel agency name travelAgencyInvoiceNumber: type: string description: Agency invoice reference travelAgencyPlaneName: type: string description: Aircraft type ICAO code (e.g., `B737`) restrictedTicketIndicator: $ref: '#/components/schemas/RestrictedTicketIndicator' issuingCarrierCode: maxLength: 2 minLength: 2 type: string description: Two-letter IATA issuing airline code isPayerTraveling: type: boolean description: Indicates whether the payer is a passenger passengersCount: type: integer description: Total number of passengers (excluding infants) infantsCount: type: integer description: Number of infants payerPassportId: type: string description: Passport identifier of payer totalAmounts: $ref: '#/components/schemas/TotalAmounts' ticketIssueAddress: type: string description: Ticket issuing location ancillaryServices: $ref: '#/components/schemas/AncillaryServicesDetails' flightLegsDetails: maxItems: 4 type: array items: $ref: '#/components/schemas/FlightLegDetails' RestrictedTicketIndicator: title: RestrictedTicketIndicator type: string enum: - Restricted - NotRestricted TotalAmounts: title: TotalAmounts type: object properties: fare: type: number description: Total fare excluding taxes and fees taxes: type: number description: Total tax amount fee: type: number description: Total fees boardingFee: type: number description: Boarding or service fee AncillaryServicesDetails: title: AncillaryServicesDetails type: array items: $ref: '#/components/schemas/AncillaryServiceInfo' AncillaryServiceInfo: title: AncillaryServiceInfo type: object properties: passenger: $ref: '#/components/schemas/AncillaryServicePassenger' flight: $ref: '#/components/schemas/AncillaryServiceFlight' services: type: array items: $ref: '#/components/schemas/AncillaryService' AncillaryServicePassenger: type: object properties: firstName: type: string lastName: type: string AncillaryServiceFlight: type: object properties: ticketNumber: type: string AncillaryService: title: AncillaryService type: object properties: categoryCode: type: string subCategoryCode: type: string amount: type: number currency: maxLength: 3 minLength: 3 type: string ticketNumber: type: string FlightLegDetails: title: FlightLegDetails required: - airlineCode - arrivalDate - departureAirport - departureCountry - departureDate - destinationAirport - destinationCountry - flightNumber - stopOverCode - type type: object properties: airlineCode: maxLength: 2 minLength: 2 type: string description: Two-letter IATA airline code flightNumber: minLength: 1 type: string description: Airline flight number departureDate: type: string description: Local departure airport date/time format: date-time arrivalDate: type: string description: Local arrival airport date/time format: date-time departureCountry: maxLength: 2 minLength: 2 type: string description: ISO-2 country code departureCity: type: string description: Departure city name departureAirport: maxLength: 3 minLength: 3 type: string description: IATA 3-letter departure airport code destinationCountry: maxLength: 2 minLength: 2 type: string description: ISO-2 country code destinationCity: type: string description: Destination city name destinationAirport: maxLength: 3 minLength: 3 type: string description: IATA 3-letter destination airport code type: $ref: '#/components/schemas/LegType' flightType: $ref: '#/components/schemas/FlightType' ticketDeliveryMethod: type: string description: For example - `P` physical or `E` electronic. ticketDeliveryRecipient: type: string description: Ticket recipient name fareBasisCode: type: string description: Fare basis or booking code serviceClass: type: string description: Cabin or service class seatClass: type: string description: Seat or fare class stopOverCode: $ref: '#/components/schemas/StopOverCode' departureTaxAmount: type: number description: Departure tax amount departureTaxCurrency: maxLength: 3 minLength: 3 type: string description: ISO-3 currency code fareAmount: type: number description: Fare amount for this leg feeAmount: type: number description: Fees for this leg taxAmount: type: number description: Taxes for this leg layoutInterval: type: integer description: Minutes between legs LegType: title: LegType type: string description: '`Domestic` or `International`' enum: - Domestic - International FlightType: title: FlightType type: string description: '`RoundTrip` or `OneWay`. Required when Risk pre-Auth is enabled' enum: - RoundTrip - OneWay StopOverCode: title: StopOverCode maxLength: 1 minLength: 1 type: string description: '`O` - destination, `X` - connection, or ` ` - blank' enum: - O - X - ' ' AuthPassengersDetails: title: AuthPassengersDetails type: object properties: passengersDetails: maxItems: 10 type: array items: $ref: '#/components/schemas/PassengerDetails' PassengerDetails: title: PassengerDetails required: - firstName - lastName type: object properties: passportNumber: type: string description: Passport number exactly as printed customerCode: type: string description: Airline customer identifier frequentFlyerCode: type: string description: Loyalty program number title: type: string description: Passenger title, e.g. `Mr`, `Ms`, `Dr` firstName: minLength: 1 type: string description: Passenger first name lastName: minLength: 1 type: string description: Passenger last name middleName: type: string description: Required if present on passport passengerName: type: string description: Full passenger name as shown on the ticket dateOfBirth: type: string description: Date of birth, YYYY-MM-DD format: date phone: type: string description: Passenger contact phone number MarketplaceAddendum: title: MarketplaceAddendum type: object properties: description: type: string sellerDetails: type: array items: $ref: '#/components/schemas/MarketplaceSellerDetails' buyerDetails: type: array items: $ref: '#/components/schemas/MarketplaceBuyerDetails' MarketplaceSellerDetails: title: MarketplaceSellerDetails type: object properties: uniqueAccountIdentifier: $ref: '#/components/schemas/MarketplaceUniqueAccountIdentifier' subMerchant: $ref: '#/components/schemas/MarketplaceSubMerchant' productDetails: $ref: '#/components/schemas/MarketplaceProductDetails' accountDetails: $ref: '#/components/schemas/MarketplaceAccountDetails' sellerRating: type: number numberOfTrades: type: number volumeOfTrades: type: number MarketplaceUniqueAccountIdentifier: title: MarketplaceUniqueAccountIdentifier type: object properties: phone: type: string email: type: string other: type: string MarketplaceSubMerchant: title: MarketplaceSubMerchant type: object properties: id: type: string name: type: string zip: type: string MarketplaceProductDetails: title: MarketplaceProductDetails type: object properties: category: type: string name: type: string MarketplaceAccountDetails: title: MarketplaceAccountDetails type: object properties: registrationDate: type: string format: date-time accountLastModified: $ref: '#/components/schemas/MarketplaceAccountLastModified' MarketplaceAccountLastModified: title: MarketplaceAccountLastModified type: object properties: password: type: string format: date-time email: type: string format: date-time listing: type: string format: date-time login: type: string format: date-time address: type: string format: date-time MarketplaceBuyerDetails: title: MarketplaceBuyerDetails type: object properties: uniqueAccountIdentifier: $ref: '#/components/schemas/MarketplaceUniqueAccountIdentifier' accountDetails: $ref: '#/components/schemas/MarketplaceAccountDetails' numberOfTrades: type: number volumeOfTrades: type: number Level23Addendum: title: Level23Addendum type: object properties: taxIndicator: $ref: '#/components/schemas/TaxIndicator' customerCode: maxLength: 25 type: string description: Customer / consumer reference identifier. merchantVatRegistrationNumber: maxLength: 20 type: string description: Merchant VAT registration number or SBRN. customerVatRegistrationNumber: maxLength: 13 type: string description: Customer VAT registration number. summaryCommodityCode: maxLength: 4 type: string description: National standard commodity code. destinationZip: maxLength: 10 type: string description: Destination postal code. shipFromZip: maxLength: 10 type: string description: Shipment origin postal code. destinationCountryCode: maxLength: 3 type: string description: Destination country code (ISO-3166). uniqueVatReference: maxLength: 15 type: string description: VAT invoice reference number. orderDate: maxLength: 6 pattern: ^[0-9]{6}$ type: string description: Date order was taken in `YYMMDD` format. vatOrTaxRate: type: number description: Tax rate applied to freight/shipping (implied decimals). lineItemCount: type: integer description: Number of line items. Used as a counter/indicator, not the actual array size. lineItemCountTax: type: integer description: Canadian tax line item count. taxItems: maxItems: 6 type: array description: Up to 6 Canadian tax items per transaction. items: $ref: '#/components/schemas/TaxItem' items: maxItems: 998 type: array description: Up to 998 Level 3 line items per transaction. items: $ref: '#/components/schemas/LineItem' amountDetails: $ref: '#/components/schemas/Level23AmountDetails' description: Level 2 / Level 3 transaction data. TaxIndicator: title: TaxIndicator type: string description: | Indicates whether local tax is included. * `NotIncluded` * `StateOrProvincialIncluded` * `NotSubjectToTax` Must contain `StateOrProvincialIncluded` if the local tax field is non-zero. enum: - NotIncluded - StateOrProvincialIncluded - NotSubjectToTax TaxItem: title: TaxItem type: object properties: taxAmountIndicator: $ref: '#/components/schemas/TaxAmountIndicator' taxAmount: type: number description: Detailed tax amount (implied decimals). taxRate: maxLength: 5 type: string description: | Tax rate applied. Numeric value without decimal point; exponent provided separately. Example: `"07500"` with `taxRateExponent = 3` represents `7.5%`. taxRateExponent: type: integer description: Decimal position for `taxRate`. taxTypeApplied: maxLength: 4 type: string description: Tax category indicator. taxTypeIdentifier: maxLength: 2 type: string description: Type of tax collected. TaxAmountIndicator: title: TaxAmountIndicator type: string description: Indicator for additional tax capture / reporting. enum: - NoAdditionalTaxReporting - AdditionalTaxReporting LineItem: title: LineItem type: object properties: commodityCode: maxLength: 12 type: string description: Commodity classification code. description: maxLength: 35 type: string description: Item description. productCode: maxLength: 12 type: string description: Product identifier. quantity: maxLength: 12 type: string description: Quantity purchased (exponent-based). unitMeasure: maxLength: 12 type: string description: Unit of measure code. price: type: number description: Unit price (implied decimals). vatOrTaxAmount: type: number description: VAT or sales tax amount. vatOrTaxRate: type: number description: VAT / sales tax rate. totalAmount: type: number description: Total line item amount. discountRate: maxLength: 5 type: string description: Discount rate (uses exponent). discount: type: number description: Discount amount. taxType: maxLength: 4 type: string description: Tax category indicator. quantityExponentIndicator: type: integer description: Decimal position of `quantity`. discountRateExponent: type: integer description: Decimal position of `discountRate`. discountTreatmentCode: $ref: '#/components/schemas/DiscountTreatmentCode' creditIndicator: $ref: '#/components/schemas/CreditIndicator' extendedAmount: type: number description: Quantity x price (net). DiscountTreatmentCode: title: DiscountTreatmentCode type: string description: Discount treatment code. enum: - NoDiscount - PostDiscountTax - PreDiscountTax CreditIndicator: title: CreditIndicator type: string description: Debit / Credit indicator for the line item. enum: - Debit - Credit Level23AmountDetails: title: AmountDetails type: object properties: taxAmount: type: number description: | State or provincial tax amount included in the transaction amount. Expressed in the transaction currency, with two implied decimals. May contain zeros. nationalTaxAmount: type: number description: National tax amount included in the transaction amount. totalDiscount: type: number description: Total discount amount applied. totalShipping: type: number description: Freight / shipping amount. dutyAmount: type: number description: Duty tax amount. vatOrTaxAmount: type: number description: VAT / tax on shipping. MaskedKeyValuePair: title: MaskedKeyValuePair type: object example: accountNumber: '11345739548759' routingNumber: '847937857' AftDetailsOutput: title: AFT Details Output type: object properties: isAftTransaction: type: boolean isAftOverriden: type: boolean NameInquiryOutput: title: NameInquiryOutput type: object properties: result: $ref: '#/components/schemas/OverallInquiryStatus' firstName: $ref: '#/components/schemas/NameInquiryStatus' middleName: $ref: '#/components/schemas/NameInquiryStatus' lastName: $ref: '#/components/schemas/NameInquiryStatus' OverallInquiryStatus: title: OverallInquiryStatus type: string enum: - noMatch - partialMatch - match - unverified - notPerformed - notSupported NameInquiryStatus: title: NameInquiryStatus type: string enum: - noMatch - partialMatch - match - unverified SchemeDetails: title: schemeDetails type: object properties: transactionLinkId: type: string ThreeDExcludedPaymentMethods: title: ThreeDExcludedPaymentMethods minItems: 1 uniqueItems: true type: array items: $ref: '#/components/schemas/ThreeDExclusionPaymentMethod' ThreeDExclusionPaymentMethod: title: ThreeDExclusionPaymentMethod type: string enum: - Card - ApplePay - GooglePay - Paze - Click2Pay - NetworkToken responses: DeletePaymentTokensOkResponse: description: OK content: {} DeletePaymentTokensBadRequestResponse: description: Bad Request content: {} DeletePaymentTokensUnauthorizedResponse: description: Unauthorized content: {} DeletePaymentTokensForbiddenResponse: description: Forbidden content: {} DeletePaymentTokensNotFoundResponse: description: Not Found content: {} DeletePaymentTokensInternalServerErrorResponse: description: Internal Server Error content: {} PaymentSessionOkResponse: description: OK content: {} PaymentSessionBadRequestResponse: description: Bad Request content: {} PaymentSessionUnauthorizedResponse: description: Unauthorized content: {} PaymentSessionForbiddenResponse: description: Forbidden content: {} PaymentSessionNotFoundResponse: description: Internal Server Error content: {} PaymentSessionInternalErrorResponse: description: Internal Server Error content: {} EntityPaymentOptionsOkResponse: description: OK content: {} EntityPaymentOptionsBadRequestResponse: description: Bad Request content: {} EntityPaymentOptionsUnauthorizedResponse: description: Unauthorized content: {} EntityPaymentOptionsForbiddenResponse: description: Forbidden content: {} EntityPaymentOptionsInternalErrorResponse: description: Internal server error content: {} FingerprintingCompletedNotificationResponse: description: OK content: text/html: schema: type: string example: '' ChallengeCompletedNotificationResponse: description: OK content: text/html: schema: type: string example: '' OkResponse: description: OK content: {} BadRequest: description: Bad Request content: {} Unauthorized: description: Unauthorized content: {} Forbidden: description: Forbidden content: {} NotFound: description: Not Found content: {} InternalServerError: description: Internal Server Error content: {} VenmoMerchantInfoResponse: description: OK content: {} VenmoBadRequestResponse: description: Bad Request content: {} VenmoUnauthorizedResponse: description: Unauthorized content: {} VenmoForbiddenResponse: description: Forbidden content: {} VenmoNotFoundResponse: description: Not Found content: {} VenmoInternalServerErrorResponse: description: Internal Server Error content: {} PazeIdentifierOk: description: OK content: {} PazeIdentifierBadRequest: description: Bad Request content: {} PazeIdentifierUnauthorized: description: Unauthorized content: {} PazeIdentifierForbidden: description: Forbidden content: {} PazeIdentifierNotFound: description: Not Found content: {} PazeIdentifierInternalServerError: description: Internal Server Error content: {} parameters: country_code_optional_query_string: name: country_code in: query description: The [2-letter ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes). required: false style: form explode: true schema: maxLength: 2 minLength: 2 type: string currency_optional_query_string: name: currency in: query description: The [3-letter ISO currency code](https://docs.nuvei.com/?p=8513#currency-codes). required: false style: form explode: true schema: maxLength: 3 minLength: 3 type: string include_optional_fields_optional_query_string: name: include_optional_fields in: query description: Include optional fields in the response. required: false style: form explode: true schema: type: boolean default: false session-id: name: session-id in: path description: Session ID. required: true style: simple explode: false schema: type: string payment-token-id: name: payment-token-id in: path description: Payment Token ID. required: true style: simple explode: false schema: type: string validation_url: name: validation_url in: query description: Validation URL required: false style: form explode: true schema: type: string format: uri-reference example: https://apple-pay-gateway.apple.com/paymentservices/startSession idempotency-key: name: idempotency-key in: header description: Idempotency Key for the request required: false style: simple explode: false schema: type: string example: 31f9952c-0058-458b-8244-4ae110ef1556 card-number: name: card-number in: path description: Card Number required: true style: simple explode: false merchant_name: name: merchant_name in: query description: Merchant Name required: false style: form explode: true example: ACME Corporation merchant_origin: name: merchant_origin in: query description: Merchant Origin required: false style: form explode: true example: www.acme.com payment_token_status: name: payment_token_status in: query description: 'Filter payment tokens by status. Accepted values: `active`, `suspended`. If omitted, only `active` tokens are returned.' required: false style: form explode: true schema: type: array securitySchemes: accessToken: type: http scheme: bearer bearerFormat: JWT apiKey: type: apiKey name: X-API-KEY in: header