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

# Refund Invoice

> Initiates a **refund** for a previously paid invoice.
This endpoint allows full or partial refunds, depending on the amount specified in the request.

You must supply the unique `invoiceId` of the transaction to be refunded, along with the refund amount (for partial refund).
The system validates the refund against the original payment details and ensures it does not exceed the total invoice value.
Useful for customer-initiated cancellations, returns, or support-driven refund requests.
All refund attempts are tracked and reflected in the invoice history and reporting.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Invoices/{invoiceId}/refund
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/Invoices/{invoiceId}/refund:
    post:
      tags:
        - Invoices
      summary: Refund Invoice
      description: "Initiates a **refund** for a previously paid invoice.\r\nThis endpoint allows full or partial refunds, depending on the amount specified in the request.\r\n\r\nYou must supply the unique `invoiceId` of the transaction to be refunded, along with the refund amount (for partial refund).\r\nThe system validates the refund against the original payment details and ensures it does not exceed the total invoice value.\r\nUseful for customer-initiated cancellations, returns, or support-driven refund requests.\r\nAll refund attempts are tracked and reflected in the invoice history and reporting."
      parameters:
        - name: invoiceId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/RefundInvoiceRequestDTO'
            example:
              amount: 5
              includeRawProcessorResponse: false
              reportGroup: null
          application/json:
            schema:
              $ref: '#/components/schemas/RefundInvoiceRequestDTO'
            example:
              amount: 5
              includeRawProcessorResponse: false
              reportGroup: null
          text/json:
            schema:
              $ref: '#/components/schemas/RefundInvoiceRequestDTO'
            example:
              amount: 5
              includeRawProcessorResponse: false
              reportGroup: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/RefundInvoiceRequestDTO'
            example:
              amount: 5
              includeRawProcessorResponse: false
              reportGroup: null
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/RefundInvoiceResponseDTO'
              example:
                invoice:
                  invoiceId: 2
                  parentInvoiceId: 1
                  customerId: 1
                  merchantInvoiceRefId: ca552d9a-637c-49c5-b870-179be6e99e8d
                  paymentMethod:
                    paymentMethodId: 1
                    billingAddressId: 1
                    billingFirstName: John
                    billingLastName: Doe
                    merchantPaymentMethodRefId: null
                    billingAddress:
                      addressId: 1
                      addressLine1: 1 Default Street
                      addressLine2: null
                      city: Los Angeles
                      state: CA
                      postalCode: '90210'
                      phoneNumber: null
                      email: null
                      country: US
                    paymentMethodAchDetails: null
                    paymentMethodCreditCardDetails: null
                  invoiceStatus: PartialRefund
                  subtotal: 10.99
                  tax: 0.1
                  total: 11.09
                  billingDate: 30.06.2026
                  merchantLegalName: John Doe
                  merchantCustomerRefId: 80a0b225-b38e-4971-b475-f36b8fef0457
                  customerFirstName: John
                  customerLastName: Doe
                  subscriptionId: null
                  installmentId: null
                  eligibilityFailReason: null
                  merchantSubscriptionRefId: null
                  networkTransactionId: null
                  currency: null
                  invoiceLineItems: null
                  invoiceAttempts: null
                  voidAttempts: null
                refunds:
                  - invoiceAttemptId: 1
                    amount: -3.99
                    invoiceAttemptStatus: Success
                    invoiceAttemptDate: '2026-07-01T11:31:34.8866527Z'
                    paymentProcessor: BridgePay
                    processorTransactionId: null
                    responseCode: null
                    responseMessage: null
                    processorRawResponse: null
                    paymentMethod:
                      paymentMethodId: 0
                      billingAddressId: 0
                      billingAddress: null
                      billingFirstName: null
                      billingLastName: null
                      merchantPaymentMethodRefId: null
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails: null
                    descriptor:
                      subMerchantId: null
                      subMerchantName: null
                      subMerchantPhone: null
                      countryCode: null
                      city: null
                    eligibilityCheckOrderCode: null
                    processorMerchantId: null
                    processingMethod: None
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                    authCode: null
                    processorResponseDateTime: '2026-07-01T11:31:34.8866527Z'
                refundedSubtotal: 5.99
                refundedTax: 0.05
                refundedTotal: 6.04
                rawResponse: null
                message: null
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            application/json:
              schema:
                $ref: '#/components/schemas/RefundInvoiceResponseDTO'
              example:
                invoice:
                  invoiceId: 2
                  parentInvoiceId: 1
                  customerId: 1
                  merchantInvoiceRefId: ca552d9a-637c-49c5-b870-179be6e99e8d
                  paymentMethod:
                    paymentMethodId: 1
                    billingAddressId: 1
                    billingFirstName: John
                    billingLastName: Doe
                    merchantPaymentMethodRefId: null
                    billingAddress:
                      addressId: 1
                      addressLine1: 1 Default Street
                      addressLine2: null
                      city: Los Angeles
                      state: CA
                      postalCode: '90210'
                      phoneNumber: null
                      email: null
                      country: US
                    paymentMethodAchDetails: null
                    paymentMethodCreditCardDetails: null
                  invoiceStatus: PartialRefund
                  subtotal: 10.99
                  tax: 0.1
                  total: 11.09
                  billingDate: 30.06.2026
                  merchantLegalName: John Doe
                  merchantCustomerRefId: 80a0b225-b38e-4971-b475-f36b8fef0457
                  customerFirstName: John
                  customerLastName: Doe
                  subscriptionId: null
                  installmentId: null
                  eligibilityFailReason: null
                  merchantSubscriptionRefId: null
                  networkTransactionId: null
                  currency: null
                  invoiceLineItems: null
                  invoiceAttempts: null
                  voidAttempts: null
                refunds:
                  - invoiceAttemptId: 1
                    amount: -3.99
                    invoiceAttemptStatus: Success
                    invoiceAttemptDate: '2026-07-01T11:31:34.8866527Z'
                    paymentProcessor: BridgePay
                    processorTransactionId: null
                    responseCode: null
                    responseMessage: null
                    processorRawResponse: null
                    paymentMethod:
                      paymentMethodId: 0
                      billingAddressId: 0
                      billingAddress: null
                      billingFirstName: null
                      billingLastName: null
                      merchantPaymentMethodRefId: null
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails: null
                    descriptor:
                      subMerchantId: null
                      subMerchantName: null
                      subMerchantPhone: null
                      countryCode: null
                      city: null
                    eligibilityCheckOrderCode: null
                    processorMerchantId: null
                    processingMethod: None
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                    authCode: null
                    processorResponseDateTime: '2026-07-01T11:31:34.8866527Z'
                refundedSubtotal: 5.99
                refundedTax: 0.05
                refundedTotal: 6.04
                rawResponse: null
                message: null
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            text/json:
              schema:
                $ref: '#/components/schemas/RefundInvoiceResponseDTO'
              example:
                invoice:
                  invoiceId: 2
                  parentInvoiceId: 1
                  customerId: 1
                  merchantInvoiceRefId: ca552d9a-637c-49c5-b870-179be6e99e8d
                  paymentMethod:
                    paymentMethodId: 1
                    billingAddressId: 1
                    billingFirstName: John
                    billingLastName: Doe
                    merchantPaymentMethodRefId: null
                    billingAddress:
                      addressId: 1
                      addressLine1: 1 Default Street
                      addressLine2: null
                      city: Los Angeles
                      state: CA
                      postalCode: '90210'
                      phoneNumber: null
                      email: null
                      country: US
                    paymentMethodAchDetails: null
                    paymentMethodCreditCardDetails: null
                  invoiceStatus: PartialRefund
                  subtotal: 10.99
                  tax: 0.1
                  total: 11.09
                  billingDate: 30.06.2026
                  merchantLegalName: John Doe
                  merchantCustomerRefId: 80a0b225-b38e-4971-b475-f36b8fef0457
                  customerFirstName: John
                  customerLastName: Doe
                  subscriptionId: null
                  installmentId: null
                  eligibilityFailReason: null
                  merchantSubscriptionRefId: null
                  networkTransactionId: null
                  currency: null
                  invoiceLineItems: null
                  invoiceAttempts: null
                  voidAttempts: null
                refunds:
                  - invoiceAttemptId: 1
                    amount: -3.99
                    invoiceAttemptStatus: Success
                    invoiceAttemptDate: '2026-07-01T11:31:34.8866527Z'
                    paymentProcessor: BridgePay
                    processorTransactionId: null
                    responseCode: null
                    responseMessage: null
                    processorRawResponse: null
                    paymentMethod:
                      paymentMethodId: 0
                      billingAddressId: 0
                      billingAddress: null
                      billingFirstName: null
                      billingLastName: null
                      merchantPaymentMethodRefId: null
                      paymentMethodAchDetails: null
                      paymentMethodCreditCardDetails: null
                    descriptor:
                      subMerchantId: null
                      subMerchantName: null
                      subMerchantPhone: null
                      countryCode: null
                      city: null
                    eligibilityCheckOrderCode: null
                    processorMerchantId: null
                    processingMethod: None
                    revolv3ResponseCode: null
                    revolv3ResponseMessage: null
                    authCode: null
                    processorResponseDateTime: '2026-07-01T11:31:34.8866527Z'
                refundedSubtotal: 5.99
                refundedTax: 0.05
                refundedTotal: 6.04
                rawResponse: null
                message: null
                responseCode: null
                responseMessage: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
        '400':
          description: >-
            One or more fields in the request were not submitted or didn't pass
            validation. Please review the request body and parameters against
            the required schema.
          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.
        '404':
          description: If the invoice ID cannot be associated with an invoice
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
        '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:
        - XRevolv3Token: []
components:
  schemas:
    RefundInvoiceRequestDTO:
      type: object
      properties:
        amount:
          maximum: 10000000
          minimum: 0.01
          type: number
          format: double
          nullable: true
        includeRawProcessorResponse:
          type: boolean
          nullable: true
        reportGroup:
          type: string
          description: >-
            Report Groups could be used to separate your transactions into
            different categories, so you can view the financial reports by your
            specific report group names (Worldpay only).
      additionalProperties: false
    RefundInvoiceResponseDTO:
      type: object
      properties:
        invoice:
          $ref: '#/components/schemas/InvoiceDTO'
        refunds:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceAttemptDTO'
          nullable: true
        refundedSubtotal:
          type: number
          format: double
        refundedTax:
          type: number
          format: double
        refundedTotal:
          type: number
          format: double
        rawResponse:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        responseCode:
          type: string
          nullable: true
        responseMessage:
          type: string
          nullable: true
        revolv3ResponseCode:
          type: string
          nullable: true
        revolv3ResponseMessage:
          type: string
          nullable: true
      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
    InvoiceDTO:
      type: object
      properties:
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
        parentInvoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the invoice.
        paymentMethod:
          $ref: '#/components/schemas/InvoicePaymentMethodDTO'
        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`."
        subtotal:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        tax:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        total:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        billingDate:
          maxLength: 20
          minLength: 0
          type: string
          description: The day on which the last billing was attempted for the invoice
        merchantLegalName:
          maxLength: 200
          minLength: 0
          type: string
          nullable: true
        merchantCustomerRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        customerFirstName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        customerLastName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        installmentId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        eligibilityFailReason:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        merchantSubscriptionRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        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."
        currency:
          maxLength: 3
          minLength: 0
          type: string
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        invoiceLineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItemDTO'
          nullable: true
        invoiceAttempts:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceAttemptDTO'
          nullable: true
        voidAttempts:
          type: array
          items:
            $ref: '#/components/schemas/VoidAttemptDTO'
          nullable: true
        invoiceStatusEnum:
          $ref: '#/components/schemas/InvoiceStatusEnum'
      additionalProperties: false
    InvoiceAttemptDTO:
      type: object
      properties:
        invoiceAttemptId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        amount:
          maximum: 10000000
          minimum: 0
          type: number
          description: The amount information for the payment.
          format: double
        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`."
        invoiceAttemptDate:
          type: string
          format: yyyy-MM-ddTHH:mm:ss.fff
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          description: The name of the processor by which the transaction was processed.
          readOnly: true
        processorTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: Payment Processor Transaction Id.
          readOnly: true
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: The processor response code.
          readOnly: true
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: The processor response message.
          readOnly: true
        processorRawResponse:
          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."
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodDTO'
        descriptor:
          $ref: '#/components/schemas/TransactionDescriptorDto'
        eligibilityCheckOrderCode:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
          readOnly: true
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant account ID (MID) of the processor by which the
            transaction was processed.
        processingMethod:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        authCode:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        processorResponseDateTime:
          maxLength: 40
          type: string
          format: date-time
      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
    InvoicePaymentMethodDTO:
      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
        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."
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        billingAddress:
          allOf:
            - $ref: '#/components/schemas/AddressDTO'
          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.
        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
    InvoiceLineItemDTO:
      type: object
      properties:
        invoiceLineItemId:
          maximum: 1000000000
          minimum: 0
          type: integer
          format: int64
        name:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        description:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        value:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        valueType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        billingValueType:
          $ref: '#/components/schemas/BillingValueTypeEnum'
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
      additionalProperties: false
    VoidAttemptDTO:
      type: object
      properties:
        voidAttemptId:
          type: integer
          format: int64
        voidAttemptStatus:
          type: string
          nullable: true
        voidAttemptDate:
          type: string
          format: yyyy-MM-ddTHH:mm:ss.fff
        paymentProcessor:
          type: string
          description: The name of the processor by which the transaction was processed.
          readOnly: true
        processorTransactionId:
          type: string
          description: Payment Processor Transaction Id.
          readOnly: true
        responseCode:
          type: string
          description: The processor response code.
          readOnly: true
        responseMessage:
          type: string
          description: The processor response message.
          readOnly: true
        revolv3ResponseCode:
          type: string
          nullable: true
        revolv3ResponseMessage:
          type: string
          nullable: true
        processorResponseDateTime:
          maxLength: 40
          type: string
          format: date-time
        processorRawResponse:
          type: string
          nullable: true
      additionalProperties: false
    InvoiceStatusEnum:
      enum:
        - Paid
        - Void
        - Pending
        - Recycle
        - Noncollectable
        - Failed
        - Refund
        - MerchantPaid
        - MerchantCancelled
        - OneTimePaymentPending
        - PartialRefund
        - BatchPending
        - CapturePending
        - RefundPending
        - RefundDeclined
        - RefundFailed
        - RetryPending
        - RecurringPending
        - MultiCardsPending
        - RefundVoid
        - PartialRefundVoid
      type: string
    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
    TransactionDescriptorDto:
      type: object
      properties:
        subMerchantId:
          type: string
          nullable: true
        subMerchantName:
          type: string
          nullable: true
        subMerchantPhone:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
    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
    BillingValueTypeEnum:
      enum:
        - Standard
        - Discount
        - DiscountPercentage
        - FinalDiscount
        - PriceOverride
      type: string
  securitySchemes:
    XRevolv3Token:
      type: apiKey
      in: header
      name: x-revolv3-token

````