> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revolv3.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sale With Payment Method Details

> Processes a **direct sale transaction** using full payment method details (e.g., card number, expiry, CVV, ACH info).
This is a one-step charge operation — the payment is authorized and captured immediately.

You must provide customer and invoice details along with raw payment data.
This method is typically used by PCI-compliant merchants who collect and transmit sensitive payment data from their own secure front end.
Use this endpoint when a tokenized method is not yet available, or when the payment is initiated for a new customer.

⚠️ PCI DSS compliance is required to handle raw card or bank account data directly.

Quick Starts:
    <ul>
      <li><a href="https://docs.revolv3.com/docs/make-a-payment">Make a Payment</a></li>
    </ul>

Related Links:
    <ul>
      <li><a href="https://docs.revolv3.com/docs/network-processing-types">Network Processing Types</a></li>
      <li><a href="https://docs.revolv3.com/docs/dynamic-descriptor-guide">Dynamic Descriptor Guide</a></li>
      <li><a href="https://docs.revolv3.com/docs/order-processing-channel">Order Processing Channel</a></li>
      <li><a href="https://docs.revolv3.com/docs/invoice-status">Invoice Status</a></li>
      <li><a href="https://docs.revolv3.com/docs/using-googlepay">Using Google Pay</a></li>
      <li><a href="https://docs.revolv3.com/docs/using-applepay">Using Apple Pay</a></li>
      <li><a href="https://docs.revolv3.com/docs/ach-direct-debit">ACH Direct Debit</a></li>
    </ul>



## OpenAPI

````yaml /api-reference/swagger.json post /api/Payments/sale
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Payments/sale:
    post:
      tags:
        - Payments
      summary: Sale With Payment Method Details
      description: "Processes a **direct sale transaction** using full payment method details (e.g., card number, expiry, CVV, ACH info).\r\nThis is a one-step charge operation — the payment is authorized and captured immediately.\r\n\r\nYou must provide customer and invoice details along with raw payment data.\r\nThis method is typically used by PCI-compliant merchants who collect and transmit sensitive payment data from their own secure front end.\r\nUse this endpoint when a tokenized method is not yet available, or when the payment is initiated for a new customer.\r\n\r\n⚠️ PCI DSS compliance is required to handle raw card or bank account data directly.\r\n\r\nQuick Starts:\r\n    <ul>\r\n      <li><a href=\"https://docs.revolv3.com/docs/make-a-payment\">Make a Payment</a></li>\r\n    </ul>\r\n\r\nRelated Links:\r\n    <ul>\r\n      <li><a href=\"https://docs.revolv3.com/docs/network-processing-types\">Network Processing Types</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/dynamic-descriptor-guide\">Dynamic Descriptor Guide</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/order-processing-channel\">Order Processing Channel</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/invoice-status\">Invoice Status</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/using-googlepay\">Using Google Pay</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/using-applepay\">Using Apple Pay</a></li>\r\n      <li><a href=\"https://docs.revolv3.com/docs/ach-direct-debit\">ACH Direct Debit</a></li>\r\n    </ul>"
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/SaleWithPaymentMethodRawRequestDTO'
            examples:
              Minimum valid request:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With ACH payment method:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach:
                      routingNumber: '111000025'
                      accountNumber: '123456789'
                      accountType: Checking
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With Google Pay payment method:
                value:
                  networkProcessing:
                    processingType: InitialRecurring
                    originalNetworkTransactionId: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach: null
                    googlePay:
                      googlePayPaymentDataResponse: >-
                        {"apiVersion":2,"apiVersionMinor":0,"paymentMethodData":{"description":"Test
                        Card:
                        Visa •••• 1111","info":{"cardDetails":"1111","cardNetwork":"VISA"},"tokenizationData":{"token":"0610693204833287391","type":"PAYMENT_GATEWAY"},"type":"CARD"}}
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With 3D Secure:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: Joe Doe
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              Full request:
                value:
                  networkProcessing:
                    processingType: Recurring
                    originalNetworkTransactionId: '4731548603657339'
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '1025'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: 1
                  includeRawProcessorResponse: true
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: Moto
                    ecommercePlatformUrl: example.com
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor:
                    subMerchantId: '12345'
                    subMerchantName: Test
                    subMerchantPhone: 408-555-1212
                    countryCode: US
                    city: Oakland
          application/json:
            schema:
              $ref: '#/components/schemas/SaleWithPaymentMethodRawRequestDTO'
            examples:
              Minimum valid request:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With ACH payment method:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach:
                      routingNumber: '111000025'
                      accountNumber: '123456789'
                      accountType: Checking
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With Google Pay payment method:
                value:
                  networkProcessing:
                    processingType: InitialRecurring
                    originalNetworkTransactionId: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach: null
                    googlePay:
                      googlePayPaymentDataResponse: >-
                        {"apiVersion":2,"apiVersionMinor":0,"paymentMethodData":{"description":"Test
                        Card:
                        Visa •••• 1111","info":{"cardDetails":"1111","cardNetwork":"VISA"},"tokenizationData":{"token":"0610693204833287391","type":"PAYMENT_GATEWAY"},"type":"CARD"}}
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With 3D Secure:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: Joe Doe
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              Full request:
                value:
                  networkProcessing:
                    processingType: Recurring
                    originalNetworkTransactionId: '4731548603657339'
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '1025'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: 1
                  includeRawProcessorResponse: true
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: Moto
                    ecommercePlatformUrl: example.com
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor:
                    subMerchantId: '12345'
                    subMerchantName: Test
                    subMerchantPhone: 408-555-1212
                    countryCode: US
                    city: Oakland
          text/json:
            schema:
              $ref: '#/components/schemas/SaleWithPaymentMethodRawRequestDTO'
            examples:
              Minimum valid request:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With ACH payment method:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach:
                      routingNumber: '111000025'
                      accountNumber: '123456789'
                      accountType: Checking
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With Google Pay payment method:
                value:
                  networkProcessing:
                    processingType: InitialRecurring
                    originalNetworkTransactionId: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach: null
                    googlePay:
                      googlePayPaymentDataResponse: >-
                        {"apiVersion":2,"apiVersionMinor":0,"paymentMethodData":{"description":"Test
                        Card:
                        Visa •••• 1111","info":{"cardDetails":"1111","cardNetwork":"VISA"},"tokenizationData":{"token":"0610693204833287391","type":"PAYMENT_GATEWAY"},"type":"CARD"}}
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With 3D Secure:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: Joe Doe
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              Full request:
                value:
                  networkProcessing:
                    processingType: Recurring
                    originalNetworkTransactionId: '4731548603657339'
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '1025'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: 1
                  includeRawProcessorResponse: true
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: Moto
                    ecommercePlatformUrl: example.com
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor:
                    subMerchantId: '12345'
                    subMerchantName: Test
                    subMerchantPhone: 408-555-1212
                    countryCode: US
                    city: Oakland
          application/*+json:
            schema:
              $ref: '#/components/schemas/SaleWithPaymentMethodRawRequestDTO'
            examples:
              Minimum valid request:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With ACH payment method:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach:
                      routingNumber: '111000025'
                      accountNumber: '123456789'
                      accountType: Checking
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With Google Pay payment method:
                value:
                  networkProcessing:
                    processingType: InitialRecurring
                    originalNetworkTransactionId: null
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard: null
                    ach: null
                    googlePay:
                      googlePayPaymentDataResponse: >-
                        {"apiVersion":2,"apiVersionMinor":0,"paymentMethodData":{"description":"Test
                        Card:
                        Visa •••• 1111","info":{"cardDetails":"1111","cardNetwork":"VISA"},"tokenizationData":{"token":"0610693204833287391","type":"PAYMENT_GATEWAY"},"type":"CARD"}}
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS: null
                  customerId: 1
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              With 3D Secure:
                value:
                  networkProcessing: null
                  paymentMethod:
                    billingAddress: null
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '0835'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: null
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: Joe Doe
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: null
                  includeRawProcessorResponse: false
                  invoice:
                    merchantInvoiceRefId: null
                    orderProcessingChannel: null
                    ecommercePlatformUrl: null
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor: null
              Full request:
                value:
                  networkProcessing:
                    processingType: Recurring
                    originalNetworkTransactionId: '4731548603657339'
                  paymentMethod:
                    billingAddress:
                      addressId: null
                      addressLine1: 100 Main
                      addressLine2: null
                      city: Santa Ana
                      state: CA
                      postalCode: '91111'
                      phoneNumber: null
                      email: null
                      country: US
                    creditCard:
                      paymentAccountNumber: '4111111111111111'
                      expirationDate: '1025'
                      securityCode: null
                      networkToken: null
                    ach: null
                    googlePay: null
                    applePay: null
                    merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                    billingFirstName: Joe
                    billingLastName: Doe
                    billingFullName: null
                  threeDS:
                    cavv: BaW3Ymk=
                    xid: 863C1926-FB74-4822-96C7-C09A049FC702
                    dsTransactionId: 831d6f87-3e33-45e2-8c8e-1f1d8f5f0c8d
                    threeDsVersion: 2.1.0
                  customerId: 1
                  includeRawProcessorResponse: true
                  invoice:
                    merchantInvoiceRefId: '123456789'
                    orderProcessingChannel: Moto
                    ecommercePlatformUrl: example.com
                    amount:
                      currency: USD
                      value: 30.99
                  dynamicDescriptor:
                    subMerchantId: '12345'
                    subMerchantName: Test
                    subMerchantPhone: 408-555-1212
                    countryCode: US
                    city: Oakland
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              examples:
                Paid invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 1234
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: null
                    networkTransactionId: ddd9bd8f-ad3d-4c58-93a8-7fb969a6660f
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 1
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: Processor raw response (without parsing on Revolv3 side)
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Paid invoice (ACH):
                  value:
                    customerId: 1
                    invoiceId: 1
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 2
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: null
                    paymentMethodCreditCardDetails: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Declined invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 563
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Noncollectable
                    invoiceAttemptStatus: Fail
                    message: EXPIRED CARD
                    amount:
                      currency: USD
                      value: 50
                    paymentMethodId: 8453
                    paymentMethodTypeId: 1
                    paymentProcessor: Epx
                    processorMerchantId: '90243710921'
                    rawResponse: null
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: EXPIRED CARD
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
            application/json:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              examples:
                Paid invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 1234
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: null
                    networkTransactionId: ddd9bd8f-ad3d-4c58-93a8-7fb969a6660f
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 1
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: Processor raw response (without parsing on Revolv3 side)
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Paid invoice (ACH):
                  value:
                    customerId: 1
                    invoiceId: 1
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 2
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: null
                    paymentMethodCreditCardDetails: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Declined invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 563
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Noncollectable
                    invoiceAttemptStatus: Fail
                    message: EXPIRED CARD
                    amount:
                      currency: USD
                      value: 50
                    paymentMethodId: 8453
                    paymentMethodTypeId: 1
                    paymentProcessor: Epx
                    processorMerchantId: '90243710921'
                    rawResponse: null
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: EXPIRED CARD
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
            text/json:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              examples:
                Paid invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 1234
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: null
                    networkTransactionId: ddd9bd8f-ad3d-4c58-93a8-7fb969a6660f
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 1
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: Processor raw response (without parsing on Revolv3 side)
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Paid invoice (ACH):
                  value:
                    customerId: 1
                    invoiceId: 1
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Paid
                    invoiceAttemptStatus: Success
                    message: Approved
                    amount:
                      currency: USD
                      value: 30.99
                    paymentMethodId: 1
                    paymentMethodTypeId: 2
                    paymentProcessor: WorldPay
                    processorMerchantId: '700010'
                    rawResponse: null
                    paymentMethodCreditCardDetails: null
                    responseMessage: Approved
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Declined invoice (credit card):
                  value:
                    customerId: 1
                    invoiceId: 563
                    merchantInvoiceRefId: 1234-5678-9101
                    merchantPaymentMethodRefId: abc-hfgs-124!
                    networkTransactionId: null
                    invoiceStatus: Noncollectable
                    invoiceAttemptStatus: Fail
                    message: EXPIRED CARD
                    amount:
                      currency: USD
                      value: 50
                    paymentMethodId: 8453
                    paymentMethodTypeId: 1
                    paymentProcessor: Epx
                    processorMerchantId: '90243710921'
                    rawResponse: null
                    paymentMethodCreditCardDetails:
                      binNumber: '411111'
                      paymentLast4Digit: '1111'
                      paymentExpirationDate: '0835'
                      accountUpdateMessage: null
                      accountUpdateDateTime: null
                      accountUpdateCode: null
                    responseMessage: EXPIRED CARD
                    responseCode: '00'
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              examples:
                An error during request execution:
                  value:
                    message: Unable to perform the request action with provided data.
                Validation error:
                  value:
                    message: One or more validation failed.
                    errors:
                      - The field is required.
                    fluentValidatorErrors:
                      - propertyName: PropertyName
                        errorMessage: The field is required
                        attemptedValue: null
                        customState: null
                        severity: Error
                        errorCode: null
                        formattedMessagePlaceholderValues: null
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              examples:
                An error during request execution:
                  value:
                    message: Unable to perform the request action with provided data.
                Validation error:
                  value:
                    message: One or more validation failed.
                    errors:
                      - The field is required.
                    fluentValidatorErrors:
                      - propertyName: PropertyName
                        errorMessage: The field is required
                        attemptedValue: null
                        customState: null
                        severity: Error
                        errorCode: null
                        formattedMessagePlaceholderValues: null
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              examples:
                An error during request execution:
                  value:
                    message: Unable to perform the request action with provided data.
                Validation error:
                  value:
                    message: One or more validation failed.
                    errors:
                      - The field is required.
                    fluentValidatorErrors:
                      - propertyName: PropertyName
                        errorMessage: The field is required
                        attemptedValue: null
                        customState: null
                        severity: Error
                        errorCode: null
                        formattedMessagePlaceholderValues: null
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
        '422':
          description: Unprocessable Content
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
      security:
        - Bearer: []
components:
  schemas:
    SaleWithPaymentMethodRawRequestDTO:
      required:
        - invoice
        - paymentMethod
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        includeRawProcessorResponse:
          type: boolean
          description: Determine whether to return raw processor data in the response.
          default: false
        invoice:
          allOf:
            - $ref: '#/components/schemas/InvoiceDetailsDTO'
          description: Invoice information for this payment.
        dynamicDescriptor:
          allOf:
            - $ref: '#/components/schemas/TransactionDescriptorDTO'
          description: "Allows the merchant to define a dynamic descriptor, which appears in the payment statement. \r\nFor dynamic descriptor, special configuration is required.\r\n\r\nProcessors supporting this feature: `Nuvei`, `WorldPay`, `BridgePay`, `EPX`, `Paymentech`, `PaymentLync`."
        networkProcessing:
          allOf:
            - $ref: '#/components/schemas/NetworkProcessingDTO'
          description: "Network processing information.\r\n\r\nProcessors supporting this feature: `Adyen`, `Nuvei`, `WorldPay`, `TSYS`, `BridgePay`, `Paymentech`, `PaymentLync`."
        paymentMethod:
          allOf:
            - $ref: '#/components/schemas/CreatePaymentMethodRequestDTO'
          description: "Payment method information for this payment.\r\n\r\nSupported payment methods:\r\n- Credit card\r\n- ACH*\r\n- Google Pay*\r\n\r\nOnly one payment method type should be provided with a transaction.\r\n*Supported only for specific processors."
        threeDS:
          allOf:
            - $ref: '#/components/schemas/ThreeDimensionSecureDto'
          description: "3-D Secure is an additional authentication protocol for online card payments that allows the issuing bank to verify that the transaction is initiated by the legitimate cardholder.\r\n\r\nProcessors supporting this feature: `WorldPay`"
      additionalProperties: false
    SaleResponseDTO:
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the invoice.
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        networkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: "The identifier returned for Visa, Mastercard, and Discover transactions. Visa and Discover use this value to link subsequent payments in a recurring/installment stream back to the initial transaction.\r\nYou must include this value in the request message (**originalNetworkTransactionId** element) for subsequent recurring payments."
        invoiceStatus:
          maxLength: 100
          minLength: 0
          type: string
          description: "The current status of the invoice.\r\n\r\nPossible values: `Paid`, `Pending`, `Noncollectable`, `Failed`, `OneTimePaymentPending`, `RetryPending`."
        invoiceAttemptStatus:
          maxLength: 100
          minLength: 0
          type: string
          description: "The status of the invoice attempt.\r\n\r\nPossible values: `Success`, `Fail`, `Pending`, `RetrySuccess`, `RetryFail`, `RetryPending`."
        message:
          maxLength: 500
          minLength: 0
          type: string
          description: >-
            The message returned directly from payment processor or a special
            message provided by system. 
        amount:
          allOf:
            - $ref: '#/components/schemas/AmountResponseDTO'
          description: The amount information for the payment.
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier for the payment method information.
          format: int64
        paymentMethodTypeId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: >-
            Specifies the type of payment method used for the transaction.
            Examples include CreditCard (1), Ach (2), GooglePay (3) and ApplePay
            (4).
          format: int64
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          description: The name of the processor by which the transaction was processed.
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant account ID (MID) of the processor by which the
            transaction was processed.
        rawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          description: "**Conditional. The value is returned if includeRawProcessorResponse = true.**\r\nThis field contains the raw data received from the processor after attempting to bill this payment. It does not contain any sensitive information. The field value is a string with the serialized response from the processor in JSON format."
        paymentMethodCreditCardDetails:
          allOf:
            - $ref: '#/components/schemas/CreditCardViewDTO'
          description: The details of credit card payment method.
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: The processor response message.
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: The processor response code.
        processorResponseDateTime:
          maxLength: 40
          type: string
          description: >-
            UTC timestamp of the payment processor response (format:
            YYYY-MM-DDThh:mm:ss).
          format: date-time
        authCode:
          maxLength: 20
          minLength: 0
          type: string
          description: Transaction authorization code.
        processorTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: Payment Processor Transaction Id.
        revolv3ResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: >-
            Standardized internal response code indicating the outcome of the
            request.
        revolv3ResponseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: Message providing additional details about the response code.
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    InvoiceDetailsDTO:
      required:
        - amount
      type: object
      properties:
        merchantInvoiceRefId:
          maxLength: 100
          type: string
          description: Merchant's unique identifier for the invoice.
        orderProcessingChannel:
          allOf:
            - $ref: '#/components/schemas/OrderProcessingChannelTypeEnum'
          description: "Specifies the sales channel through which the shopper provides their card details.\r\n\r\n**Ecommerce** - Internet or electronic commerce transaction.\r\n**Moto** - Single mail or telephone order transaction.\r\n\r\nProcessors supporting this feature: `WorldPay`, `BridgePay`. For other processors, Ecommerce is used by default."
        ecommercePlatformUrl:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant's storefront or e-commerce platform URL or domain from
            which the transaction originates. If provided, this value will be
            sent to the processor (TSYS only) as the Acceptor URL Address. If
            not provided, the value configured in Merchant Details (E-Commerce
            Platform URL) will be used. If neither is available, the request is
            sent to TSYS without the Acceptor URL Address.
        amount:
          allOf:
            - $ref: '#/components/schemas/AmountDTO'
          description: The amount information for the payment.
      additionalProperties: false
    TransactionDescriptorDTO:
      type: object
      properties:
        subMerchantId:
          maxLength: 15
          type: string
          description: >-
            The internal merchant's ID, which is sent to the relevant card
            scheme.
        subMerchantName:
          maxLength: 22
          minLength: 0
          type: string
          description: "The merchant name, as is displayed for the transaction on the consumer’s card statement. For payment facilitator only, might consist of the following structure: [Prefix]*[Sub Merchant Name] -\r\nwhere:\r\n1) [Prefix] – The PayFac prefix, approved by processor.\r\n2) '*' – A fixed character.\r\n3) [Sub Merchant Name] – The sub-merchant name.\r\nFor example: aaa*name\r\n\r\nRecommended! An alternative method to define a prefix is by configuring it through the Revolv3 Portal.\r\n\r\n**Nuvei** and **Paymentech** processors: the maximum length of the parameter is 22. Possible prefix length 3 or 5 or 7 or 12 characters.\r\n\r\n**WorldPay** and **PaymentLync** processor: if the value is specified, it must be between 4 and 25 characters. Possible prefix length 3 or 7 or 12 characters. Field accepts numbers, letters and special characters as follows: ampersand, asterisk (zero or one), comma, dash, period, space, or pound sign.\r\n\r\n**BridgePay** processor: the maximum length of the parameter is 46.\r\n\r\n**EPX** processor: the maximum length of the parameter is 20. Possible prefix length 3 or 7 or 9 or 12 characters."
        subMerchantPhone:
          maxLength: 13
          minLength: 0
          type: string
          description: "The merchant (sub-merchant for payment facilitators) contact information, as is displayed for the transaction on the consumer’s card statement.\r\n\r\n**Nuvei** processor: the maximum length of the parameter is 13. It can also be an email address.\r\n**WorldPay** processor: the maximum length of the parameter is 13. Field accepts only numbers.\r\n**BridgePay**, **EPX**, **Paymentech** and **PaymentLync** processor: the maximum length of the parameter is 13."
        countryCode:
          maxLength: 2
          minLength: 2
          type: string
          description: The payment facilitator's sub-merchant's 2-letter ISO country code.
        city:
          maxLength: 20
          type: string
          description: City.
          nullable: true
      additionalProperties: false
    NetworkProcessingDTO:
      type: object
      properties:
        processingType:
          allOf:
            - $ref: '#/components/schemas/PaymentProcessingTypeEnum'
          description: "Processing type is used to define the initial or subsequent transaction in a recurring or installment stream.\r\n\r\n**If no value is supplied, a transaction is considered a one-time payment and will not be linked to the initial one.**"
        originalNetworkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: "Element defines the networkTransactionId returned in the response messages for Visa, Mastercard, and Discover Auth/Sale transactions.\r\nYou must include this element and the original value returned for subsequent (after the initial) recurring/installment payments."
      additionalProperties: false
    CreatePaymentMethodRequestDTO:
      type: object
      properties:
        billingFirstName:
          maxLength: 100
          minLength: 0
          type: string
          description: "**Conditional**: either both BillingFirstName and BillingLastName or BillingFullName must be provided.\r\n\r\nThe customers’s first name associated with a payment method that is used for billing purposes."
        billingLastName:
          maxLength: 100
          minLength: 0
          type: string
          description: "**Conditional**: either both BillingFirstName and BillingLastName or BillingFullName must be provided.\r\n\r\nThe customers’s last name associated with a payment method that is used for billing purposes."
        billingFullName:
          maxLength: 200
          minLength: 0
          type: string
          description: "**Conditional**: either BillingFullName or both BillingFirstName and BillingLastName must be provided.\r\n\r\nThe customers’s full name associated with a payment method that is used for billing purposes. "
        billingAddress:
          allOf:
            - $ref: '#/components/schemas/CreateAddressRequestDTO'
          description: >-
            The address associated with a payment method that is used for
            billing purposes. Either an Address ID or detailed address
            information can be provided.
        creditCard:
          allOf:
            - $ref: '#/components/schemas/CreditCardDTO'
          description: "**Conditional**: one payment method type is required.\r\n\r\nPayment card information."
        ach:
          allOf:
            - $ref: '#/components/schemas/AchDTO'
          description: "**Conditional**: one payment method type is required.\r\n\r\nACH account information."
        googlePay:
          allOf:
            - $ref: '#/components/schemas/GooglePayDTO'
          description: "**Conditional**: one payment method type is required.\r\n\r\nGoogle Pay information."
        applePay:
          $ref: '#/components/schemas/ApplePayDto'
        merchantPaymentMethodRefId:
          maxLength: 100
          type: string
          description: Merchant's unique identifier for the payment method.
      additionalProperties: false
    ThreeDimensionSecureDto:
      type: object
      properties:
        cavv:
          maxLength: 40
          type: string
          description: "**Conditional**:  Cavv is required if ThreeDS is supplied in the request\r\n\r\nCardholder Authentication Verification Value, returned by issuer after 3DS authentication."
        xid:
          maxLength: 40
          type: string
          description: >-
            Transaction identifier returned by ACS. Used in 3DS 1.0 and
            optionally in 2.x.
          nullable: true
        dsTransactionId:
          maxLength: 36
          type: string
          description: Unique identifier assigned by Directory Server in EMV 3DS 2.x.
          nullable: true
        threeDsVersion:
          type: string
          description: "Version of 3DS protocol used\r\n\r\nMust be between `2.1.0` and `2.3.0`"
          nullable: true
      additionalProperties: false
    AmountResponseDTO:
      type: object
      properties:
        currency:
          maxLength: 3
          minLength: 3
          pattern: ^[A-Z]{3}$
          type: string
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        value:
          maximum: 10000000
          minimum: 0
          type: number
          description: The amount of the transaction.
          format: double
      additionalProperties: false
    CreditCardViewDTO:
      type: object
      properties:
        binNumber:
          maxLength: 6
          minLength: 0
          pattern: ^\d{1,6}$
          type: string
          description: First 6 digits (BIN) of the card number.
        paymentLast4Digit:
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
          description: Payment card last 4 digits.
        paymentExpirationDate:
          maxLength: 4
          minLength: 0
          type: string
          description: The card expiration date.
          format: MMYY
          nullable: true
        accountUpdateMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: Account updater message, if available.
        accountUpdateDateTime:
          maxLength: 20
          minLength: 0
          type: string
          description: UTC date-time of the last account updater event.
          format: YYYY-MM-DDThh:mm:ss
          nullable: true
        accountUpdateCode:
          maxLength: 50
          minLength: 0
          type: string
          description: Processor response code of the last account updater event.
      additionalProperties: false
      nullable: true
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    OrderProcessingChannelTypeEnum:
      enum:
        - Ecommerce
        - Moto
      type: string
    AmountDTO:
      required:
        - value
      type: object
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        value:
          maximum: 9999999.99
          minimum: 0
          type: number
          description: The amount information for the payment. Must NOT be less than zero.
          format: double
      additionalProperties: false
    PaymentProcessingTypeEnum:
      enum:
        - InitialRecurring
        - Recurring
        - InitialInstallment
        - Installment
      type: string
    CreateAddressRequestDTO:
      type: object
      properties:
        addressLine1:
          maxLength: 3000
          minLength: 0
          type: string
          description: Address.
          nullable: true
        addressLine2:
          maxLength: 3000
          minLength: 0
          type: string
          description: Supplemental information for the address.
        city:
          maxLength: 3000
          minLength: 0
          type: string
          description: City.
          nullable: true
        state:
          maxLength: 2
          minLength: 0
          type: string
          description: State.
          nullable: true
        postalCode:
          maxLength: 20
          minLength: 2
          type: string
          description: Postal Code.
          nullable: true
        phoneNumber:
          maxLength: 20
          minLength: 7
          pattern: ^(?=.*\d)\+?[0-9\s\-\(\)\.]{7,20}$
          type: string
          description: >-
            The phone number associated with a payment method that is used for
            billing purposes.
        email:
          maxLength: 3000
          minLength: 0
          type: string
          description: The email associated with a billing address.
          format: email
        country:
          maxLength: 2
          minLength: 0
          type: string
          description: >-
            The input must be a valid Alpha2 code, Alpha3 code, UN code, or full
            country name.
        addressId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the address.
          format: int64
      additionalProperties: false
    CreditCardDTO:
      type: object
      properties:
        paymentAccountNumber:
          maxLength: 19
          minLength: 8
          type: string
          description: "**Conditional**: the PAN is required if the credit card payment method type is supplied in the request.\r\nThe number must be a valid credit card number and will be verified using the Luhn algorithm. Minimum length of 8 characters. Maximum length of 25 characters.\r\n\r\nPayment Account Number (PAN)."
        expirationDate:
          maxLength: 7
          minLength: 0
          type: string
          description: "**Conditional**: the expiration date is required if the credit card payment method type is supplied in the request.\r\n\r\nThe card expiration date."
          format: MMYY, MM/YY, MMYYYY, or MM/YYYY
        securityCode:
          maxLength: 4
          minLength: 3
          type: string
          description: "The card verification code. It is considered best practice to always include this value for card-not-present transactions.\r\n\r\nFailure to do so may lead to higher rates of declines, an increase in chargeback cases, and/or transaction downgrades."
        networkToken:
          allOf:
            - $ref: '#/components/schemas/NetworkTokenDto'
          description: External Network Token information.
      additionalProperties: false
    AchDTO:
      required:
        - accountNumber
        - routingNumber
      type: object
      properties:
        routingNumber:
          maxLength: 9
          minLength: 9
          pattern: ^[0-9]{9}$
          type: string
          description: "**Conditional**: the routing number is required if the ACH payment method type is supplied in the request.\r\n\r\nThe 9-digit ACH routing number of the account."
        accountNumber:
          maxLength: 17
          minLength: 4
          pattern: ^[0-9]{4,17}$
          type: string
          description: "**Conditional**: the account number is required if the ACH payment method type is supplied in the request.\r\nThe length should be between 4 and 17 characters.\r\n\r\nThe US bank account number from which the payment will be debited."
        accountType:
          maxLength: 20
          type: string
          description: "**Conditional**: the account type is required if the ACH payment method type is supplied in the request.\r\n\r\nBank account type. Allowed values: Checking, Savings. Case-insensitive."
      additionalProperties: false
    GooglePayDTO:
      type: object
      properties:
        googlePayPaymentDataResponse:
          type: string
          description: "**Conditional**: the GooglePayPaymentDataResponse is required if the Google Pay payment method type is supplied in the request.\r\nMust contain the valid serialized JSON object.\r\n\r\nThe data returned by Google Pay."
      additionalProperties: false
    ApplePayDto:
      type: object
      properties:
        applePayToken:
          type: string
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
    CurrencyEnum:
      enum:
        - USD
        - AED
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BWP
        - BYN
        - BZD
        - CAD
        - CHF
        - CLP
        - CNH
        - CNY
        - COP
        - CRC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LYD
        - MAD
        - MDL
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SEK
        - SGD
        - SHP
        - SLE
        - SOS
        - SRD
        - STN
        - SVC
        - SZL
        - THB
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - UYU
        - UZS
        - VEF
        - VND
        - VUV
        - WST
        - XAF
        - XCD
        - XOF
        - XPF
        - YER
        - ZAR
        - ZMW
        - AFN
        - KPW
        - LRD
        - LSL
        - STD
        - SYP
        - TJS
        - ZMK
        - ZWD
        - SLL
        - MGA
        - HRK
        - CDF
        - BTN
        - BIF
      type: string
    NetworkTokenDto:
      type: object
      properties:
        token:
          maxLength: 19
          type: string
          description: Network token issued by a card network for a card.
        cryptogram:
          maxLength: 40
          type: string
          description: >-
            One-time digital “stamp” of payment. Needed for all CIT
            (customer-initiated transactions), and the cryptogram will have to
            be generated by the same TR-TSP that provisioned the token.
        electronicCommerceIndicator:
          maxLength: 2
          type: string
          description: >-
            An online payment security label indicating whether additional
            protection (such as 3-D Secure) was applied.
        paymentAccountReference:
          maxLength: 100
          type: string
          description: >-
            A permanent unique identifier of a payment account that a payment
            system assigns to a card and uses instead of a real PAN within
            network tokens.
        expirationDate:
          maxLength: 7
          minLength: 0
          type: string
          description: Expiration date of the network token.
          format: MMYY, MM/YY, MMYYYY, or MM/YYYY
          nullable: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````