PayPal Captures API

Use the `/captures` resource to show details for and refund a captured payment.

Operations 2

GET /v2/payments/captures/{capture_id} Paypal Show captured payment details #
POST /v2/payments/captures/{capture_id}/refund Paypal Refund captured payment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paypal-captures-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paypal-captures-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paypal Subscriptions Authorizations Captures API
  description: You can use billing plans and subscriptions to create subscriptions that process recurring PayPal payments for physical or digital goods, or services. A plan includes pricing and billing cycle information that defines the amount and frequency of charge for a subscription. You can also define a fixed plan, such as a $5 basic plan or a volume- or graduated-based plan with pricing tiers based on the quantity purchased. For more information, see <a href="/docs/subscriptions/">Subscriptions Overview</a>.
  version: '1.6'
  contact: {}
servers:
- url: https://api-m.sandbox.paypal.com
  description: PayPal Sandbox Environment
- url: https://api-m.paypal.com
  description: PayPal Live Environment
tags:
- name: Captures
  description: Use the `/captures` resource to show details for and refund a captured payment.
paths:
  /v2/payments/captures/{capture_id}:
    get:
      summary: Paypal Show captured payment details
      description: Shows details for a captured payment, by ID.
      operationId: captures.get
      parameters:
      - $ref: '#/components/parameters/capture_id'
      responses:
        '200':
          description: A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows captured payment details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture-2'
        '401':
          description: Authentication failed due to missing authorization header, or invalid authentication credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_401'
        '403':
          description: The request failed because the caller has insufficient permissions.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/403'
        '404':
          description: The request failed because the resource does not exist.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_404'
                - $ref: '#/components/schemas/404'
        '500':
          description: The request failed because an internal server error occurred.
        default:
          $ref: '#/components/responses/default'
      tags:
      - Captures
      security:
      - Oauth2:
        - https://uri.paypal.com/services/payments/payment/authcapture
  /v2/payments/captures/{capture_id}/refund:
    post:
      summary: Paypal Refund captured payment
      description: Refunds a captured payment, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an <code>amount</code> object in the JSON request body.
      operationId: captures.refund
      parameters:
      - $ref: '#/components/parameters/capture_id'
      - $ref: '#/components/parameters/paypal_request_id'
      - $ref: '#/components/parameters/prefer'
      - $ref: '#/components/parameters/paypal_auth_assertion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/refund_request'
            examples:
              refund_request:
                value:
                  amount:
                    value: '10.00'
                    currency_code: USD
                  invoice_id: INVOICE-123
                  note_to_payer: DefectiveProduct
                  payment_instruction:
                    platform_fees:
                    - amount:
                        currency_code: USD
                        value: '1.00'
      responses:
        '201':
          description: A successful request returns the HTTP <code>201 Created</code> status code and a JSON response body that shows refund details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/refund'
        '400':
          description: The request failed because it is not well-formed or is syntactically incorrect or violates schema.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/captures.refund-400'
        '401':
          description: Authentication failed due to missing authorization header, or invalid authentication credentials.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_401'
                - $ref: '#/components/schemas/401'
        '403':
          description: The request failed because the caller has insufficient permissions.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/403'
        '404':
          description: The request failed because the resource does not exist.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_404'
                - $ref: '#/components/schemas/404'
        '409':
          description: The request failed because a previous call for the given resource is in progress.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_409'
                - $ref: '#/components/schemas/409'
        '422':
          description: The request failed because it either is semantically incorrect or failed business validation.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_422'
                - $ref: '#/components/schemas/captures.refund-422'
        '500':
          description: The request failed because an internal server error occurred.
        default:
          $ref: '#/components/responses/default'
      tags:
      - Captures
      security:
      - Oauth2:
        - https://uri.paypal.com/services/payments/refund
components:
  schemas:
    error_500:
      type: object
      title: Internal Server Error
      description: This is either a system or application error, and generally indicates that although the client appeared to provide a correct request, something unexpected has gone wrong on the server.
      properties:
        name:
          type: string
          enum:
          - INTERNAL_SERVER_ERROR
        message:
          type: string
          enum:
          - An internal server error occurred.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: '#/components/schemas/error_link_description'
      example:
        name: INTERNAL_SERVER_ERROR
        message: An internal server error occurred.
        debug_id: 90957fca61718
        links:
        - href: https://developer.paypal.com/api/orders/v2/#error-INTERNAL_SERVER_ERROR
          rel: information_link
    link_description:
      type: object
      title: Link Description
      description: The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information.
      required:
      - href
      - rel
      properties:
        href:
          type: string
          description: The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
        rel:
          type: string
          description: The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
        method:
          type: string
          description: The HTTP method required to make the related call.
          enum:
          - GET
          - POST
          - PUT
          - DELETE
          - HEAD
          - CONNECT
          - OPTIONS
          - PATCH
    '404':
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: INVALID_RESOURCE_ID
              properties:
                issue:
                  type: string
                  enum:
                  - INVALID_RESOURCE_ID
                description:
                  type: string
                  enum:
                  - Specified resource ID does not exist. Please check the resource ID and try again.
    money:
      type: object
      title: Money
      description: The currency and amount for a financial transaction, such as a balance or payment due.
      properties:
        currency_code:
          $ref: '#/components/schemas/currency_code'
        value:
          type: string
          description: The value, which might be:<ul><li>An integer for currencies like `JPY` that are not typically fractional.</li><li>A decimal fraction for currencies like `TND` that are subdivided into thousandths.</li></ul>For the required number of decimal places for a currency code, see [Currency Codes](/api/rest/reference/currency-codes/).
          maxLength: 32
          pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
      required:
      - currency_code
      - value
    date_time:
      type: string
      description: The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.<blockquote><strong>Note:</strong> The regular expression provides guidance but does not reject all invalid dates.</blockquote>
      format: ppaas_date_time_v3
      minLength: 20
      maxLength: 64
      pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
    capture-2:
      type: object
      title: Capture
      description: A captured payment.
      allOf:
      - $ref: '#/components/schemas/capture'
      - properties:
          supplementary_data:
            description: An object that provides supplementary/additional data related to a payment transaction.
            readOnly: true
            $ref: '#/components/schemas/supplementary_data'
          payee:
            description: The details associated with the merchant for this transaction.
            $ref: '#/components/schemas/payee_base'
            readOnly: true
    currency_code:
      description: The [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) that identifies the currency.
      type: string
      format: ppaas_common_currency_code_v2
      minLength: 3
      maxLength: 3
    account_id:
      type: string
      title: PayPal Account Identifier
      description: The account identifier for a PayPal account.
      format: ppaas_payer_id_v3
      minLength: 13
      maxLength: 13
      pattern: ^[2-9A-HJ-NP-Z]{13}$
    net_amount_breakdown_item:
      type: object
      title: Net Amount Breakdown Item
      description: The net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the merchant holds their funds.
      properties:
        payable_amount:
          description: The net amount debited from the merchant's PayPal account.
          readOnly: true
          $ref: '#/components/schemas/money'
        converted_amount:
          description: The converted payable amount.
          readOnly: true
          $ref: '#/components/schemas/money'
        exchange_rate:
          description: The exchange rate that determines the amount that was debited from the merchant's PayPal account.
          readOnly: true
          $ref: '#/components/schemas/exchange_rate'
    seller_receivable_breakdown:
      type: object
      title: Seller Receivable Breakdown
      description: The detailed breakdown of the capture activity. This is not available for transactions that are in pending state.
      properties:
        gross_amount:
          description: The amount for this captured payment in the currency of the transaction.
          $ref: '#/components/schemas/money'
        paypal_fee:
          description: The applicable fee for this captured payment in the currency of the transaction.
          $ref: '#/components/schemas/money'
        paypal_fee_in_receivable_currency:
          description: The applicable fee for this captured payment in the receivable currency. Returned only in cases the fee is charged in the receivable currency. Example 'CNY'.
          $ref: '#/components/schemas/money'
        net_amount:
          description: The net amount that the payee receives for this captured payment in their PayPal account. The net amount is computed as <code>gross_amount</code> minus the <code>paypal_fee</code> minus the <code>platform_fees</code>.
          $ref: '#/components/schemas/money'
        receivable_amount:
          description: The net amount that is credited to the payee's PayPal account. Returned only when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds. The amount is computed as <code>net_amount</code> times <code>exchange_rate</code>.
          $ref: '#/components/schemas/money'
        exchange_rate:
          description: The exchange rate that determines the amount that is credited to the payee's PayPal account. Returned when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds.
          $ref: '#/components/schemas/exchange_rate'
        platform_fees:
          type: array
          description: An array of platform or partner fees, commissions, or brokerage fees that associated with the captured payment.
          minItems: 0
          maxItems: 1
          items:
            $ref: '#/components/schemas/platform_fee'
      required:
      - gross_amount
    error_400:
      type: object
      title: Bad Request Error
      description: Request is not well-formed, syntactically incorrect, or violates schema.
      properties:
        name:
          type: string
          enum:
          - INVALID_REQUEST
        message:
          type: string
          enum:
          - Request is not well-formed, syntactically incorrect, or violates schema.
        details:
          type: array
          items:
            $ref: '#/components/schemas/error_details'
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: '#/components/schemas/error_link_description'
    payee_base:
      type: object
      title: Merchant Base
      description: The details for the merchant who receives the funds and fulfills the order. The merchant is also known as the payee.
      properties:
        email_address:
          description: The email address of merchant.
          $ref: '#/components/schemas/email'
        merchant_id:
          description: The encrypted PayPal account ID of the merchant.
          $ref: '#/components/schemas/account_id'
    payment_instruction-2:
      type: object
      title: Payment Instruction
      description: Any additional payments instructions during refund payment processing. This object is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.
      properties:
        platform_fees:
          type: array
          description: Specifies the amount that the API caller will contribute to the refund being processed. The amount needs to be lower than platform_fees amount originally captured or the amount that is remaining if multiple refunds have been processed. This field is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.
          minItems: 0
          maxItems: 1
          items:
            $ref: '#/components/schemas/platform_fee'
    email:
      type: string
      description: The internationalized email address.<blockquote><strong>Note:</strong> Up to 64 characters are allowed before and 255 characters are allowed after the <code>@</code> sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted <code>@</code> sign exists.</blockquote>
      format: merchant_common_email_address_v2
      maxLength: 254
      minLength: 3
      pattern: (?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
    error_details:
      title: Error Details
      type: object
      description: The error details. Required for client-side `4XX` errors.
      properties:
        field:
          type: string
          description: The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors.
        value:
          type: string
          description: The value of the field that caused the error.
        location:
          $ref: '#/components/schemas/error_location'
        issue:
          type: string
          description: The unique, fine-grained application-level error code.
        description:
          type: string
          description: The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value.
      required:
      - issue
    platform_fee:
      type: object
      title: Platform Fee
      description: The platform or partner fee, commission, or brokerage fee that is associated with the transaction. Not a separate or isolated transaction leg from the external perspective. The platform fee is limited in scope and is always associated with the original payment for the purchase unit.
      properties:
        amount:
          description: The fee for this transaction.
          $ref: '#/components/schemas/money'
        payee:
          description: The recipient of the fee for this transaction. If you omit this value, the default is the API caller.
          $ref: '#/components/schemas/payee_base'
      required:
      - amount
    exchange_rate:
      description: The exchange rate that determines the amount to convert from one currency to another currency.
      type: object
      title: Exchange Rate
      properties:
        source_currency:
          description: The source currency from which to convert an amount.
          $ref: '#/components/schemas/currency_code'
        target_currency:
          description: The target currency to which to convert an amount.
          $ref: '#/components/schemas/currency_code'
        value:
          description: The target currency amount. Equivalent to one unit of the source currency. Formatted as integer or decimal value with one to 15 digits to the right of the decimal point.
          type: string
      readOnly: true
    refund_status:
      type: object
      description: The refund status.
      title: Refund Status
      properties:
        status:
          description: The status of the refund.
          type: string
          readOnly: true
          enum:
          - CANCELLED
          - FAILED
          - PENDING
          - COMPLETED
        status_details:
          description: The details of the refund status.
          readOnly: true
          $ref: '#/components/schemas/refund_status_details'
    '401':
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: INVALID_ACCOUNT_STATUS
              properties:
                issue:
                  type: string
                  enum:
                  - INVALID_ACCOUNT_STATUS
                description:
                  type: string
                  enum:
                  - Account validations failed for the user.
    '403':
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: PERMISSION_DENIED
              properties:
                issue:
                  type: string
                  enum:
                  - PERMISSION_DENIED
                description:
                  type: string
                  enum:
                  - You do not have permission to access or perform operations on this resource.
    refund:
      type: object
      title: Refund
      description: The refund information.
      allOf:
      - $ref: '#/components/schemas/refund_status'
      - properties:
          id:
            description: The PayPal-generated ID for the refund.
            type: string
            readOnly: true
          amount:
            description: The amount that the payee refunded to the payer.
            $ref: '#/components/schemas/money'
            readOnly: true
          invoice_id:
            description: The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives.
            type: string
            readOnly: true
          custom_id:
            type: string
            description: The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports.
            minLength: 1
            maxLength: 127
            pattern: ^[A-Za-z0-9-_.,]*$
          acquirer_reference_number:
            type: string
            description: Reference ID issued for the card transaction. This ID can be used to track the transaction across processors, card brands and issuing banks.
            minLength: 1
            maxLength: 36
            pattern: ^[a-zA-Z0-9]+$
          note_to_payer:
            description: The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives.
            type: string
            readOnly: true
          seller_payable_breakdown:
            description: The breakdown of the refund.
            type: object
            title: Merchant Payable Breakdown
            properties:
              gross_amount:
                description: The amount that the payee refunded to the payer.
                $ref: '#/components/schemas/money'
                readOnly: true
              paypal_fee:
                description: The PayPal fee that was refunded to the payer in the currency of the transaction. This fee might not match the PayPal fee that the payee paid when the payment was captured.
                $ref: '#/components/schemas/money'
                readOnly: true
              paypal_fee_in_receivable_currency:
                description: The PayPal fee that was refunded to the payer in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.
                $ref: '#/components/schemas/money'
                readOnly: true
              net_amount:
                description: The net amount that the payee's account is debited in the transaction currency. The net amount is calculated as <code>gross_amount</code> minus <code>paypal_fee</code> minus <code>platform_fees</code>.
                $ref: '#/components/schemas/money'
                readOnly: true
              net_amount_in_receivable_currency:
                description: The net amount that the payee's account is debited in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.
                $ref: '#/components/schemas/money'
                readOnly: true
              platform_fees:
                type: array
                description: An array of platform or partner fees, commissions, or brokerage fees for the refund.
                minItems: 0
                maxItems: 1
                items:
                  $ref: '#/components/schemas/platform_fee'
              net_amount_breakdown:
                type: array
                description: An array of breakdown values for the net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the payee holds their funds.
                items:
                  $ref: '#/components/schemas/net_amount_breakdown_item'
                readOnly: true
              total_refunded_amount:
                description: The total amount refunded from the original capture to date. For example, if a payer makes a $100 purchase and was refunded $20 a week ago and was refunded $30 in this refund, the `gross_amount` is $30 for this refund and the `total_refunded_amount` is $50.
                $ref: '#/components/schemas/money'
            readOnly: true
          payer:
            description: The details associated with the merchant for this transaction.
            $ref: '#/components/schemas/payee_base'
            readOnly: true
          links:
            description: An array of related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).
            type: array
            readOnly: true
            items:
              $ref: '#/components/schemas/link_description'
      - $ref: '#/components/schemas/activity_timestamps'
    activity_timestamps:
      type: object
      description: The date and time stamps that are common to authorized payment, captured payment, and refund transactions.
      title: Transaction Date and Time Stamps
      properties:
        create_time:
          description: The date and time when the transaction occurred, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
          readOnly: true
          $ref: '#/components/schemas/date_time'
        update_time:
          description: The date and time when the transaction was last updated, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
          readOnly: true
          $ref: '#/components/schemas/date_time'
    error_401:
      type: object
      title: Unauthorized Error
      description: Authentication failed due to missing Authorization header, or invalid authentication credentials.
      properties:
        name:
          type: string
          enum:
          - AUTHENTICATION_FAILURE
        message:
          type: string
          enum:
          - Authentication failed due to missing authorization header, or invalid authentication credentials.
        details:
          type: array
          items:
            $ref: '#/components/schemas/error_details'
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: '#/components/schemas/error_link_description'
    disbursement_mode:
      type: string
      title: Disbursement Mode
      description: The funds that are held on behalf of the merchant.
      default: INSTANT
      minLength: 1
      maxLength: 16
      pattern: ^[A-Z_]+$
      enum:
      - INSTANT
      - DELAYED
    refund_request:
      title: Refund Request
      type: object
      description: Refunds a captured payment, by ID. For a full refund, include an empty request body. For a partial refund, include an <code>amount</code> object in the request body.
      properties:
        amount:
          description: The amount to refund. To refund a portion of the captured amount, specify an amount. If amount is not specified, an amount equal to <code>captured amount - previous refunds</code> is refunded. The amount must be a positive number and in the same currency as the one in which the payment was captured.
          $ref: '#/components/schemas/money'
        custom_id:
          type: string
          description: The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports. The pattern is defined by an external party and supports Unicode.
          minLength: 1
          maxLength: 127
          pattern: ^.*$
        invoice_id:
          type: string
          description: The API caller-provided external invoice ID for this order. The pattern is defined by an external party and supports Unicode.
          minLength: 1
          maxLength: 127
          pattern: ^.*$
        note_to_payer:
          type: string
          description: The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives. The pattern is defined by an external party and supports Unicode.
          minLength: 1
          maxLength: 255
          pattern: ^.*$
        payment_instruction:
          description: Any additional refund instructions to be set during refund payment processing. This object is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.
          $ref: '#/components/schemas/payment_instruction-2'
    captures.refund-400:
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: MISSING_REQUIRED_PARAMETER
              properties:
                issue:
                  type: string
                  enum:
                  - MISSING_REQUIRED_PARAMETER
                description:
                  type: string
            - title: INVALID_PARAMETER_SYNTAX
              properties:
                issue:
                  type: string
                  enum:
                  - INVALID_PARAMETER_SYNTAX
                description:
                  type: string
            - title: INVALID_STRING_LENGTH
              properties:
                issue:
                  type: string
                  enum:
                  - INVALID_STRING_LENGTH
                description:
                  type: string
    seller_protection:
      type: object
      description: The level of protection offered as defined by [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).
      title: Seller Protection
      properties:
        status:
          type: string
          description: Indicates whether the transaction is eligible for seller protection. For information, see [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).
          readOnly: true
          enum:
          - ELIGIBLE
          - PARTIALLY_ELIGIBLE
          - NOT_ELIGIBLE
        dispute_categories:
          type: array
          description: An array of conditions that are covered for the transaction.
          items:
            type: string
            description: The condition that is covered for the transaction.
            enum:
            - ITEM_NOT_RECEIVED
            - UNAUTHORIZED_TRANSACTION
          readOnly: true
    capture_status_details:
      title: Capture Status Details
      description: The details of the captured payment status.
      type: object
      

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paypal/refs/heads/main/openapi/paypal-captures-api-openapi.yml