openapi: 3.0.0 info: title: Payments API description: NCP REST 2.0 Payments API version: 2.3.56 servers: - url: https://api-sandbox.nuvei.com/payment-api description: sandbox - url: https://api.nuvei.com/payment-api description: prod tags: - name: Payment and Backoffice Operations - name: Advanced Refund Operations - name: Advanced Void Operations paths: /payments: post: tags: - Payment and Backoffice Operations summary: Create Payment (Auth, PreAuth or Sale) description: Creates a payment request for transaction types Auth, PreAuth or Sale. operationId: postPayments 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/PaymentsRequest' examples: Card non-3D Payment: value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f merchantTransactionId: e607a97a-be81-43ba-a261-f0833e20afc0 amount: 100 currency: USD isPartialApproval: false transactionType: Auth paymentOption: store: none card: cardHolderName: John Doe cardNumber: '5101081046006034' expirationMonth: '12' expirationYear: '28' cvv: '456' buyerDetails: buyerId: john@doe.com firstName: John lastName: Doe locale: en-US email: john@doe.com phone: 18735556709 billingAddress: state: TX city: Austin zip: '78652' countryCode: US shippingAddress: sameAsBilling: true custom: marketingCampaign: HOLIDAYS2024 ACH Payment: value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f merchantTransactionId: e607a97a-be81-43ba-a261-f0833e20afc0 amount: 50 currency: USD transactionType: Sale paymentOption: store: none alternativePaymentMethod: name: ACH data: accountNumber: '11345739548759' routingNumber: '847937857' buyerDetails: buyerId: john@doe.com firstName: John lastName: Doe locale: en-US email: john@doe.com phone: 18735556709 billingAddress: state: TX city: Austin zip: '78652' countryCode: US shippingAddress: sameAsBilling: true Card 3D Payment: value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f merchantTransactionId: e607a97a-be81-43ba-a261-f0833e20afc0 amount: 47.86 currency: USD paymentOption: store: buyerToken card: cardHolderName: John Doe cardNumber: '4895373566139987' expirationMonth: '03' expirationYear: '28' threeD: fingerprintNotificationUrl: www.fingerprintNotification.8351.com challengeNotificationUrl: www.challengeNotification.4343.com challengeWindowSize: '05' externalRiskScore: 50 buyerDetails: buyerId: john@doe.com firstName: John lastName: Doe locale: en-US email: john@doe.com phone: 18735556709 billingAddress: state: TX city: Austin zip: '78652' countryCode: US shippingAddress: sameAsBilling: true transactionType: Sale required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentsFingerprintResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PaymentsFingerprintResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PaymentsFingerprintResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/PaymentsFingerprintResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/PaymentsFingerprintResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/fingerprint: post: tags: - Payment and Backoffice Operations summary: Create Payment (3D Fingerprinting) description: Processes a payment request after the Device Fingerprinting step in the 3D payment flow. operationId: postPaymentsFingerprint parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/FingerprintRequest' examples: Successful Fingerprinting: value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f fingerprintingIndicator: 'Y' Unsuccessful Fingerprinting: value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f fingerprintingIndicator: 'N' Unattempted Fingerprinting: summary: Unattempted Device Fingerprinting value: processingEntityId: f6452a8c-c148-4aca-8c06-ad95c5adfe7f fingerprintingIndicator: U required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Payments3DResponse' examples: Approved Card 3D Challenge: summary: Auth3D transaction Approved - 3DS Challenge Flow value: paymentId: '49900038994789921' transactionId: '2110000000011875918' amount: 74.8 currency: USD transactionType: Auth3D result: status: challenge partialApproval: requestedAmount: 74.8 requestedCurrency: USD paymentOption: card: cardHolderName: John Doe maskedCardNumber: 5***0008 bin: '554506' last4Digits: '0008' expirationMonth: '09' expirationYear: '28' acquirerId: '99' cardType: Credit cardBrand: MASTERCARD threeD: dsTransId: 4f92a9ef-6196-4a89-a25c-97df99f835d0 acsUrl: https://3dsn-qa.nuvei.com/api/ThreeDSACSChallengeController/ChallengePage?eyJub3RpZmljYXRpb25VUkwiOiJ3d3cuY2hhbGxlbmdlTm90aWZpY2F0aW9uLjI1NTEuY29tIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJmYjM2MzJhYi02NGQzLTQ2MjgtYmY1My1mMjE1ZDIzNWFiNzIiLCJhY3NUcmFuc0lEIjoiM2YxZTgxODAtMDQ0Yy00NTJjLWJhMmYtN2U0ZWI1NmEzZmM1IiwiZHNUcmFuc0lEIjoiNGY5MmE5ZWYtNjE5Ni00YTg5LWEyNWMtOTdkZjk5ZjgzNWQwIiwiZGF0YSI6bnVsbCwiTWVzc2FnZVZlcnNpb24iOiIyLjIuMCJ9 cReq: eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImZiMzYzMmFiLTY0ZDMtNDYyOC1iZjUzLWYyMTVkMjM1YWI3MiIsImFjc1RyYW5zSUQiOiIzZjFlODE4MC0wNDRjLTQ1MmMtYmEyZi03ZTRlYjU2YTNmYzUiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMi4wIn0 acsTransId: 3f1e8180-044c-452c-ba2f-7e4eb56a3fc5 version: 2.2.0 eci: '2' acsChallengeMandate: 'Y' authenticationType: '01' authenticationResult: C flow: Challenge challengePreferenceReason: NoPreference acquirerDecision: ExemptionRequest Successfully Authorized 3D payment - Frictionless Flow: summary: Successfully Authorized 3D Payment - Frictionless Flow value: paymentId: '49900038994789921' transactionId: '2110000000011875929' externalTransactionId: '211011875929' amount: 84.94 currency: USD transactionType: Auth result: status: authorizedOnly authCode: '556180' partialApproval: requestedAmount: 84.94 requestedCurrency: USD paymentOption: card: cardHolderName: John Doe maskedCardNumber: 5***0008 bin: '554506' last4Digits: '0008' expirationMonth: '08' expirationYear: '24' acquirerId: '99' cardType: Credit cardBrand: MASTERCARD threeD: dsTransId: ebc72fd5-20a1-4d95-83f3-cf8061747f2c version: 2.2.0 eci: '2' cavv: ejJRWG9SWWRpU2I1M21DelozSXU= acsChallengeMandate: 'Y' authenticationType: '01' authenticationResult: C flow: Frictionless challengePreferenceReason: TransactionRiskAnalysis acquirerDecision: ExemptionRequest '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Payments3DResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Payments3DResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Payments3DResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Payments3DResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/challenge: post: tags: - Payment and Backoffice Operations summary: Create Payment (3D Challenge) description: Processes a payment request after the Challenge step in the 3D payment flow. operationId: postPaymentsChallenge parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/ChallengeRequest' examples: Successful Challenge: value: processingEntityId: 2ab3fe3c-09f1-4058-aa0d-dd85ed9ff347 cRes: eyJhY3NUcmFuc0lEIjoiODc3OTFjZWUtMjUxNC00MzZjLWJlZDgtYTYzYTg3YmJkZjAxIiwiY2hhbGxlbmdlQ29tcGxldGlvbkluZCI6IlkiLCJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJkNDFmNjIwMC0wNDM1LTQ5ZWUtYWExMS1mMzY2ZjA2NjFjNmYiLCJ0cmFuc1N0YXR1cyI6IlkifQ required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Payments3DChallengeResponse' examples: Successfully Authorized 3D Payment: summary: Successfully Authorized 3D Payment value: paymentId: '49900038994789921' transactionId: '2110000000011875929' externalTransactionId: '211011875929' amount: 84.94 currency: USD transactionType: Auth result: status: authorizedOnly authCode: '556180' partialApproval: requestedAmount: 84.94 requestedCurrency: USD paymentOption: card: cardHolderName: John Doe maskedCardNumber: 5***0008 bin: '554506' last4Digits: '0008' expirationMonth: '08' expirationYear: '24' acquirerId: '99' cardType: Credit cardBrand: MASTERCARD threeD: fingerprintPayload: eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNjNjk1OWFkLWQ1YjAtNDE2OS1hNWY0LTY0YmY4YmMwYzY5MiIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJ3d3cuZmluZ2VycHJpbnROb3RpZmljYXRpb24uMjUzMC5jb20ifQ== dsTransId: ebc72fd5-20a1-4d95-83f3-cf8061747f2c version: 2.2.0 eci: '2' cavv: ejJRWG9SWWRpU2I1M21DelozSXU= acsChallengeMandate: 'Y' authenticationType: '01' authenticationResult: C flow: Challenge challengePreferenceReason: TransactionRiskAnalysis acquirerDecision: ExemptionRequest '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Payments3DChallengeResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Payments3DChallengeResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Payments3DChallengeResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Payments3DChallengeResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/voids: post: tags: - Payment and Backoffice Operations summary: Create Void (Auth or Sale) description: Creates a void request for a previously performed Sale or Auth transaction. operationId: postPaymentPaymentIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidOrRefundRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/voids/{void-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Void of Payment) description: Voids a previous Void request of a payment. operationId: postPaymentPaymentIdVoidVoidIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: void-id in: path description: Void ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/refunds: post: tags: - Payment and Backoffice Operations summary: Create Refund (Sale) description: Creates a refund request following a Sale transaction. operationId: postPaymentPaymentIdRefund parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/RefundRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/RefundResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/refunds/{refund-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Refund) description: Voids a previous Refund request. operationId: postPaymentPaymentIdRefundRefundIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: refund-id in: path description: Refund ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/refunds/{refund-id}/voids/{void-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Void of Refund) description: Voids a previous Void request of a refund. operationId: postPaymentPaymentIdRefundRefundIdVoidVoidIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: refund-id in: path description: Refund ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: void-id in: path description: Void ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles: post: tags: - Payment and Backoffice Operations summary: Create Settle (Approved Auth) description: Creates a settle (capture) request following a previously approved Auth transaction. operationId: postPaymentPaymentIdSettle parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/SettleRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/SettleResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SettleResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SettleResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/SettleResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/SettleResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/SettleResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles/{settle-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Settle) description: Voids a Settle request. operationId: postPaymentPaymentIdSettleSettleIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidOrRefundRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidOrRefundResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles/{settle-id}/voids/{void-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Void of Settle) description: Voids a previous Void request of a settle. operationId: postPaymentPaymentIdSettleSettleIdVoidVoidIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: void-id in: path description: Void ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles/{settle-id}/refunds: post: tags: - Advanced Refund Operations summary: Create Refund (Settle) description: Creates a refund request following a Settle transaction. operationId: postPaymentPaymentIdSettleSettleIdRefund parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/RefundRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/RefundResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles/{settle-id}/refunds/{refund-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Refund of Settle) description: Voids a previous Refund request of a settle. operationId: postPaymentPaymentIdSettleSettleIdRefundRefundIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: refund-id in: path description: Refund ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /payments/{payment-id}/settles/{settle-id}/refunds/{refund-id}/voids/{void-id}/voids: post: tags: - Advanced Void Operations summary: Void a (Void of Refunded Settle) description: Voids a previous Void of a refunded settle. operationId: postPaymentPaymentIdSettleSettleIdRefundRefundIdVoidVoidIdVoid parameters: - name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: refund-id in: path description: Refund ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - name: void-id in: path description: Void ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' - 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/VoidRequest' required: true responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/VoidResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/VoidResponse' security: - accessToken: [] - apiKeyAuth: [] /refunds: post: tags: - Advanced Refund Operations summary: Create Unrelated Refund description: Creates an unrelated refund to a previous transaction. operationId: postRefund 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/UnreferencedRefundRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/RefundResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/RefundResponse' security: - accessToken: [] - apiKeyAuth: [] /payouts: post: tags: - Payout summary: Create a payout description: Creates a Payout. operationId: postPayout 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/PayoutRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' security: - accessToken: [] - apiKeyAuth: [] components: schemas: PaymentsRequest: title: paymentsRequest required: - amount - currency - paymentOption - 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. relatedTransactionId: maxLength: 20 type: string description: For recurring/rebilling and MIT, represents the reference to the original transaction ID of the initial transaction. 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/TransactionTypeInput' paymentFlow: $ref: '#/components/schemas/PaymentFlowSelector' 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' siteNameOverride: maxLength: 50 type: string description: The merchant site name. This is useful for merchants operating many websites that are distinguished only by name. Risk rules and traffic management rules are usually built based on this parameter value. 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' paymentOption: $ref: '#/components/schemas/PaymentOptionInput' 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' externalSchemeDetails: $ref: '#/components/schemas/ExternalSchemeDetails' 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. nameVerification: $ref: '#/components/schemas/NameInquiryInput' feeOriginCountryCode: maxLength: 2 minLength: 2 type: string digitalAssetType: $ref: '#/components/schemas/DigitalAssetType' extendedData: $ref: '#/components/schemas/PaymentsExtendedData' description: '' PaymentsExtendedData: title: PaymentsExtendedData type: object properties: risk: $ref: '#/components/schemas/RiskAddendum' installments: $ref: '#/components/schemas/InstallmentsAddendum' localPayment: $ref: '#/components/schemas/LocalPaymentAddendum' lodging: $ref: '#/components/schemas/LodgingAddendum' externalAuthorization: $ref: '#/components/schemas/ExternalAuthorizationAddendum' airlines: $ref: '#/components/schemas/PaymentReservationAddendum' marketplace: $ref: '#/components/schemas/MarketplaceAddendum' level23: $ref: '#/components/schemas/Level23Addendum' SettlesExtendedData: title: SettlesExtendedData type: object properties: lodging: $ref: '#/components/schemas/LodgingAddendum' airlines: $ref: '#/components/schemas/SettleReservationAddendum' level23: $ref: '#/components/schemas/Level23Addendum' BasePaymentsResponse: title: BasePaymentsResponse 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' providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' aftDetails: $ref: '#/components/schemas/AftDetailsOutput' mcc: type: string nameVerification: $ref: '#/components/schemas/NameInquiryOutput' schemeDetails: $ref: '#/components/schemas/SchemeDetails' RedirectUrlPaymentsResponse: title: RedirectUrlPaymentsResponse type: object properties: redirectUrl: maxLength: 2000 type: string actionDetails: $ref: '#/components/schemas/KeyValuePair' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' PaymentOptionPayments3DResponse: title: PaymentOptionPaymentsResponse type: object properties: paymentOption: $ref: '#/components/schemas/PaymentOption3DOutput' PaymentOptionPayments3DChallengeResponse: title: PaymentOptionPaymentsResponse type: object properties: paymentOption: $ref: '#/components/schemas/PaymentOption3DChallengeOutput' PaymentOptionFingerprintResponse: title: PaymentOptionFingerprintResponse type: object properties: paymentOption: $ref: '#/components/schemas/PaymentOptionFingerprintOutput' Payments3DResponse: allOf: - $ref: '#/components/schemas/BasePaymentsResponse' - $ref: '#/components/schemas/PaymentOptionPayments3DResponse' Payments3DChallengeResponse: allOf: - $ref: '#/components/schemas/BasePaymentsResponse' - $ref: '#/components/schemas/PaymentOptionPayments3DChallengeResponse' PaymentsFingerprintResponse: allOf: - $ref: '#/components/schemas/BasePaymentsResponse' - $ref: '#/components/schemas/RedirectUrlPaymentsResponse' - $ref: '#/components/schemas/PaymentOptionFingerprintResponse' FingerprintRequest: title: FingerprintRequest required: - fingerprintingIndicator - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' fingerprintingIndicator: type: string description: 'Values: Y = Merchant used fingerprinting | N = Merchant did not use fingerprinting | U = Merchant did not use fingerprinting due to technical reasons.' enum: - 'Y' - 'N' - U description: '' ChallengeRequest: title: ChallengeRequest required: - cRes - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' cRes: maxLength: 1024 minLength: 1 type: string description: The message that holds the challenge response. description: '' SettleRequest: title: SettleRequest required: - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. amount: minimum: 0 exclusiveMinimum: true type: number description: The transaction amount. productId: maxLength: 50 type: string description: A free text field used to identify the product/service sold. If this parameter is left empty, need to insert a concatenation of all item names. It's not related to rebilling system product id. Risk rules and traffic management rules are usually built based on this field value. siteNameOverride: maxLength: 255 type: string custom: $ref: '#/components/schemas/KeyValuePair' urlDetails: $ref: '#/components/schemas/UrlDetails' totalSettleCount: minimum: 1 type: integer description: An optional parameter that represents the total Settle transactions to be executed against the Auth transaction. format: int32 example: 2 extendedData: $ref: '#/components/schemas/SettlesExtendedData' SettleResponse: title: SettleResponse required: - result type: object properties: settleId: $ref: '#/components/schemas/IdType' transactionId: $ref: '#/components/schemas/TransactionId' externalTransactionId: $ref: '#/components/schemas/ExternalTransactionId' agentId: type: string description: Unique identifier of the AI agent that initiated the transaction on behalf of the end user. 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). result: $ref: '#/components/schemas/ApiResultOutput' authCode: maxLength: 128 type: string description: The authorization code of the transaction. providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' RefundRequest: title: RefundRequest required: - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. amount: minimum: 0 exclusiveMinimum: true type: number description: The transaction amount. productId: maxLength: 50 type: string description: A free text field used to identify the product/service sold. If this parameter is left empty, need to insert a concatenation of all item names. It's not related to rebilling system product id. Risk rules and traffic management rules are usually built based on this field value. siteNameOverride: maxLength: 255 type: string custom: $ref: '#/components/schemas/KeyValuePair' urlDetails: $ref: '#/components/schemas/UrlDetails' RefundResponse: title: RefundResponse required: - result type: object properties: refundId: $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). authCode: maxLength: 128 type: string description: The authorization code of the transaction. providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' schemeDetails: $ref: '#/components/schemas/SchemeDetails' result: $ref: '#/components/schemas/ApiResultOutput' UnreferencedRefundRequest: title: UnreferencedRefundRequest required: - amount - currency - paymentOption - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. currencyConversion: $ref: '#/components/schemas/CurrencyConversion' 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). productId: maxLength: 50 type: string description: A free text field used to identify the product/service sold. If this parameter is left empty, need to insert a concatenation of all item names. It's not related to rebilling system product id. Risk rules and traffic management rules are usually built based on this field value. siteNameOverride: maxLength: 255 type: string custom: $ref: '#/components/schemas/KeyValuePair' subMerchant: $ref: '#/components/schemas/SubMerchant' urlDetails: $ref: '#/components/schemas/UrlDetails' paymentOption: $ref: '#/components/schemas/PaymentOptionUnreferencedRefundInput' buyerDetails: $ref: '#/components/schemas/BuyerDetails' feeOriginCountryCode: maxLength: 2 minLength: 2 type: string digitalAssetType: $ref: '#/components/schemas/DigitalAssetType' VoidRequest: title: voidRequest required: - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. productId: maxLength: 50 type: string description: A free text field used to identify the product/service sold. If this parameter is left empty, need to insert a concatenation of all item names. It's not related to rebilling system product id. Risk rules and traffic management rules are usually built based on this field value. siteNameOverride: maxLength: 255 type: string custom: $ref: '#/components/schemas/KeyValuePair' urlDetails: $ref: '#/components/schemas/UrlDetails' VoidOrRefundRequest: title: voidOrRefundRequest allOf: - type: object - $ref: '#/components/schemas/VoidRequest' VoidResponse: title: VoidResponse required: - result type: object properties: voidId: $ref: '#/components/schemas/IdType' transactionId: $ref: '#/components/schemas/TransactionId' externalTransactionId: $ref: '#/components/schemas/ExternalTransactionId' result: $ref: '#/components/schemas/ApiResultOutput' authCode: maxLength: 128 type: string description: The authorization code of the transaction. providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' schemeDetails: $ref: '#/components/schemas/SchemeDetails' VoidOrRefundResponse: title: VoidOrRefundResponse allOf: - type: object properties: refundId: $ref: '#/components/schemas/IdType' - $ref: '#/components/schemas/VoidResponse' CVV: title: CVV maxLength: 4 minLength: 3 pattern: ^([0-9]{3}|[0-9]{4})$ type: string description: The CVV/CVC security code. example: '123' AmountDetails: title: amountDetails type: object properties: totalDiscount: type: number default: 0 totalHandling: type: number default: 0 totalShipping: type: number default: 0 totalTax: type: number default: 0 description: The items and amountDetails prices should be summed up in the amount parameter and sent separately. All prices must be in the same currency. ApiResultOutput: title: apiResultOutput required: - status type: object properties: status: type: string enum: - approved - authorizedOnly - declined - error - pending - redirect - challenge - fingerprint - authenticated - authenticationNotSupported - actionRequired errors: $ref: '#/components/schemas/ResultError' CardInput: title: cardInput required: - cardNumber - expirationMonth - expirationYear type: object properties: cardHolderName: maxLength: 70 type: string description: The cardholder name. cardNumber: maxLength: 20 minLength: 6 type: string description: The full card number. expirationMonth: maxLength: 2 minLength: 2 pattern: ^(0[1-9]|1[0-2])$ type: string description: The card expiration month. example: '12' expirationYear: maxLength: 4 minLength: 2 pattern: ^(\d{4}|\d{2})$ type: string description: The card expiration year. example: '2023' cvv: $ref: '#/components/schemas/CVV' merchantReference: $ref: '#/components/schemas/MerchantReference' externalAuthenticationDetails: $ref: '#/components/schemas/ExternalMpi' threeD: $ref: '#/components/schemas/ThreeDInput' selectedBrand: type: string ApmInput: title: ApmDetails required: - name type: object properties: name: maxLength: 50 minLength: 1 type: string example: ACH data: $ref: '#/components/schemas/MaskedKeyValuePair' usageIntent: $ref: '#/components/schemas/UsageIntent' merchantReference: $ref: '#/components/schemas/MerchantReference' ApmOutput: title: ApmOutput allOf: - $ref: '#/components/schemas/ApmInput' - type: object properties: paymentTokenId: $ref: '#/components/schemas/TokenId' CardInputUnreferencedRefund: title: cardInputUnreferencedRefund required: - cardNumber - expirationMonth - expirationYear type: object properties: cardHolderName: maxLength: 70 type: string description: The cardholder name. cardNumber: maxLength: 20 minLength: 6 type: string description: The full card number. expirationMonth: maxLength: 2 minLength: 2 pattern: ^(0[1-9]|1[0-2])$ type: string description: The card expiration month. example: '12' expirationYear: maxLength: 4 minLength: 2 pattern: ^(\d{4}|\d{2})$ type: string example: '2023' cvv: $ref: '#/components/schemas/CVV' merchantReference: $ref: '#/components/schemas/MerchantReference' selectedBrand: type: string BaseCardOutput: title: BaseCardOutput 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: maxLength: 20 type: string description: 'The card brand used in the transaction. Values: VISA, MASTERCARD, AMEX' secondaryBrand: type: string paymentAccountReference: maxLength: 29 type: string processedBrand: type: string paymentTokenId: $ref: '#/components/schemas/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' issuerBankName: type: string issuerCountry: type: string CardPaymentThreeDOutput: title: CardPaymentThreeDOutput type: object properties: threeD: $ref: '#/components/schemas/ThreeDOutput' CardPaymentThreeDChallengeOutput: title: CardPaymentThreeDChallengeOutput type: object properties: threeD: $ref: '#/components/schemas/ThreeDChallengeOutput' CardFingerprintThreeDOutput: title: CardFingerprintThreeDOutput type: object properties: threeD: $ref: '#/components/schemas/ThreeDFingerprintOutput' CardOutput: allOf: - $ref: '#/components/schemas/BaseCardOutput' - $ref: '#/components/schemas/CardPaymentThreeDOutput' CardChallengeOutput: allOf: - $ref: '#/components/schemas/BaseCardOutput' - $ref: '#/components/schemas/CardPaymentThreeDChallengeOutput' CardFingerprintOutput: allOf: - $ref: '#/components/schemas/BaseCardOutput' - $ref: '#/components/schemas/CardFingerprintThreeDOutput' Delivery: title: delivery type: object properties: deliveryEmail: type: string timeFrame: type: string description: 'Indicates the merchandise delivery time frame. Values: 01 = Electronic Delivery | 02 = Same day shipping | 03 = Overnight shipping | 04 = Two-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: 2f00eba7-66ad-4d8b-8d54-b8c9183e664f 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: An array describing the items 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: title: 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 requestedCurrency: maxLength: 3 minLength: 3 type: string description: Partial approval is when the deposit completes with a processed amount lower than the requested amount due to a lack of sufficient funds in the consumer payment method. BaseTemporaryPaymentToken: title: BaseTemporaryPaymentToken required: - paymentTokenId type: object properties: paymentTokenId: $ref: '#/components/schemas/TokenId' TemporaryPaymentTokenInputUnreferencedRefund: title: TemporaryPaymentTokenUnreferencedRefund allOf: - $ref: '#/components/schemas/BaseTemporaryPaymentToken' - type: object properties: merchantReference: $ref: '#/components/schemas/MerchantReference' TemporaryPaymentTokenInput: title: TemporaryPaymentToken allOf: - $ref: '#/components/schemas/TemporaryPaymentTokenInputUnreferencedRefund' - type: object properties: threeD: $ref: '#/components/schemas/ThreeDInput' PaymentOptionInput: title: paymentOptionFullCardInput type: object properties: allowFieldsRecovery: type: boolean description: This parameter controls the functionality for certain APMs to collect values for mandatory parameters that were not provided in the request. If set to `true`, REST API returns a redirect URL to which the End User should be redirected to fill in missing details. If set to `false`, a validation error is returned. The default value is `false` default: false allowFieldsModification: type: boolean description: This parameter controls the functionality for certain APMs to collect values for mandatory parameters that were not provided in the request. If set to `true`, the End User will have the ability to modify the values already provided in the request. The default value is `false`. This parameter is relevant only if allowFieldsRecovery is set to `true` default: false card: $ref: '#/components/schemas/CardInput' paymentToken: $ref: '#/components/schemas/TokenInput' alternativePaymentMethod: $ref: '#/components/schemas/ApmInput' temporaryPaymentToken: $ref: '#/components/schemas/TemporaryPaymentTokenInput' store: $ref: '#/components/schemas/Store' networkToken: $ref: '#/components/schemas/NetworkToken' description: Represents the details of the payment method. BasePaymentOptionOutput: title: BasePaymentOptionOutput type: object properties: alternativePaymentMethod: $ref: '#/components/schemas/ApmOutput' networkToken: $ref: '#/components/schemas/NetworkTokenOutputFingerprint' PaymentOptionCardNetworkTokenOutput: title: PaymentOptionCardNetworkTokenOutput type: object properties: card: $ref: '#/components/schemas/CardOutput' networkToken: $ref: '#/components/schemas/NetworkTokenOutput' PaymentOptionCardNetworkTokenChallengeOutput: title: PaymentOptionCardNetworkTokenChallengeOutput type: object properties: card: $ref: '#/components/schemas/CardChallengeOutput' networkToken: $ref: '#/components/schemas/NetworkTokenChallengeOutput' PaymentOptionCardFingerprintOutput: title: PaymentOptionCardOutput type: object properties: card: $ref: '#/components/schemas/CardFingerprintOutput' temporaryPaymentToken: $ref: '#/components/schemas/BaseTemporaryPaymentToken' PaymentOption3DOutput: allOf: - $ref: '#/components/schemas/PaymentOptionCardNetworkTokenOutput' PaymentOption3DChallengeOutput: allOf: - $ref: '#/components/schemas/PaymentOptionCardNetworkTokenChallengeOutput' PaymentOptionFingerprintOutput: allOf: - $ref: '#/components/schemas/PaymentOptionCardFingerprintOutput' - $ref: '#/components/schemas/BasePaymentOptionOutput' PaymentOptionUnreferencedRefundInput: title: paymentOptionFullCardInputUnreferencedRefund type: object properties: card: $ref: '#/components/schemas/CardInputUnreferencedRefund' paymentToken: $ref: '#/components/schemas/TokenInputUnreferencedRefund' temporaryPaymentToken: $ref: '#/components/schemas/TemporaryPaymentTokenInputUnreferencedRefund' store: $ref: '#/components/schemas/StoreUnreferencedRefund' PreOrder: title: 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' 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 ResultError: title: resultError type: object properties: code: maxLength: 11 type: string example: '7000.1000' reason: maxLength: 400 type: string example: Internal Processing Error reference: maxLength: 400 type: string description: Internal reference for troubleshooting example: '110.1290' 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: title: tokenId type: string description: Payment Token ID TokenInputUnreferencedRefund: title: tokenInputUnreferencedRefund required: - paymentTokenId type: object properties: paymentTokenId: $ref: '#/components/schemas/TokenId' additionalData: $ref: '#/components/schemas/MaskedKeyValuePair' TokenInput: title: tokenInput allOf: - $ref: '#/components/schemas/TokenInputUnreferencedRefund' - type: object properties: usageIntent: maxLength: 100 minLength: 1 type: string threeD: $ref: '#/components/schemas/ThreeDInput' ExternalTransactionId: title: ExternalTransactionId maxLength: 50 type: string description: The transaction ID of the transaction in the event that an external service is used. TransactionId: title: transactionId maxLength: 20 type: string description: Nuvei Digital Payments Gateway Transaction ID TransactionType: title: transactionType type: string description: Determines the transaction type that is sent to the Gateway, when it comes to performing the fiscal transaction. Default is Sale. enum: - Auth - Sale - PreAuth - Settle - Void - Refund - InitAuth3D - Auth3D - Sale3D - Payout TransactionTypeInput: title: transactionTypeInput type: string description: Determines the transaction type that is sent to the Gateway, when it comes to performing the fiscal transaction. Default is Sale. enum: - Auth - Sale - PreAuth Store: title: store type: string enum: - none - initial - subsequent - tokenOnly - buyerToken StoreUnreferencedRefund: title: storeUnreferencedRefund type: string enum: - none - tokenOnly - buyerToken ExternalSchemeDetails: title: ExternalSchemeDetails required: - brand - transactionId type: object properties: transactionId: maxLength: 50 type: string transactionLinkId: description: The Mastercard Transaction Link Identifier (TLID), a unique identifier provided by Mastercard and used to link an original transaction with related follow-up transactions, such as Merchant-Initiated Transactions (MITs). This parameter should be provided together with `externalSchemeDetails.transactionId` when referencing an original transaction processed outside of Nuvei. type: string brand: type: string 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 for a successful transaction with an APM. failureUrl: type: string description: The URL to which the end user is redirected for an unsuccessful transaction with an APM. pendingUrl: type: string description: The URL to which the end user is redirected for 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 `cardholderName` 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 enum: - MCP originalAmount: 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. rateType: type: string enum: - payment - payout - masterCardPayout NetworkToken: title: NetworkToken type: object properties: provider: $ref: '#/components/schemas/TokenProvider' token: type: string description: This encrypted token (REQUIRED for Apple Pay, Google Pay, Paze and Click2Pay) represents a customer payment method generated by the external token provider tokenNumber: maxLength: 20 type: string expirationMonth: maxLength: 2 type: string expirationYear: maxLength: 4 type: string cryptogram: maxLength: 100 type: string tokenAssuranceLevel: type: string tokenRequestorId: type: string merchantReference: $ref: '#/components/schemas/MerchantReference' externalAuthenticationDetails: $ref: '#/components/schemas/ExternalMpi' threeD: $ref: '#/components/schemas/ThreeDInput' providerData: $ref: '#/components/schemas/TokenData' cardBrand: maxLength: 20 type: string description: 'The card brand used in the transaction. Values: VISA, MASTERCARD, AMEX' panLast4Digits: maxLength: 4 type: string description: The last four digits of the card number. cardHolderName: maxLength: 70 type: string description: The card holder name. eciIndicator: maxLength: 2 type: string deviceManufacturerIdentifier: type: string NetworkTokenOutputFingerprint: title: NetworkTokenOutputFingerprint type: object properties: provider: $ref: '#/components/schemas/TokenProvider' eciIndicator: maxLength: 100 type: string 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 card holder 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/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' threeD: $ref: '#/components/schemas/ThreeDFingerprintOutput' issuerBankName: type: string issuerCountry: type: string NetworkTokenOutput: title: NetworkTokenOutput type: object properties: provider: $ref: '#/components/schemas/TokenProvider' eciIndicator: maxLength: 100 type: string 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 card holder 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/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' threeD: $ref: '#/components/schemas/ThreeDOutput' issuerBankName: type: string issuerCountry: type: string NetworkTokenChallengeOutput: title: NetworkTokenOutput type: object properties: provider: $ref: '#/components/schemas/TokenProvider' eciIndicator: maxLength: 100 type: string 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 card holder 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/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' issuerBankName: type: string issuerCountry: type: string threeD: $ref: '#/components/schemas/ThreeDChallengeOutput' NetworkTokenPayoutOutput: title: NetworkTokenPayoutOutput type: object properties: provider: $ref: '#/components/schemas/TokenProvider' eciIndicator: maxLength: 100 type: string 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 card holder 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/TokenId' merchantReference: $ref: '#/components/schemas/MerchantReference' issuerBankName: type: string issuerCountry: type: string TokenProvider: title: TokenProvider type: string description: 'The name of the external token provider Possible values: [ApplePay, GooglePay]' enum: - ApplePay - GooglePay - Click2Pay - Paze 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: title: 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 billing address | 02 = Ship to another verified address on file with merchant | 03 = Ship to address that is different than the cardholders 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: - challengeNotificationUrl - challengeWindowSize - fingerprintNotificationUrl type: object properties: 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 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. fingerprintNotificationUrl: type: string description: URL to which the issuer should send the fingerprinting notification response challengeNotificationUrl: type: string description: URL to which the issuer should send a notification after the 3D-Secure challenge step 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 BaseThreeDOutput: title: Base ThreeD Output Object type: object properties: version: maxLength: 10 type: string description: The full version of the 3DS protocol for the transaction. example: 2.1.0 BaseFingerprintOutput: title: Base ThreeD Fingerprint Output Object type: object properties: fingerprintUrl: type: string description: The URL to which 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 ThreeDFingerprintOutput: allOf: - $ref: '#/components/schemas/BaseThreeDOutput' - $ref: '#/components/schemas/BaseFingerprintOutput' ThreeDPaymentChallengeOutput: title: ThreeD Output Object type: object properties: dsTransId: type: string description: The transaction ID of the Directory Server (part of the fingerprintPayload). format: uuid 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: '2' 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.' 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' 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. ThreeDPaymentOutput: title: ThreeD Output Object type: object properties: 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 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: '2' 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.' 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' 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. ThreeDOutput: allOf: - $ref: '#/components/schemas/BaseThreeDOutput' - $ref: '#/components/schemas/ThreeDPaymentOutput' ThreeDChallengeOutput: allOf: - $ref: '#/components/schemas/BaseThreeDOutput' - $ref: '#/components/schemas/ThreeDPaymentChallengeOutput' Flow: title: Flow type: string description: 'The 3D-Secure flow required by the issuer. Values: 1 = Challenge | 2 = Frictionless | 3 = Exemption | 4 = NoLiability | 5 = Stop' enum: - Challenge - Frictionless - Exemption - NoLiability - Stop providerResponseDetails: title: providerResponseDetails type: object properties: code: maxLength: 100 type: string reason: maxLength: 400 type: string additionalTransactionInfo: title: additionalTransactionInfo type: object properties: additionalTransactionBankId: type: string additionalExternalTransactionId: type: string referenceId: type: string AftDetails: type: object properties: aftOverride: $ref: '#/components/schemas/AftOverride' AftOverride: type: boolean description: true or false PayoutRequest: title: PayoutRequest required: - amount - currency - processingEntityId type: object properties: processingEntityId: $ref: '#/components/schemas/EntityId' merchantTransactionId: maxLength: 45 type: string description: ID of the transaction in the merchant system. currencyConversion: $ref: '#/components/schemas/CurrencyConversion' 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). productId: maxLength: 50 type: string description: A free text field used to identify the product/service sold. If this parameter is left empty, need to insert a concatenation of all item names. It's not related to rebilling system product id. Risk rules and traffic management rules are usually built based on this field value. siteNameOverride: maxLength: 255 type: string custom: $ref: '#/components/schemas/KeyValuePair' deviceDetails: $ref: '#/components/schemas/DeviceDetails' subMerchant: $ref: '#/components/schemas/SubMerchant' urlDetails: $ref: '#/components/schemas/UrlDetails' paymentOption: $ref: '#/components/schemas/PaymentOptionPayout' buyerDetails: $ref: '#/components/schemas/BuyerDetails' companyDetails: $ref: '#/components/schemas/CompanyDetails' digitalAssetType: $ref: '#/components/schemas/DigitalAssetType' PaymentOptionPayout: title: paymentOptionPayout type: object properties: card: $ref: '#/components/schemas/CardInputPayout' paymentToken: $ref: '#/components/schemas/TokenInputUnreferencedRefund' temporaryPaymentToken: $ref: '#/components/schemas/TemporaryPaymentTokenInputUnreferencedRefund' store: $ref: '#/components/schemas/StoreUnreferencedRefund' alternativePaymentMethod: $ref: '#/components/schemas/ApmInputPayout' networkToken: $ref: '#/components/schemas/NetworkTokenPayout' CardInputPayout: title: cardInputPayout required: - cardNumber - expirationMonth - expirationYear type: object properties: cardHolderName: maxLength: 70 type: string description: The cardholder name. cardNumber: maxLength: 20 minLength: 6 type: string description: The full card number. expirationMonth: maxLength: 2 minLength: 2 pattern: ^(0[1-9]|1[0-2])$ type: string description: The card expiration month. example: '12' expirationYear: maxLength: 4 minLength: 2 pattern: ^(\d{4}|\d{2})$ type: string example: '2023' cvv: $ref: '#/components/schemas/CVV' merchantReference: $ref: '#/components/schemas/MerchantReference' selectedBrand: type: string CompanyDetails: type: object properties: taxId: maxLength: 55 type: string ApmInputPayout: title: ApmDetailsPayout required: - name type: object properties: name: maxLength: 50 minLength: 1 type: string example: ACH data: $ref: '#/components/schemas/MaskedKeyValuePair' merchantReference: $ref: '#/components/schemas/MerchantReference' NetworkTokenPayout: title: NetworkTokenPayout type: object properties: provider: $ref: '#/components/schemas/TokenProvider' token: type: string description: This encrypted token (REQUIRED for Apple Pay, Google Pay and Paze) represents a customer payment method generated by the external token provider tokenNumber: maxLength: 20 type: string expirationMonth: maxLength: 2 type: string expirationYear: maxLength: 4 type: string tokenAssuranceLevel: type: string tokenRequestorId: type: string merchantReference: $ref: '#/components/schemas/MerchantReference' cardBrand: maxLength: 20 type: string description: 'The card brand used in the transaction. Values: VISA, MASTERCARD, AMEX' panLast4Digits: maxLength: 4 type: string description: The last four digits of the card number. cardHolderName: maxLength: 70 type: string description: The card holder name. eciIndicator: maxLength: 2 type: string deviceManufacturerIdentifier: type: string PayoutResponse: title: PayoutResponse required: - result type: object properties: payoutId: $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). authCode: maxLength: 128 type: string description: The authorization code of the transaction. providerResponseDetails: $ref: '#/components/schemas/providerResponseDetails' additionalTransactionInfo: $ref: '#/components/schemas/additionalTransactionInfo' paymentOption: $ref: '#/components/schemas/PaymentOptionPayoutOutput' aftDetails: $ref: '#/components/schemas/AftDetailsOutput' schemeDetails: $ref: '#/components/schemas/SchemeDetails' result: $ref: '#/components/schemas/ApiResultOutput' PaymentOptionPayoutOutput: title: PaymentOptionPayoutOutput type: object properties: card: $ref: '#/components/schemas/BaseCardOutput' alternativePaymentMethod: $ref: '#/components/schemas/ApmOutputPayout' networkToken: $ref: '#/components/schemas/NetworkTokenPayoutOutput' ApmOutputPayout: title: ApmOutputPayout allOf: - $ref: '#/components/schemas/ApmInputPayout' - type: object properties: paymentTokenId: $ref: '#/components/schemas/TokenId' TokenData: title: TokenData type: object properties: correlationId: type: string DigitalAssetType: type: string enum: - Default - CBDC - TokenizedDeposit - Stablecoin - NativeToken - NFT PaymentFlowSelector: title: Payment Flow type: object properties: flow: $ref: '#/components/schemas/SupportedPaymentFlows' SupportedPaymentFlows: title: Supported payment flows type: string default: direct enum: - direct - redirect 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 InstallmentsAddendum: title: InstallmentsAddendum allOf: - $ref: '#/components/schemas/FrontEndInstallmentsAddendum' - $ref: '#/components/schemas/VisaInstallmentsAddendum' 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 VisaInstallmentsAddendum: title: VisaInstallmentsAddendum type: object properties: planId: type: integer planIdReference: maxLength: 20 type: string termsAndConditionsVersion: type: string 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 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 ExternalAuthorizationAddendum: title: ExternalAuthorizationAddendum type: object properties: approvalCode: maxLength: 6 minLength: 1 type: string description: Payment approval or authorization code provided by the card scheme.Present only for approved transactions. formOfPaymentTransactionIdentifier: type: string description: Visa exactly 21 characters, Mastercard exactly 15 characters. cardVerificationValueResult: maxLength: 1 minLength: 1 type: string description: CVV verification result returned by the card scheme. sourceOfApprovalCode: maxLength: 1 minLength: 1 type: string description: | Source of approval code. Allowed values: "M", "C", or space. dateOfIssue: pattern: ^[0-9]{6}$ type: string description: | Scheme authorization date in YYMMDD format. Not an ISO date. Leading zeros must be preserved. timeOfIssue: pattern: ^[0-9]{4}$ type: string description: | Scheme authorization time in HHMM format. Not an ISO time. bspCountryCode: maxLength: 2 minLength: 2 type: string description: | BSP country code as a 2-letter ISO-3166 alpha-2 code. retrievalReferenceNumber: maxLength: 12 minLength: 12 type: string description: | Retrieval Reference Number (RRN). If not available, must be sent as 12 zeros. systemTraceAuditNumber: maxLength: 6 minLength: 6 type: string description: | System Trace Audit Number (STAN). If not available, must be sent as 6 zeros. schemeResponseCode: maxLength: 3 minLength: 1 type: string description: | Original response code returned by the card scheme. Used mainly for declined authorizations and reporting. additionalCardPaymentDataVisa: $ref: '#/components/schemas/AdditionalCardPaymentDataVisa' additionalCardPaymentDataMC: $ref: '#/components/schemas/AdditionalCardPaymentDataMC' AdditionalCardPaymentDataVisa: title: AdditionalCardPaymentDataVisa type: object properties: pointOfServiceEntryModeCode: maxLength: 2 minLength: 2 type: string description: Visa POS entry mode code. cardSequenceNumber: maxLength: 3 minLength: 3 type: string description: | Card sequence number. Numeric or space-padded. pointOfServiceEntryConditionCode: maxLength: 2 minLength: 2 type: string description: Visa POS entry condition code. responseCode: maxLength: 2 minLength: 2 type: string description: | Visa authorization response code. "00" indicates approval. additionalPosInformation: $ref: '#/components/schemas/AdditionalPOSInformation' authorisationCharacteristicsIndicator: maxLength: 1 minLength: 1 type: string description: Visa authorization characteristics indicator. May be space-padded. description: Visa-specific POS and authorization data. AdditionalPOSInformation: title: AdditionalPOSInformation type: object properties: terminalType: maxLength: 1 minLength: 1 type: string description: Terminal type indicator. terminalEntryCapability: maxLength: 1 minLength: 1 type: string description: Terminal entry capability indicator. chipConditionCode: maxLength: 1 minLength: 1 type: string description: | Chip condition code. Numeric or space. specialConditionIndicator: maxLength: 1 minLength: 1 type: string description: | Special condition indicator. Numeric or space. chipTransactionIndicator: maxLength: 1 minLength: 1 type: string description: | Chip transaction indicator. Numeric or space. chipCardAuthenticationReliabilityIndicator: maxLength: 1 minLength: 1 type: string description: | Chip card authentication reliability indicator. Numeric or space. cardholderIdMethodIndicator: maxLength: 1 minLength: 1 type: string description: Cardholder ID method indicator. description: Visa additional POS indicators. AdditionalCardPaymentDataMC: title: AdditionalCardPaymentDataMC type: object properties: pointOfServiceEntryMode: maxLength: 3 minLength: 3 type: string description: Mastercard POS entry mode. cardSequenceNumber: maxLength: 3 minLength: 3 type: string description: | Card sequence number. Numeric or space-padded. posTerminalAttendance: maxLength: 1 minLength: 1 type: string description: POS terminal attendance indicator. posTerminalLocation: maxLength: 1 minLength: 1 type: string description: POS terminal location indicator. posCardholderPresence: maxLength: 1 minLength: 1 type: string description: Cardholder presence indicator. posCardPresence: maxLength: 1 minLength: 1 type: string description: Card presence indicator. posCardCaptureCapabilities: maxLength: 1 minLength: 1 type: string description: POS card capture capability indicator. posTransactionStatus: maxLength: 1 minLength: 1 type: string description: POS transaction status indicator. posTransactionSecurity: maxLength: 1 minLength: 1 type: string description: POS transaction security indicator. cardholderActivatedTerminalLevel: maxLength: 1 minLength: 1 type: string description: Cardholder-activated terminal level. posCardDataTerminalInputCapabilityIndicator: maxLength: 1 minLength: 1 type: string description: POS card data terminal input capability indicator. posAuthorisationLifecycle: type: string description: Mastercard-specific POS and authorization data. 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. SettleReservationAddendum: title: SettleReservationAddendum allOf: - $ref: '#/components/schemas/BaseReservationDetails' - $ref: '#/components/schemas/SettlePassengersDetails' SettlePassengersDetails: title: SettlePassengersDetails type: object properties: passengersDetails: maxItems: 1 type: array items: $ref: '#/components/schemas/PassengerDetails' 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: description: The Mastercard Transaction Link Identifier (TLID), a unique identifier provided by Mastercard and used to link an original transaction with related follow-up transactions, such as Merchant-Initiated Transactions (MITs) processed through other payment providers. Provided to enable merchants to correlate related Mastercard transactions across different payment providers and acquirers. type: string ExternalMpi: title: ExternalMPI required: - cavv type: object properties: eci: $ref: '#/components/schemas/Eci' cavv: $ref: '#/components/schemas/Cavv' dsTransId: $ref: '#/components/schemas/DsTransId' challenge: $ref: '#/components/schemas/Challenge' externalRiskScore: $ref: '#/components/schemas/ExternalRiskScore' version: $ref: '#/components/schemas/ThreeDSVersion' Eci: title: ECI maxLength: 2 type: string format: /[0][0-9]/ Cavv: title: CAVV maxLength: 28 minLength: 1 type: string DsTransId: title: dsTransId type: string format: uuid Challenge: title: Challenge type: object properties: preference: $ref: '#/components/schemas/Preference' exemptionReason: $ref: '#/components/schemas/ExemptionReason' Preference: title: Preference type: string enum: - Challenge - Exemption - NoPreference ExemptionReason: title: ExemptionReason type: string enum: - InitialMerchantInitiatedTransaction - InitialRecurringPayment - AddCard - AccountVerification - MerchantInitiatedTransaction - RecurringPayment - MerchantSCADelegation - WalletSCADelegation - CorporateCard - TrustedBeneficiaries - AlwaysChallenge - NoPreference - RuleEngineChallenge - LowValueTransaction - TransactionRiskAnalysis - SoftDeclineReSubmissionTo3DS2 - ElevatedWalletAuthentication - FraudFilterReSubmissionTo3DS2 ExternalRiskScore: title: ExternalRiskScore maximum: 100 minimum: 0 type: integer description: Higher values represent higher transaction risk ThreeDSVersion: title: 3DS Version type: string MaskedKeyValuePair: title: MaskedKeyValuePair type: object example: accountNumber: '11345739548759' routingNumber: '847937857' UsageIntent: title: UsageIntent type: string enum: - initial - recurring - direct parameters: 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 payment-id: name: payment-id in: path description: Payment ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' settle-id: name: settle-id in: path description: Settle ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' refund-id: name: refund-id in: path description: Refund ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' void-id: name: void-id in: path description: Void ID generated by REST API required: true style: simple explode: false schema: type: string example: '49900038994789921' transactionId: name: transactionId in: path description: The transaction ID required: true style: simple explode: false schema: maxLength: 20 type: string example: '2110000000011875900' transactionIdSource: name: source in: query description: Source of the `transactionId` - Nuvei (default value) or Merchant required: false style: form explode: true schema: type: string default: Nuvei enum: - Nuvei - Merchant example: Nuvei processingEntityId: name: processingEntityId in: path description: Processing `entityId` provided by Nuvei. required: true style: simple explode: false schema: type: string format: uuid example: 369bbe6d-4cbd-4d33-9205-2c83541cddab securitySchemes: accessToken: type: http scheme: bearer bearerFormat: JWT apiKeyAuth: type: apiKey name: X-API-KEY in: header