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

# One Time Payment Without Subscription

> Processes a **one-time payment** for a customer without requiring an active subscription.
This endpoint is ideal for standalone transactions such as single purchases.

A one-time payment without a subscription allows you to both authorize and capture funds in a single transaction, as well as capture previously authorized amounts. You can also send a partial capture if needed.
You must provide the invoice details, and payment method.
The request supports credit cards, network tokens, ACH, Apple Pay, and Google Pay.

⚠️ **Deprecated:** This endpoint is still supported but is no longer recommended for new integrations.
Please use the newer endpoints <a href="/api-reference/payments/sale-with-payment-method-details">Sale With Payment Method Details</a>, <a href="/api-reference/payments/sale-with-payment-method-id">Sale With Payment Method Id</a> or <a href="/api-reference/payments/capture">Capture</a> instead, which provides extended functionality and improved error handling.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Invoices/payment
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/Invoices/payment:
    post:
      tags:
        - Invoices
      summary: One Time Payment Without Subscription
      description: "Processes a **one-time payment** for a customer without requiring an active subscription.\r\nThis endpoint is ideal for standalone transactions such as single purchases.\r\n\r\nA one-time payment without a subscription allows you to both authorize and capture funds in a single transaction, as well as capture previously authorized amounts. You can also send a partial capture if needed.\r\nYou must provide the invoice details, and payment method.\r\nThe request supports credit cards, network tokens, ACH, Apple Pay, and Google Pay.\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/sale-with-payment-method-details\">Sale With Payment Method Details</a>, <a href=\"/api-reference/payments/sale-with-payment-method-id\">Sale With Payment Method Id</a> or <a href=\"/api-reference/payments/capture\">Capture</a> instead, which provides extended functionality and improved error handling."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OneTimePaymentWithoutSubscriptionRequestDTO'
            example:
              customerId: 1
              firstName: null
              lastName: null
              merchantCustomerRefId: null
              email: null
              invoice:
                merchantInvoiceRefId: '123456789'
                invoiceLineItems:
                  - name: LineItem1
                    description: Line Item 1 Description
                    value: 10
                    valueType: Standard
                  - name: LineItem2
                    description: Line Item 2 Description
                    value: 20
                    valueType: Standard
                  - name: LineItem3
                    description: Line Item 3 Description
                    value: 30
                    valueType: Standard
              dynamicDescriptor:
                subMerchantId: null
                subMerchantName: REV*revolv3
                subMerchantPhone: '00442030513031'
                countryCode: null
                city: null
              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: payment-method-ref-id_hgays-213-4rf4
                billingFirstName: Joe
                billingLastName: Doe
                billingFullName: null
              paymentMethodAuthorizationId: null
              paymentMethodId: null
          application/json:
            schema:
              $ref: '#/components/schemas/OneTimePaymentWithoutSubscriptionRequestDTO'
            example:
              customerId: 1
              firstName: null
              lastName: null
              merchantCustomerRefId: null
              email: null
              invoice:
                merchantInvoiceRefId: '123456789'
                invoiceLineItems:
                  - name: LineItem1
                    description: Line Item 1 Description
                    value: 10
                    valueType: Standard
                  - name: LineItem2
                    description: Line Item 2 Description
                    value: 20
                    valueType: Standard
                  - name: LineItem3
                    description: Line Item 3 Description
                    value: 30
                    valueType: Standard
              dynamicDescriptor:
                subMerchantId: null
                subMerchantName: REV*revolv3
                subMerchantPhone: '00442030513031'
                countryCode: null
                city: null
              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: payment-method-ref-id_hgays-213-4rf4
                billingFirstName: Joe
                billingLastName: Doe
                billingFullName: null
              paymentMethodAuthorizationId: null
              paymentMethodId: null
          text/json:
            schema:
              $ref: '#/components/schemas/OneTimePaymentWithoutSubscriptionRequestDTO'
            example:
              customerId: 1
              firstName: null
              lastName: null
              merchantCustomerRefId: null
              email: null
              invoice:
                merchantInvoiceRefId: '123456789'
                invoiceLineItems:
                  - name: LineItem1
                    description: Line Item 1 Description
                    value: 10
                    valueType: Standard
                  - name: LineItem2
                    description: Line Item 2 Description
                    value: 20
                    valueType: Standard
                  - name: LineItem3
                    description: Line Item 3 Description
                    value: 30
                    valueType: Standard
              dynamicDescriptor:
                subMerchantId: null
                subMerchantName: REV*revolv3
                subMerchantPhone: '00442030513031'
                countryCode: null
                city: null
              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: payment-method-ref-id_hgays-213-4rf4
                billingFirstName: Joe
                billingLastName: Doe
                billingFullName: null
              paymentMethodAuthorizationId: null
              paymentMethodId: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/OneTimePaymentWithoutSubscriptionRequestDTO'
            example:
              customerId: 1
              firstName: null
              lastName: null
              merchantCustomerRefId: null
              email: null
              invoice:
                merchantInvoiceRefId: '123456789'
                invoiceLineItems:
                  - name: LineItem1
                    description: Line Item 1 Description
                    value: 10
                    valueType: Standard
                  - name: LineItem2
                    description: Line Item 2 Description
                    value: 20
                    valueType: Standard
                  - name: LineItem3
                    description: Line Item 3 Description
                    value: 30
                    valueType: Standard
              dynamicDescriptor:
                subMerchantId: null
                subMerchantName: REV*revolv3
                subMerchantPhone: '00442030513031'
                countryCode: null
                city: null
              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: payment-method-ref-id_hgays-213-4rf4
                billingFirstName: Joe
                billingLastName: Doe
                billingFullName: null
              paymentMethodAuthorizationId: null
              paymentMethodId: null
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: >-
                  #/components/schemas/OneTimePaymentWithoutSubscriptionResponseDTO
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: '123456789'
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approve
                subtotal: 11.97
                taxAmount: 1.2
                total: 13.17
                paymentMethodId: 1
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/OneTimePaymentWithoutSubscriptionResponseDTO
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: '123456789'
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approve
                subtotal: 11.97
                taxAmount: 1.2
                total: 13.17
                paymentMethodId: 1
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/OneTimePaymentWithoutSubscriptionResponseDTO
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: '123456789'
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approve
                subtotal: 11.97
                taxAmount: 1.2
                total: 13.17
                paymentMethodId: 1
        '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.
        '409':
          description: Conflict
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: >-
                  PaymentMethodAuthorizationId is being processed in another
                  request.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: >-
                  PaymentMethodAuthorizationId is being processed in another
                  request.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: >-
                  PaymentMethodAuthorizationId is being processed in another
                  request.
        '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.
      deprecated: true
      security:
        - Bearer: []
components:
  schemas:
    OneTimePaymentWithoutSubscriptionRequestDTO:
      required:
        - invoice
      type: object
      properties:
        paymentMethod:
          $ref: '#/components/schemas/CreatePaymentMethodRequestDTO'
        paymentMethodAuthorizationId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        firstName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        lastName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        merchantCustomerRefId:
          type: string
          nullable: true
        email:
          maxLength: 100
          minLength: 0
          type: string
          format: email
          nullable: true
        invoice:
          $ref: >-
            #/components/schemas/CreateInvoiceForWithoutSubscriptionOneTimePaymentRequestDTO
        dynamicDescriptor:
          $ref: '#/components/schemas/TransactionDescriptorDTO'
      additionalProperties: false
    OneTimePaymentWithoutSubscriptionResponseDTO:
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        invoiceStatus:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        invoiceAttemptStatus:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        message:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        subtotal:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        taxAmount:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        total:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        paymentMethodTypeId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        transactionId:
          maxLength: 100
          minLength: 0
          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
    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
    CreateInvoiceForWithoutSubscriptionOneTimePaymentRequestDTO:
      required:
        - invoiceLineItems
      type: object
      properties:
        merchantInvoiceRefId:
          maxLength: 100
          type: string
          nullable: true
        invoiceLineItems:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/CreateInvoiceLineItemRequestDTO'
      additionalProperties: false
    TransactionDescriptorDTO:
      type: object
      properties:
        subMerchantId:
          maxLength: 15
          type: string
          description: >-
            The internal merchant's ID, which is sent to the relevant card
            scheme.
        subMerchantName:
          maxLength: 22
          minLength: 0
          type: string
          description: "The merchant name, as is displayed for the transaction on the consumer’s card statement. For payment facilitator only, might consist of the following structure: [Prefix]*[Sub Merchant Name] -\r\nwhere:\r\n1) [Prefix] – The PayFac prefix, approved by processor.\r\n2) '*' – A fixed character.\r\n3) [Sub Merchant Name] – The sub-merchant name.\r\nFor example: aaa*name\r\n\r\nRecommended! An alternative method to define a prefix is by configuring it through the Revolv3 Portal.\r\n\r\n**Nuvei** and **Paymentech** processors: the maximum length of the parameter is 22. Possible prefix length 3 or 5 or 7 or 12 characters.\r\n\r\n**WorldPay** and **PaymentLync** processor: if the value is specified, it must be between 4 and 25 characters. Possible prefix length 3 or 7 or 12 characters. Field accepts numbers, letters and special characters as follows: ampersand, asterisk (zero or one), comma, dash, period, space, or pound sign.\r\n\r\n**BridgePay** processor: the maximum length of the parameter is 46.\r\n\r\n**EPX** processor: the maximum length of the parameter is 20. Possible prefix length 3 or 7 or 9 or 12 characters."
        subMerchantPhone:
          maxLength: 13
          minLength: 0
          type: string
          description: "The merchant (sub-merchant for payment facilitators) contact information, as is displayed for the transaction on the consumer’s card statement.\r\n\r\n**Nuvei** processor: the maximum length of the parameter is 13. It can also be an email address.\r\n**WorldPay** processor: the maximum length of the parameter is 13. Field accepts only numbers.\r\n**BridgePay**, **EPX**, **Paymentech** and **PaymentLync** processor: the maximum length of the parameter is 13."
        countryCode:
          maxLength: 2
          minLength: 2
          type: string
          description: The payment facilitator's sub-merchant's 2-letter ISO country code.
        city:
          maxLength: 20
          type: string
          description: City.
          nullable: true
      additionalProperties: false
    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
    CreateInvoiceLineItemRequestDTO:
      required:
        - name
        - value
        - valueType
      type: object
      properties:
        invoiceLineItemId:
          type: integer
          format: int64
        name:
          minLength: 1
          type: string
        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
        billingValueType:
          $ref: '#/components/schemas/BillingValueTypeEnum'
      additionalProperties: false
    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
    BillingValueTypeEnum:
      enum:
        - Standard
        - Discount
        - DiscountPercentage
        - FinalDiscount
        - PriceOverride
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````