> ## 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 Payment Method

> Performs a payment authorization for a specified amount on a stored payment method or provided card, without capturing the funds.
This is typically used to verify that the card or bank account is valid, has sufficient funds, and is accepted by the processor.

You define the authorization amount, and the system attempts to place a hold on the customer's account — which can later be captured or reversed.
This is useful for scenarios like booking flows, fraud screening, or pre-checkout validation, where upfront payment isn't required but authorization is needed.

Note: The authorization may appear as a pending transaction on the customer’s statement.
    
⚠️ **Deprecated:** This endpoint is still supported but is no longer recommended for new integrations.
Please use the newer endpoints <a href="/api-reference/payments/authorize-with-payment-method-details">Authorize With Payment Method</a> or <a href="/api-reference/payments/authorize-with-payment-method-id">Authorize With Payment Method Id</a> instead, which provides extended functionality and improved error handling.



## OpenAPI

````yaml /api-reference/swagger.json post /api/PaymentMethod/authorize
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.2
servers:
  - url: https://api-sandbox.revolv3.com
security: []
paths:
  /api/PaymentMethod/authorize:
    post:
      tags:
        - PaymentMethod
      summary: Authorize Payment Method
      description: "Performs a payment authorization for a specified amount on a stored payment method or provided card, without capturing the funds.\r\nThis is typically used to verify that the card or bank account is valid, has sufficient funds, and is accepted by the processor.\r\n\r\nYou define the authorization amount, and the system attempts to place a hold on the customer's account — which can later be captured or reversed.\r\nThis is useful for scenarios like booking flows, fraud screening, or pre-checkout validation, where upfront payment isn't required but authorization is needed.\r\n\r\nNote: The authorization may appear as a pending transaction on the customer’s statement.\r\n    \r\n⚠️ **Deprecated:** This endpoint is still supported but is no longer recommended for new integrations.\r\nPlease use the newer endpoints <a href=\"/api-reference/payments/authorize-with-payment-method-details\">Authorize With Payment Method</a> or <a href=\"/api-reference/payments/authorize-with-payment-method-id\">Authorize With Payment Method Id</a> instead, which provides extended functionality and improved error handling."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentMethodCommandRequestDTO'
            example:
              paymentMethod:
                billingAddress:
                  addressId: null
                  addressLine1: 100 Main Street
                  addressLine2: ''
                  city: Santa Ana
                  state: CA
                  postalCode: '90000'
                  phoneNumber: null
                  email: null
                  country: US
                creditCard:
                  paymentAccountNumber: '4111111111111111'
                  expirationDate: '1025'
                  securityCode: null
                  networkToken: null
                ach: null
                googlePay: null
                applePay: null
                merchantPaymentMethodRefId: null
                billingFirstName: John
                billingLastName: Smith
                billingFullName: null
              paymentMethodId: null
              amount: 5
              reportGroup: null
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentMethodCommandRequestDTO'
            example:
              paymentMethod:
                billingAddress:
                  addressId: null
                  addressLine1: 100 Main Street
                  addressLine2: ''
                  city: Santa Ana
                  state: CA
                  postalCode: '90000'
                  phoneNumber: null
                  email: null
                  country: US
                creditCard:
                  paymentAccountNumber: '4111111111111111'
                  expirationDate: '1025'
                  securityCode: null
                  networkToken: null
                ach: null
                googlePay: null
                applePay: null
                merchantPaymentMethodRefId: null
                billingFirstName: John
                billingLastName: Smith
                billingFullName: null
              paymentMethodId: null
              amount: 5
              reportGroup: null
          text/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentMethodCommandRequestDTO'
            example:
              paymentMethod:
                billingAddress:
                  addressId: null
                  addressLine1: 100 Main Street
                  addressLine2: ''
                  city: Santa Ana
                  state: CA
                  postalCode: '90000'
                  phoneNumber: null
                  email: null
                  country: US
                creditCard:
                  paymentAccountNumber: '4111111111111111'
                  expirationDate: '1025'
                  securityCode: null
                  networkToken: null
                ach: null
                googlePay: null
                applePay: null
                merchantPaymentMethodRefId: null
                billingFirstName: John
                billingLastName: Smith
                billingFullName: null
              paymentMethodId: null
              amount: 5
              reportGroup: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentMethodCommandRequestDTO'
            example:
              paymentMethod:
                billingAddress:
                  addressId: null
                  addressLine1: 100 Main Street
                  addressLine2: ''
                  city: Santa Ana
                  state: CA
                  postalCode: '90000'
                  phoneNumber: null
                  email: null
                  country: US
                creditCard:
                  paymentAccountNumber: '4111111111111111'
                  expirationDate: '1025'
                  securityCode: null
                  networkToken: null
                ach: null
                googlePay: null
                applePay: null
                merchantPaymentMethodRefId: null
                billingFirstName: John
                billingLastName: Smith
                billingFullName: null
              paymentMethodId: null
              amount: 5
              reportGroup: null
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentMethodCommandResponseDTO'
              example:
                paymentMethodAuthorizationId: 1
                paymentMethod:
                  paymentMethodId: 1
                  billingAddressId: 1
                  billingAddress:
                    addressId: 1
                    addressLine1: 123 Main
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                  billingFirstName: John
                  billingLastName: Smith
                  merchantPaymentMethodRefId: payment-method-ref-id_hgays-213-4rf4
                  paymentMethodAchDetails: null
                  paymentMethodCreditCardDetails:
                    binNumber: '411111'
                    paymentLast4Digit: '1111'
                    paymentExpirationDate: '1025'
                    accountUpdateMessage: null
                    accountUpdateDateTime: null
                    accountUpdateCode: null
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentMethodCommandResponseDTO'
              example:
                paymentMethodAuthorizationId: 1
                paymentMethod:
                  paymentMethodId: 1
                  billingAddressId: 1
                  billingAddress:
                    addressId: 1
                    addressLine1: 123 Main
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                  billingFirstName: John
                  billingLastName: Smith
                  merchantPaymentMethodRefId: payment-method-ref-id_hgays-213-4rf4
                  paymentMethodAchDetails: null
                  paymentMethodCreditCardDetails:
                    binNumber: '411111'
                    paymentLast4Digit: '1111'
                    paymentExpirationDate: '1025'
                    accountUpdateMessage: null
                    accountUpdateDateTime: null
                    accountUpdateCode: null
            text/json:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentMethodCommandResponseDTO'
              example:
                paymentMethodAuthorizationId: 1
                paymentMethod:
                  paymentMethodId: 1
                  billingAddressId: 1
                  billingAddress:
                    addressId: 1
                    addressLine1: 123 Main
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                  billingFirstName: John
                  billingLastName: Smith
                  merchantPaymentMethodRefId: payment-method-ref-id_hgays-213-4rf4
                  paymentMethodAchDetails: null
                  paymentMethodCreditCardDetails:
                    binNumber: '411111'
                    paymentLast4Digit: '1111'
                    paymentExpirationDate: '1025'
                    accountUpdateMessage: null
                    accountUpdateDateTime: null
                    accountUpdateCode: 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.
      deprecated: true
      security:
        - XRevolv3Token: []
components:
  schemas:
    AuthorizePaymentMethodCommandRequestDTO:
      type: object
      properties:
        paymentMethod:
          $ref: '#/components/schemas/CreatePaymentMethodRequestDTO'
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        amount:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
          nullable: true
        reportGroup:
          type: string
          nullable: true
      additionalProperties: false
    AuthorizePaymentMethodCommandResponseDTO:
      type: object
      properties:
        paymentMethodAuthorizationId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodDTO'
      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
    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
    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
    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:
    XRevolv3Token:
      type: apiKey
      in: header
      name: x-revolv3-token

````