> ## 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.

# Authorize With Payment Method Details

> Performs a **payment authorization** using raw payment method details (e.g., card number, expiration date, CVV, or bank account info), without capturing the funds immediately.
This is typically used when you want to place a hold on the customer’s account — for example, to confirm availability of funds before fulfillment or booking.

You must provide the full payment data along with invoice details.
The payment is validated with the processor, and if successful, an authorization is created and stored for later capture or reversal.

This endpoint is intended for **PCI-compliant merchants**, as it involves transmitting sensitive payment data directly.

The authorization can later be captured using the <a href="/api-reference/payments/capture">Capture</a> endpoint or voided via <a href="/api-reference/paymentmethod/reverse-authorization">Reverse Authorization</a>.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Payments/authorization
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/authorization:
    post:
      tags:
        - Payments
      summary: Authorize With Payment Method Details
      description: "Performs a **payment authorization** using raw payment method details (e.g., card number, expiration date, CVV, or bank account info), without capturing the funds immediately.\r\nThis is typically used when you want to place a hold on the customer’s account — for example, to confirm availability of funds before fulfillment or booking.\r\n\r\nYou must provide the full payment data along with invoice details.\r\nThe payment is validated with the processor, and if successful, an authorization is created and stored for later capture or reversal.\r\n\r\nThis endpoint is intended for **PCI-compliant merchants**, as it involves transmitting sensitive payment data directly.\r\n\r\nThe authorization can later be captured using the <a href=\"/api-reference/payments/capture\">Capture</a> endpoint or voided via <a href=\"/api-reference/paymentmethod/reverse-authorization\">Reverse Authorization</a>."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AuthorizeWithPaymentMethodRawRequestDTO'
            example:
              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: null
                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
              networkProcessing:
                processingType: InitialRecurring
                originalNetworkTransactionId: null
              amount:
                currency: USD
                value: 30.99
              orderProcessingChannel: null
              ecommercePlatformUrl: example.com
              dynamicDescriptor: null
              includeRawProcessorResponse: false
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizeWithPaymentMethodRawRequestDTO'
            example:
              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: null
                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
              networkProcessing:
                processingType: InitialRecurring
                originalNetworkTransactionId: null
              amount:
                currency: USD
                value: 30.99
              orderProcessingChannel: null
              ecommercePlatformUrl: example.com
              dynamicDescriptor: null
              includeRawProcessorResponse: false
          text/json:
            schema:
              $ref: '#/components/schemas/AuthorizeWithPaymentMethodRawRequestDTO'
            example:
              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: null
                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
              networkProcessing:
                processingType: InitialRecurring
                originalNetworkTransactionId: null
              amount:
                currency: USD
                value: 30.99
              orderProcessingChannel: null
              ecommercePlatformUrl: example.com
              dynamicDescriptor: null
              includeRawProcessorResponse: false
          application/*+json:
            schema:
              $ref: '#/components/schemas/AuthorizeWithPaymentMethodRawRequestDTO'
            example:
              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: null
                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
              networkProcessing:
                processingType: InitialRecurring
                originalNetworkTransactionId: null
              amount:
                currency: USD
                value: 30.99
              orderProcessingChannel: null
              ecommercePlatformUrl: example.com
              dynamicDescriptor: null
              includeRawProcessorResponse: false
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/AuthorizeResponseDTO'
              examples:
                Approved authorization:
                  value:
                    networkTransactionId: a529c527-7673-42c6-8648-656ae8bff8ae
                    paymentMethodAuthorizationId: 1
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: null
                    processorMerchantId: null
                    responseMessage: Approved
                    responseCode: '000'
                    rawResponse: null
                    message: null
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Failed authorization:
                  value:
                    networkTransactionId: 4f041d64-61e4-452f-ae85-e08dd5368d2e
                    paymentMethodAuthorizationId: null
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: WorldPay
                    processorMerchantId: '10071676'
                    responseMessage: Pick Up Card
                    responseCode: '303'
                    rawResponse: null
                    message: >-
                      Pick Up Card. Unable to authorize payment for payment
                      method 1; Transaction Id: 3.
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeResponseDTO'
              examples:
                Approved authorization:
                  value:
                    networkTransactionId: a529c527-7673-42c6-8648-656ae8bff8ae
                    paymentMethodAuthorizationId: 1
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: null
                    processorMerchantId: null
                    responseMessage: Approved
                    responseCode: '000'
                    rawResponse: null
                    message: null
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Failed authorization:
                  value:
                    networkTransactionId: 4f041d64-61e4-452f-ae85-e08dd5368d2e
                    paymentMethodAuthorizationId: null
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: WorldPay
                    processorMerchantId: '10071676'
                    responseMessage: Pick Up Card
                    responseCode: '303'
                    rawResponse: null
                    message: >-
                      Pick Up Card. Unable to authorize payment for payment
                      method 1; Transaction Id: 3.
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
            text/json:
              schema:
                $ref: '#/components/schemas/AuthorizeResponseDTO'
              examples:
                Approved authorization:
                  value:
                    networkTransactionId: a529c527-7673-42c6-8648-656ae8bff8ae
                    paymentMethodAuthorizationId: 1
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: null
                    processorMerchantId: null
                    responseMessage: Approved
                    responseCode: '000'
                    rawResponse: null
                    message: null
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                Failed authorization:
                  value:
                    networkTransactionId: 4f041d64-61e4-452f-ae85-e08dd5368d2e
                    paymentMethodAuthorizationId: null
                    paymentMethod:
                      paymentMethodId: 1
                      billingAddressId: 1
                      billingAddress:
                        addressId: 1
                        addressLine1: 1 Default Street
                        addressLine2: null
                        city: Los Angeles
                        state: CA
                        postalCode: '90210'
                        phoneNumber: null
                        email: null
                        country: US
                      billingFirstName: John
                      billingLastName: Doe
                      merchantPaymentMethodRefId: custom-payment-method-ref-id-001
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails:
                        binNumber: '411111'
                        paymentLast4Digit: '1111'
                        paymentExpirationDate: '0835'
                        accountUpdateMessage: null
                        accountUpdateDateTime: null
                        accountUpdateCode: null
                    paymentProcessor: WorldPay
                    processorMerchantId: '10071676'
                    responseMessage: Pick Up Card
                    responseCode: '303'
                    rawResponse: null
                    message: >-
                      Pick Up Card. Unable to authorize payment for payment
                      method 1; Transaction Id: 3.
                    processorResponseDateTime: null
                    authCode: null
                    processorTransactionId: null
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '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:
    AuthorizeWithPaymentMethodRawRequestDTO:
      required:
        - amount
        - paymentMethod
      type: object
      properties:
        networkProcessing:
          allOf:
            - $ref: '#/components/schemas/NetworkProcessingDTO'
          description: "Network processing information.\r\n\r\nProcessors supporting this feature: `Adyen`, `Nuvei`, `WorldPay`, `TSYS`, `BridgePay`, `Paymentech`, `PaymentLync`."
        amount:
          allOf:
            - $ref: '#/components/schemas/AmountDTO'
          description: The amount information for the payment.
        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.
        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`."
        includeRawProcessorResponse:
          type: boolean
          description: Determine whether to return raw processor data in the response.
          default: false
        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
    AuthorizeResponseDTO:
      type: object
      properties:
        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."
        paymentMethodAuthorizationId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: Unique identifier for a previously pre-authorized payment method.
          format: int64
        paymentMethod:
          allOf:
            - $ref: '#/components/schemas/PaymentMethodDTO'
          description: The payment method information for the payment.
        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.
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: The processor response message.
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: The processor response code.
        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."
        message:
          maxLength: 500
          minLength: 0
          type: string
          description: >-
            The message returned directly from payment processor or a special
            message provided by system. 
        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
    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
    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
    OrderProcessingChannelTypeEnum:
      enum:
        - Ecommerce
        - Moto
      type: string
    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
    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
    PaymentMethodDTO:
      type: object
      properties:
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier for the payment method information.
          format: int64
        billingAddressId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the address.
          format: int64
        billingAddress:
          $ref: '#/components/schemas/AddressDTO'
        billingFirstName:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        billingLastName:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        paymentMethodAchDetails:
          allOf:
            - $ref: '#/components/schemas/AchViewDTO'
          description: ACH account information.
        paymentMethodCreditCardDetails:
          allOf:
            - $ref: '#/components/schemas/CreditCardViewDTO'
          description: The details of credit card payment method.
      additionalProperties: false
    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
    PaymentProcessingTypeEnum:
      enum:
        - InitialRecurring
        - Recurring
        - InitialInstallment
        - Installment
      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
    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
    AddressDTO:
      type: object
      properties:
        addressId:
          type: integer
          description: The unique identifier of the address.
          format: int64
        addressLine1:
          maxLength: 40
          minLength: 2
          type: string
          description: Address.
          nullable: true
        addressLine2:
          maxLength: 40
          minLength: 0
          type: string
          description: Supplemental information for the address.
        city:
          maxLength: 25
          minLength: 2
          type: string
          description: City.
          nullable: true
        state:
          maxLength: 2
          minLength: 2
          type: string
          description: Two-letter state abbreviation.
          nullable: true
        postalCode:
          maxLength: 20
          minLength: 2
          type: string
          description: Postal Code.
          nullable: true
        phoneNumber:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            The phone number associated with a payment method that is used for
            billing purposes.
        email:
          maxLength: 100
          minLength: 0
          type: string
          description: The email associated with a billing address.
          format: email
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: Country.
          nullable: true
      additionalProperties: false
    AchViewDTO:
      type: object
      properties:
        accountNumberLast4Digits:
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
          description: Last 4 digits of the bank account.
        accountNumberLength:
          maximum: 17
          minimum: 4
          type: integer
          description: Bank account number length.
          format: int32
        accountType:
          maxLength: 8
          minLength: 0
          pattern: ^(Checking|Savings)$
          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
      nullable: true
    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
    Severity:
      enum:
        - Error
        - Warning
        - Info
      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

````