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

# Create One Time Payment

> Creates and processes a **one-time payment under an existing subscription context**, outside of the regular billing schedule.
This is useful for charging a subscriber for additional services, setup fees, usage overages, or one-off adjustments without altering the subscription plan itself.

You must provide the `subscriptionId`, the amount and billing details.
The payment is **immediately authorized and captured**, and the transaction is linked to the subscription for reporting and tracking purposes.

This endpoint ensures flexibility in billing scenarios where extra charges are needed beyond the standard recurring invoice.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Subscriptions/{subscriptionId}/payment
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/Subscriptions/{subscriptionId}/payment:
    post:
      tags:
        - Subscriptions
      summary: Create One Time Payment
      description: "Creates and processes a **one-time payment under an existing subscription context**, outside of the regular billing schedule.\r\nThis is useful for charging a subscriber for additional services, setup fees, usage overages, or one-off adjustments without altering the subscription plan itself.\r\n\r\nYou must provide the `subscriptionId`, the amount and billing details.\r\nThe payment is **immediately authorized and captured**, and the transaction is linked to the subscription for reporting and tracking purposes.\r\n\r\nThis endpoint ensures flexibility in billing scenarios where extra charges are needed beyond the standard recurring invoice."
      parameters:
        - name: subscriptionId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateOneTimePaymentRequestDTO'
            example:
              merchantInvoiceRefId: 06a30ccd-ed68-44d1-bc46-f48681b6d095
              invoiceLineItems:
                - name: Invoice Line Item 1
                  description: null
                  value: 10.99
                  valueType: Standard
                - name: Invoice Line Item 2
                  description: null
                  value: 11.99
                  valueType: Standard
                - name: Invoice Line Item 3
                  description: null
                  value: 12.99
                  valueType: Standard
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOneTimePaymentRequestDTO'
            example:
              merchantInvoiceRefId: 06a30ccd-ed68-44d1-bc46-f48681b6d095
              invoiceLineItems:
                - name: Invoice Line Item 1
                  description: null
                  value: 10.99
                  valueType: Standard
                - name: Invoice Line Item 2
                  description: null
                  value: 11.99
                  valueType: Standard
                - name: Invoice Line Item 3
                  description: null
                  value: 12.99
                  valueType: Standard
          text/json:
            schema:
              $ref: '#/components/schemas/CreateOneTimePaymentRequestDTO'
            example:
              merchantInvoiceRefId: 06a30ccd-ed68-44d1-bc46-f48681b6d095
              invoiceLineItems:
                - name: Invoice Line Item 1
                  description: null
                  value: 10.99
                  valueType: Standard
                - name: Invoice Line Item 2
                  description: null
                  value: 11.99
                  valueType: Standard
                - name: Invoice Line Item 3
                  description: null
                  value: 12.99
                  valueType: Standard
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateOneTimePaymentRequestDTO'
            example:
              merchantInvoiceRefId: 06a30ccd-ed68-44d1-bc46-f48681b6d095
              invoiceLineItems:
                - name: Invoice Line Item 1
                  description: null
                  value: 10.99
                  valueType: Standard
                - name: Invoice Line Item 2
                  description: null
                  value: 11.99
                  valueType: Standard
                - name: Invoice Line Item 3
                  description: null
                  value: 12.99
                  valueType: Standard
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CreateOneTimePaymentResponseDTO'
              example:
                invoiceId: 1
                merchantInvoiceRefId: null
                invoiceStatus: 0
                invoiceAttemptStatus: Success
                message: null
                subtotal: 10.99
                taxAmount: 0.98
                total: 11.97
                paymentMethodTypeId: 0
                processorRawResponse: null
                responseCode: null
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOneTimePaymentResponseDTO'
              example:
                invoiceId: 1
                merchantInvoiceRefId: null
                invoiceStatus: 0
                invoiceAttemptStatus: Success
                message: null
                subtotal: 10.99
                taxAmount: 0.98
                total: 11.97
                paymentMethodTypeId: 0
                processorRawResponse: null
                responseCode: null
            text/json:
              schema:
                $ref: '#/components/schemas/CreateOneTimePaymentResponseDTO'
              example:
                invoiceId: 1
                merchantInvoiceRefId: null
                invoiceStatus: 0
                invoiceAttemptStatus: Success
                message: null
                subtotal: 10.99
                taxAmount: 0.98
                total: 11.97
                paymentMethodTypeId: 0
                processorRawResponse: null
                responseCode: 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.
        '404':
          description: Not Found
          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.
      security:
        - XRevolv3Token: []
components:
  schemas:
    CreateOneTimePaymentRequestDTO:
      required:
        - invoiceLineItems
      type: object
      properties:
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        invoiceLineItems:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/CreateInvoiceLineItemRequestDTO'
      additionalProperties: false
    CreateOneTimePaymentResponseDTO:
      type: object
      properties:
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        invoiceStatus:
          $ref: '#/components/schemas/InvoiceStatusEnum'
        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
        paymentMethodTypeId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int32
        processorRawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          nullable: true
        transactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        billInvoiceResponse:
          $ref: '#/components/schemas/BillInvoiceResponseDTO'
        responseCode:
          maxLength: 10
          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
    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
    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
    BillInvoiceResponseDTO:
      type: object
      properties:
        invoiceAttemptStatus:
          $ref: '#/components/schemas/InvoiceAttemptStatusEnum'
        invoiceStatus:
          $ref: '#/components/schemas/InvoiceStatusEnum'
        processorTransactionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        invoiceAttemptDateTime:
          maxLength: 40
          type: string
          format: date-time
        invoiceAttemptStatusCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        invoiceAttemptResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        invoiceAttemptMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        paymentProcessorTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        transactionType:
          $ref: '#/components/schemas/TransactionTypeEnum'
        invoiceAttemptAmount:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        billedViaCapture:
          type: boolean
        networkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        originalNetworkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        paymentProcessingType:
          $ref: '#/components/schemas/PaymentProcessingTypeEnum'
        orderCode:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        processorType:
          $ref: '#/components/schemas/ProcessorType'
        rawDataContainer:
          $ref: '#/components/schemas/RawDataContainer'
        authCode:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseCodeId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        cvvResponse:
          maxLength: 1
          minLength: 0
          type: string
          nullable: true
        avsResponse:
          maxLength: 2
          minLength: 0
          type: string
          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
    BillingValueTypeEnum:
      enum:
        - Standard
        - Discount
        - DiscountPercentage
        - FinalDiscount
        - PriceOverride
      type: string
    InvoiceAttemptStatusEnum:
      enum:
        - Success
        - Fail
        - Pending
        - ConnectivityIssue
        - RetrySuccess
        - RetryFail
        - RetryPending
        - RetryConnectivityIssue
      type: string
    TransactionTypeEnum:
      enum:
        - Authorize
        - ReverseAuthorization
        - Sales
        - Refund
        - Token
        - Capture
        - Void
      type: string
    PaymentProcessingTypeEnum:
      enum:
        - InitialRecurring
        - Recurring
        - InitialInstallment
        - Installment
      type: string
    ProcessorType:
      enum:
        - BridgePay
        - WorldPay
        - Adyen
        - PGPayTech
        - Tsys
        - Epx
        - Nuvei
        - Paymentech
        - PaymentLync
      type: string
    RawDataContainer:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/RawDataPutResult'
        response:
          $ref: '#/components/schemas/RawDataPutResult'
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
    RawDataPutResult:
      type: object
      properties:
        storageId:
          type: string
          nullable: true
        rawData:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    XRevolv3Token:
      type: apiKey
      in: header
      name: x-revolv3-token

````