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

# Capture

> Captures funds from a **previously authorized transaction**, completing the payment.
Use this endpoint when you've already authorized a payment, and now want to finalize the charge.

You must provide the `paymentMethodAuthorizationId` - original authorization reference.
The amount captured can be equal to or less than the originally authorized amount, depending on business logic and processor rules.
Partial captures are supported in many cases.

Typical use cases include delayed fulfillment, pre-order models, or merchant-controlled capture flows.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Payments/capture/{paymentMethodAuthorizationId}
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Payments/capture/{paymentMethodAuthorizationId}:
    post:
      tags:
        - Payments
      summary: Capture
      description: "Captures funds from a **previously authorized transaction**, completing the payment.\r\nUse this endpoint when you've already authorized a payment, and now want to finalize the charge.\r\n\r\nYou must provide the `paymentMethodAuthorizationId` - original authorization reference.\r\nThe amount captured can be equal to or less than the originally authorized amount, depending on business logic and processor rules.\r\nPartial captures are supported in many cases.\r\n\r\nTypical use cases include delayed fulfillment, pre-order models, or merchant-controlled capture flows."
      parameters:
        - name: paymentMethodAuthorizationId
          in: path
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/SaleRequestDTO'
            example:
              customerId: null
              includeRawProcessorResponse: false
              invoice:
                merchantInvoiceRefId: null
                orderProcessingChannel: null
                ecommercePlatformUrl: null
                amount:
                  currency: USD
                  value: 30.99
              dynamicDescriptor: null
          application/json:
            schema:
              $ref: '#/components/schemas/SaleRequestDTO'
            example:
              customerId: null
              includeRawProcessorResponse: false
              invoice:
                merchantInvoiceRefId: null
                orderProcessingChannel: null
                ecommercePlatformUrl: null
                amount:
                  currency: USD
                  value: 30.99
              dynamicDescriptor: null
          text/json:
            schema:
              $ref: '#/components/schemas/SaleRequestDTO'
            example:
              customerId: null
              includeRawProcessorResponse: false
              invoice:
                merchantInvoiceRefId: null
                orderProcessingChannel: null
                ecommercePlatformUrl: null
                amount:
                  currency: USD
                  value: 30.99
              dynamicDescriptor: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/SaleRequestDTO'
            example:
              customerId: null
              includeRawProcessorResponse: false
              invoice:
                merchantInvoiceRefId: null
                orderProcessingChannel: null
                ecommercePlatformUrl: null
                amount:
                  currency: USD
                  value: 30.99
              dynamicDescriptor: null
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: 1234-5678-9101
                merchantPaymentMethodRefId: null
                networkTransactionId: 5e2ab6a6-dd68-4fce-b04e-74597095386c
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approved
                amount:
                  currency: USD
                  value: 30.99
                paymentMethodId: 1
                paymentMethodTypeId: 0
                paymentProcessor: null
                processorMerchantId: null
                rawResponse: Processor raw response (without parsing on Revolv3 side)
                paymentMethodCreditCardDetails: null
                responseMessage: null
                responseCode: null
                processorResponseDateTime: null
                authCode: null
                processorTransactionId: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            application/json:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: 1234-5678-9101
                merchantPaymentMethodRefId: null
                networkTransactionId: 5e2ab6a6-dd68-4fce-b04e-74597095386c
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approved
                amount:
                  currency: USD
                  value: 30.99
                paymentMethodId: 1
                paymentMethodTypeId: 0
                paymentProcessor: null
                processorMerchantId: null
                rawResponse: Processor raw response (without parsing on Revolv3 side)
                paymentMethodCreditCardDetails: null
                responseMessage: null
                responseCode: null
                processorResponseDateTime: null
                authCode: null
                processorTransactionId: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
            text/json:
              schema:
                $ref: '#/components/schemas/SaleResponseDTO'
              example:
                customerId: 1
                invoiceId: 1
                merchantInvoiceRefId: 1234-5678-9101
                merchantPaymentMethodRefId: null
                networkTransactionId: 5e2ab6a6-dd68-4fce-b04e-74597095386c
                invoiceStatus: Paid
                invoiceAttemptStatus: Success
                message: Approved
                amount:
                  currency: USD
                  value: 30.99
                paymentMethodId: 1
                paymentMethodTypeId: 0
                paymentProcessor: null
                processorMerchantId: null
                rawResponse: Processor raw response (without parsing on Revolv3 side)
                paymentMethodCreditCardDetails: null
                responseMessage: null
                responseCode: null
                processorResponseDateTime: null
                authCode: null
                processorTransactionId: null
                revolv3ResponseCode: null
                revolv3ResponseMessage: null
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
        '422':
          description: Unprocessable Content
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to process this operation.
      security:
        - Bearer: []
components:
  schemas:
    SaleRequestDTO:
      required:
        - invoice
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        includeRawProcessorResponse:
          type: boolean
          description: Determine whether to return raw processor data in the response.
          default: false
        invoice:
          allOf:
            - $ref: '#/components/schemas/InvoiceDetailsDTO'
          description: Invoice information for this payment.
        dynamicDescriptor:
          allOf:
            - $ref: '#/components/schemas/TransactionDescriptorDTO'
          description: "Allows the merchant to define a dynamic descriptor, which appears in the payment statement. \r\nFor dynamic descriptor, special configuration is required.\r\n\r\nProcessors supporting this feature: `Nuvei`, `WorldPay`, `BridgePay`, `EPX`, `Paymentech`, `PaymentLync`."
      additionalProperties: false
    SaleResponseDTO:
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the invoice.
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        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."
        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`."
        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`."
        message:
          maxLength: 500
          minLength: 0
          type: string
          description: >-
            The message returned directly from payment processor or a special
            message provided by system. 
        amount:
          allOf:
            - $ref: '#/components/schemas/AmountResponseDTO'
          description: The amount information for the payment.
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier for the payment method information.
          format: int64
        paymentMethodTypeId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: >-
            Specifies the type of payment method used for the transaction.
            Examples include CreditCard (1), Ach (2), GooglePay (3) and ApplePay
            (4).
          format: int64
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          description: The name of the processor by which the transaction was processed.
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant account ID (MID) of the processor by which the
            transaction was processed.
        rawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          description: "**Conditional. The value is returned if includeRawProcessorResponse = true.**\r\nThis field contains the raw data received from the processor after attempting to bill this payment. It does not contain any sensitive information. The field value is a string with the serialized response from the processor in JSON format."
        paymentMethodCreditCardDetails:
          allOf:
            - $ref: '#/components/schemas/CreditCardViewDTO'
          description: The details of credit card payment method.
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: The processor response message.
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: The processor response code.
        processorResponseDateTime:
          maxLength: 40
          type: string
          description: >-
            UTC timestamp of the payment processor response (format:
            YYYY-MM-DDThh:mm:ss).
          format: date-time
        authCode:
          maxLength: 20
          minLength: 0
          type: string
          description: Transaction authorization code.
        processorTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: Payment Processor Transaction Id.
        revolv3ResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: >-
            Standardized internal response code indicating the outcome of the
            request.
        revolv3ResponseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: Message providing additional details about the response code.
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    InvoiceDetailsDTO:
      required:
        - amount
      type: object
      properties:
        merchantInvoiceRefId:
          maxLength: 100
          type: string
          description: Merchant's unique identifier for the invoice.
        orderProcessingChannel:
          allOf:
            - $ref: '#/components/schemas/OrderProcessingChannelTypeEnum'
          description: "Specifies the sales channel through which the shopper provides their card details.\r\n\r\n**Ecommerce** - Internet or electronic commerce transaction.\r\n**Moto** - Single mail or telephone order transaction.\r\n\r\nProcessors supporting this feature: `WorldPay`, `BridgePay`. For other processors, Ecommerce is used by default."
        ecommercePlatformUrl:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant's storefront or e-commerce platform URL or domain from
            which the transaction originates. If provided, this value will be
            sent to the processor (TSYS only) as the Acceptor URL Address. If
            not provided, the value configured in Merchant Details (E-Commerce
            Platform URL) will be used. If neither is available, the request is
            sent to TSYS without the Acceptor URL Address.
        amount:
          allOf:
            - $ref: '#/components/schemas/AmountDTO'
          description: The amount information for the payment.
      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
    AmountResponseDTO:
      type: object
      properties:
        currency:
          maxLength: 3
          minLength: 3
          pattern: ^[A-Z]{3}$
          type: string
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        value:
          maximum: 10000000
          minimum: 0
          type: number
          description: The amount of the transaction.
          format: double
      additionalProperties: false
    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
    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
    OrderProcessingChannelTypeEnum:
      enum:
        - Ecommerce
        - Moto
      type: string
    AmountDTO:
      required:
        - value
      type: object
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        value:
          maximum: 9999999.99
          minimum: 0
          type: number
          description: The amount information for the payment. Must NOT be less than zero.
          format: double
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
    CurrencyEnum:
      enum:
        - USD
        - AED
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BWP
        - BYN
        - BZD
        - CAD
        - CHF
        - CLP
        - CNH
        - CNY
        - COP
        - CRC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LYD
        - MAD
        - MDL
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SEK
        - SGD
        - SHP
        - SLE
        - SOS
        - SRD
        - STN
        - SVC
        - SZL
        - THB
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - UYU
        - UZS
        - VEF
        - VND
        - VUV
        - WST
        - XAF
        - XCD
        - XOF
        - XPF
        - YER
        - ZAR
        - ZMW
        - AFN
        - KPW
        - LRD
        - LSL
        - STD
        - SYP
        - TJS
        - ZMK
        - ZWD
        - SLL
        - MGA
        - HRK
        - CDF
        - BTN
        - BIF
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````