> ## Documentation Index
> Fetch the complete documentation index at: https://paypal-sb-staging.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Capture authorized payment

> Captures an authorized payment, by ID.



## OpenAPI

````yaml api-reference/payments_payment_v2.json post /v2/payments/authorizations/{authorization_id}/capture
openapi: 3.0.3
info:
  title: Payments
  description: >-
    Call the Payments API to authorize payments, capture authorized payments,
    refund payments that have already been captured, and show payment
    information. Use the Payments API in conjunction with the <a
    href="/docs/api/orders/v2/">Orders API</a>. For more information, see the <a
    href="/docs/checkout/">PayPal Checkout Overview</a>.
  version: '2.9'
  contact: {}
servers:
  - url: https://api-m.sandbox.paypal.com
    description: PayPal Sandbox Environment
  - url: https://api-m.paypal.com
    description: PayPal Live Environment
security: []
tags:
  - name: authorizations
    description: >-
      Use the `/authorizations` resource to show details for, capture payment
      for, reauthorize, and void authorized payments.
  - name: captures
    description: >-
      Use the `/captures` resource to show details for and refund a captured
      payment.
  - name: refunds
    description: Use the `/refunds` resource to show refund details.
  - name: assets
    description: Assets APIs for Checkout
  - name: cancel-payment
    description: >-
      Use the <code>/cancel-payment</code> resource to cancel an order capture
      or order authorization by <code>PayPal-Request-Id</code>. The merchant
      triggers the cancel action.
  - name: find-eligible-methods
    description: >-
      Use the `/find-eligible-methods` resource to show list of eligible payment
      methods for given customer/order context.
  - name: payment-resource-operations
    description: >-
      Use the `/payment-resource-operations` resource to show verifications
      details.
  - name: find-bin-details
    description: >-
      Use the `/find-bin-details` resource to determine PayPal supported
      networks and retrieve BIN details for given card and payee.
externalDocs:
  url: https://developer.paypal.com/docs/api/payments/v2/
paths:
  /v2/payments/authorizations/{authorization_id}/capture:
    post:
      tags:
        - authorizations
      summary: Capture authorized payment
      description: Captures an authorized payment, by ID.
      operationId: authorizations.capture
      parameters:
        - $ref: '#/components/parameters/authorization_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/capture_request'
            examples:
              capture_request:
                value:
                  amount:
                    value: '10.99'
                    currency_code: USD
                  invoice_id: INVOICE-123
                  final_capture: true
                  note_to_payer: >-
                    If the ordered color is not available, we will substitute
                    with a different color free of charge.
                  soft_descriptor: Bob's Custom Sweaters
      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'
        '201':
          description: >-
            A successful request returns the HTTP <code>201 Created</code>
            status code and a JSON response body that shows captured payment
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture-2'
        '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/400'
        '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'
        '409':
          description: The server has detected a conflict while processing this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_409'
        '422':
          description: >-
            The request failed because it is semantically incorrect or failed
            business validation.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/error_422'
                  - $ref: '#/components/schemas/422'
        '500':
          description: The request failed because an internal server error occurred.
        default:
          $ref: '#/components/responses/default'
      security:
        - Oauth2:
            - https://uri.paypal.com/services/payments/payment/authcapture
components:
  parameters:
    authorization_id:
      name: authorization_id
      in: path
      description: The PayPal-generated ID for the authorized payment to void.
      required: true
      schema:
        type: string
    paypal_request_id:
      name: PayPal-Request-Id
      in: header
      description: The server stores keys for 45 days.
      required: false
      schema:
        type: string
    prefer:
      name: Prefer
      in: header
      description: >-
        The preferred server response upon successful completion of the request.
        Value is:<ul><li><code>return=minimal</code>. The server returns a
        minimal response to optimize communication between the API caller and
        the server. A minimal response includes the <code>id</code>,
        <code>status</code> and HATEOAS
        links.</li><li><code>return=representation</code>. The server returns a
        complete resource representation, including the current state of the
        resource.</li></ul>
      required: false
      schema:
        type: string
        default: return=minimal
    paypal_auth_assertion:
      name: PayPal-Auth-Assertion
      in: header
      description: >-
        An API-caller-provided JSON Web Token (JWT) assertion that identifies
        the merchant. For details, see
        [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-assertion).<blockquote><strong>Note:</strong>For
        three party transactions in which a partner is managing the API calls on
        behalf of a merchant, the partner must identify the merchant using
        either a PayPal-Auth-Assertion header or an access token with
        target_subject.</blockquote>
      required: false
      schema:
        type: string
  schemas:
    '400':
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: INVALID_PARAMETER_VALUE
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_PARAMETER_VALUE
                  description:
                    type: string
                    enum:
                      - The value of a field is invalid.
              - title: MISSING_REQUIRED_PARAMETER
                properties:
                  issue:
                    type: string
                    enum:
                      - MISSING_REQUIRED_PARAMETER
                  description:
                    type: string
                    enum:
                      - A required field / parameter is missing.
              - title: INVALID_STRING_LENGTH
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_STRING_LENGTH
                  description:
                    type: string
                    enum:
                      - The value of a field is either too short or too long.
              - title: INVALID_STRING_MAX_LENGTH
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_STRING_MAX_LENGTH
                  description:
                    type: string
                    enum:
                      - The value of a field is too long.
              - title: INVALID_PARAMETER_SYNTAX
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_PARAMETER_SYNTAX
                  description:
                    type: string
                    enum:
                      - >-
                        The value of a field does not conform to the expected
                        format.
    '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.
    '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.
    '422':
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: INVALID_CURRENCY_CODE
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_CURRENCY_CODE
                  description:
                    type: string
                    enum:
                      - >-
                        Currency code is invalid or is not currently supported.
                        Please refer
                        https://developer.paypal.com/docs/api/reference/currency-codes/
                        for list of supported currency codes.
              - title: CANNOT_BE_ZERO_OR_NEGATIVE
                properties:
                  issue:
                    type: string
                    enum:
                      - CANNOT_BE_ZERO_OR_NEGATIVE
                  description:
                    type: string
                    enum:
                      - >-
                        Must be greater than zero. If the currency supports
                        decimals, only two decimal place precision is supported.
              - title: DECIMAL_PRECISION
                properties:
                  issue:
                    type: string
                    enum:
                      - DECIMAL_PRECISION
                  description:
                    type: string
                    enum:
                      - >-
                        If the currency supports decimals, only two decimal
                        place precision is supported.
              - title: DECIMALS_NOT_SUPPORTED
                properties:
                  issue:
                    type: string
                    enum:
                      - DECIMALS_NOT_SUPPORTED
                  description:
                    type: string
                    enum:
                      - >-
                        Currency does not support decimals. Please refer to
                        https://developer.paypal.com/docs/api/reference/currency-codes/
                        for more information.
              - title: TRANSACTION_REFUSED
                properties:
                  issue:
                    type: string
                    enum:
                      - TRANSACTION_REFUSED
                  description:
                    type: string
                    enum:
                      - >-
                        PayPal's internal controls prevent authorization from
                        being captured.
              - title: AUTHORIZATION_VOIDED
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTHORIZATION_VOIDED
                  description:
                    type: string
                    enum:
                      - >-
                        A voided authorization cannot be captured or
                        reauthorized. 
              - title: MAX_CAPTURE_COUNT_EXCEEDED
                properties:
                  issue:
                    type: string
                    enum:
                      - MAX_CAPTURE_COUNT_EXCEEDED
                  description:
                    type: string
                    enum:
                      - >-
                        Maxmimum number of allowable captures has been reached.
                        No additional captures are possible for this
                        authorization. Contact Customer Service or your account
                        manager to change the number of captures for a given
                        authorization.
              - title: DUPLICATE_INVOICE_ID
                properties:
                  issue:
                    type: string
                    enum:
                      - DUPLICATE_INVOICE_ID
                  description:
                    type: string
                    enum:
                      - >-
                        Requested invoice_id has been previously captured.
                        Possible duplicate transaction.
              - title: AUTH_CAPTURE_CURRENCY_MISMATCH
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTH_CAPTURE_CURRENCY_MISMATCH
                  description:
                    type: string
                    enum:
                      - >-
                        Currency of capture must be the same as currency of
                        authorization.
              - title: PAYER_CANNOT_PAY
                properties:
                  issue:
                    type: string
                    enum:
                      - PAYER_CANNOT_PAY
                  description:
                    type: string
                    enum:
                      - >-
                        Payer cannot pay for this transaction. Please contact
                        the payer to find other ways to pay for this
                        transaction.
              - title: AUTHORIZATION_DENIED
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTHORIZATION_DENIED
                  description:
                    type: string
                    enum:
                      - An denied authorization cannot be captured.
              - title: AUTHORIZATION_EXPIRED
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTHORIZATION_EXPIRED
                  description:
                    type: string
                    enum:
                      - An expired authorization cannot be captured.
              - title: AUTHORIZATION_ALREADY_CAPTURED
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTHORIZATION_ALREADY_CAPTURED
                  description:
                    type: string
                    enum:
                      - Authorization has previously been captured.
              - title: MAX_CAPTURE_AMOUNT_EXCEEDED
                properties:
                  issue:
                    type: string
                    enum:
                      - MAX_CAPTURE_AMOUNT_EXCEEDED
                  description:
                    type: string
                    enum:
                      - >-
                        Capture amount exceeds allowable limit. Please contact
                        customer service or your account manager to request the
                        change to your overage limit. The default overage limit
                        is 115%, which allows the sum of all captures to be up
                        to 115% of the order amount. The ability to over capture
                        is subjected to regulatory approvals.
              - title: TRANSACTION_REFUSED
                properties:
                  issue:
                    type: string
                    enum:
                      - TRANSACTION_REFUSED
                  description:
                    type: string
                    enum:
                      - >-
                        PayPal's internal controls prevent authorization from
                        being captured.
              - title: PAYEE_ACCOUNT_LOCKED_OR_CLOSED
                properties:
                  issue:
                    type: string
                    enum:
                      - PAYEE_ACCOUNT_LOCKED_OR_CLOSED
                  description:
                    type: string
                    enum:
                      - >-
                        Transaction could not complete because payee account is
                        locked or closed.
              - title: PAYER_ACCOUNT_LOCKED_OR_CLOSED
                properties:
                  issue:
                    type: string
                    enum:
                      - PAYER_ACCOUNT_LOCKED_OR_CLOSED
                  description:
                    type: string
                    enum:
                      - The payer account cannot be used for this transaction.
              - title: PAYEE_ACCOUNT_RESTRICTED
                properties:
                  issue:
                    type: string
                    enum:
                      - PAYEE_ACCOUNT_RESTRICTED
                  description:
                    type: string
                    enum:
                      - Payee account is restricted.
              - title: COMPLIANCE_VIOLATION
                properties:
                  issue:
                    type: string
                    enum:
                      - COMPLIANCE_VIOLATION
                  description:
                    type: string
                    enum:
                      - Transaction is declined due to compliance violation.
              - title: DUPLICATE_TRANSACTION
                properties:
                  issue:
                    type: string
                    enum:
                      - DUPLICATE_TRANSACTION
                  description:
                    type: string
                    enum:
                      - Duplicate invoice Id detected.
    capture_request:
      allOf:
        - $ref: '#/components/schemas/supplementary_purchase_data'
        - properties:
            amount:
              $ref: '#/components/schemas/money'
              description: >-
                The amount to capture. To capture a portion of the full
                authorized amount, specify an amount. If amount is not
                specified, the full authorized amount is captured. The amount
                must be a positive number and in the same currency as the
                authorization against which the payment is being captured.
            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
              maxLength: 127
            final_capture:
              description: >-
                Indicates whether you can make additional captures against the
                authorized payment. Set to `true` if you do not intend to
                capture additional payments against the authorization. Set to
                `false` if you intend to capture additional payments against the
                authorization.
              type: boolean
              default: false
            payment_instruction:
              type: object
              title: Payment Instruction
              description: >-
                Any additional payment instructions to be consider during
                payment processing. This processing instruction is applicable
                for Capturing an order or Authorizing an Order.
              properties:
                platform_fees:
                  $ref: '#/components/schemas/platform_fee_list'
                disbursement_mode:
                  $ref: '#/components/schemas/disbursement_mode'
                  description: >-
                    The funds that are held payee by the marketplace/platform.
                    This field is only applicable to merchants that been enabled
                    for PayPal Complete Payments Platform for Marketplaces and
                    Platforms capability.
                payee_receivable_fx_rate_id:
                  type: string
                  description: >-
                    FX identifier generated returned by PayPal to be used for
                    payment processing in order to honor FX rate (for eligible
                    integrations) to be used when amount is settled/received
                    into the payee account.
                  maxLength: 4000
                  minLength: 1
                  pattern: ^.*$
            note_to_payer:
              description: >-
                An informational note about this settlement. Appears in both the
                payer's transaction history and the emails that the payer
                receives.
              type: string
              maxLength: 255
            soft_descriptor:
              description: The payment descriptor on the payer's account statement.
              type: string
              maxLength: 22
        - title: Capture Request
          type: object
          description: >-
            Captures either a portion or the full authorized amount of an
            authorized payment.
    capture-2:
      type: object
      title: Captured Payment
      description: A captured payment.
      allOf:
        - $ref: '#/components/schemas/capture'
        - properties:
            supplementary_data:
              $ref: '#/components/schemas/supplementary_data'
              description: >-
                An object that provides supplementary/additional data related to
                a payment transaction.
              readOnly: true
            payee:
              $ref: '#/components/schemas/payee_base'
              description: The details associated with the merchant for this transaction.
              readOnly: true
    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'
    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'
    error_403:
      type: object
      title: Not Authorized Error
      description: >-
        The client is not authorized to access this resource, although it may
        have valid credentials. 
      properties:
        name:
          type: string
          enum:
            - NOT_AUTHORIZED
        message:
          type: string
          enum:
            - Authorization failed due to insufficient permissions.
        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'
    error_404:
      type: object
      title: Not found Error
      description: >-
        The server has not found anything matching the request URI. This either
        means that the URI is incorrect or the resource is not available.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_NOT_FOUND
        message:
          type: string
          enum:
            - The specified resource does not exist.
        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'
    error_409:
      type: object
      title: Resource Conflict Error
      description: The server has detected a conflict while processing this request.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_CONFLICT
        message:
          type: string
          enum:
            - The server has detected a conflict while processing this request.
        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'
    error_422:
      type: object
      title: Unprocessable Entity Error
      description: >-
        The requested action cannot be performed and may require interaction
        with APIs or processes outside of the current request. This is distinct
        from a 500 response in that there are no systemic problems limiting the
        API from performing the request.
      properties:
        name:
          type: string
          enum:
            - UNPROCESSABLE_ENTITY
        message:
          type: string
          enum:
            - >-
              The requested action could not be performed, semantically
              incorrect, or failed business validation.
        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'
    supplementary_purchase_data:
      type: object
      title: Capture Identifier
      description: >-
        The capture identification-related fields. Includes the invoice ID,
        custom ID, note to payer, and soft descriptor.
      properties:
        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
          maxLength: 127
          minLength: 1
          pattern: ^.{1,127}$
        note_to_payer:
          type: string
          description: >-
            An informational note about this settlement. Appears in both the
            payer's transaction history and the emails that the payer receives.
          maxLength: 255
          minLength: 1
          pattern: ^.{1,255}$
    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
    platform_fee_list:
      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'
    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_]+$
      x-enumDescriptions:
        - value: INSTANT
          description: The funds are released to the merchant immediately.
          default: INSTANT
        - value: DELAYED
          description: >-
            The funds are held for a finite number of days. The actual duration
            depends on the region and type of integration. You can release the
            funds through a referenced payout. Otherwise, the funds disbursed
            automatically after the specified duration.
      enum:
        - INSTANT
        - DELAYED
    capture:
      type: object
      title: Capture
      description: A captured payment.
      allOf:
        - $ref: '#/components/schemas/capture_status'
        - properties:
            id:
              description: The PayPal-generated ID for the captured payment.
              type: string
              readOnly: true
            amount:
              $ref: '#/components/schemas/money'
              description: The amount for this captured payment.
              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.
              maxLength: 255
            network_transaction_reference:
              $ref: '#/components/schemas/network_transaction'
            seller_protection:
              $ref: '#/components/schemas/seller_protection'
              readOnly: true
            final_capture:
              description: >-
                Indicates whether you can make additional captures against the
                authorized payment. Set to `true` if you do not intend to
                capture additional payments against the authorization. Set to
                `false` if you intend to capture additional payments against the
                authorization.
              type: boolean
              default: false
              readOnly: true
            seller_receivable_breakdown:
              $ref: '#/components/schemas/seller_receivable_breakdown'
              readOnly: true
            disbursement_mode:
              $ref: '#/components/schemas/disbursement_mode'
            links:
              $ref: '#/components/schemas/link_description_list'
            processor_response:
              $ref: '#/components/schemas/processor_response'
              description: >-
                An object that provides additional processor information for a
                direct credit card transaction.
        - $ref: '#/components/schemas/activity_timestamps'
    supplementary_data:
      title: Payment Supplementary Data
      type: object
      description: The supplementary data.
      properties:
        related_ids:
          $ref: '#/components/schemas/related_ids'
          description: Identifiers related to a specific resource.
          readOnly: true
    payee_base:
      type: object
      title: Payee 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:
          $ref: '#/components/schemas/email'
          description: The email address of merchant.
        merchant_id:
          $ref: '#/components/schemas/account_id'
          description: The encrypted PayPal account ID of the merchant.
    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
    error_link_description:
      title: Link Description
      description: >-
        The request-related [HATEOAS link](/api/rest/responses/#hateoas-links)
        information.
      type: object
      required:
        - href
        - rel
      properties:
        href:
          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.
          type: string
          minLength: 0
          maxLength: 20000
          pattern: ^.*$
        rel:
          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).
          type: string
          minLength: 0
          maxLength: 100
          pattern: ^.*$
        method:
          description: The HTTP method required to make the related call.
          type: string
          minLength: 3
          maxLength: 6
          pattern: ^[A-Z]*$
          enum:
            - GET
            - POST
            - PUT
            - DELETE
            - PATCH
    error_default:
      description: The default error response.
      oneOf:
        - $ref: '#/components/schemas/error_400'
        - $ref: '#/components/schemas/error_401'
        - $ref: '#/components/schemas/error_403'
        - $ref: '#/components/schemas/error_404'
        - $ref: '#/components/schemas/error_409'
        - $ref: '#/components/schemas/error_415'
        - $ref: '#/components/schemas/error_422'
        - $ref: '#/components/schemas/error_429'
        - $ref: '#/components/schemas/error_500'
        - $ref: '#/components/schemas/error_503'
    currency_code:
      description: >-
        The [three-character ISO-4217 currency
        code](/api/rest/reference/currency-codes/) that identifies the currency.
      type: string
      minLength: 3
      maxLength: 3
      x-security-classification:
        data_class: class4
        data_category: INTRINSIC
    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:
          $ref: '#/components/schemas/money'
          description: The fee for this transaction.
        payee:
          $ref: '#/components/schemas/payee_base'
          description: >-
            The recipient of the fee for this transaction. If you omit this
            value, the default is the API caller.
      required:
        - amount
    capture_status:
      type: object
      title: Capture Status With Details
      description: The status and status details of a captured payment.
      properties:
        status:
          title: Capture Status
          description: The status of the captured payment.
          type: string
          x-enumDescriptions:
            - value: COMPLETED
              description: >-
                The funds for this captured payment were credited to the payee's
                PayPal account.
            - value: DECLINED
              description: The funds could not be captured.
            - value: PARTIALLY_REFUNDED
              description: >-
                An amount less than this captured payment's amount was partially
                refunded to the payer.
            - value: PENDING
              description: >-
                The funds for this captured payment was not yet credited to the
                payee's PayPal account. For more information, see
                <code>status.details</code>.
            - value: REFUNDED
              description: >-
                An amount greater than or equal to this captured payment's
                amount was refunded to the payer.
            - value: FAILED
              description: There was an error while capturing payment.
          readOnly: true
          enum:
            - COMPLETED
            - DECLINED
            - PARTIALLY_REFUNDED
            - PENDING
            - REFUNDED
            - FAILED
        status_details:
          $ref: '#/components/schemas/capture_status_details'
          description: The details of the captured payment status.
          readOnly: true
    network_transaction:
      type: object
      title: Network Transaction
      description: Reference values used by the card network to identify a transaction.
      properties:
        id:
          type: string
          minLength: 9
          maxLength: 36
          pattern: ^[a-zA-Z0-9-_@.:&+=*^'~#!$%()]+$
          description: >-
            Transaction reference id returned by the scheme. For Visa and Amex,
            this is the "Tran id" field in response. For MasterCard, this is the
            "BankNet reference id" field in response. For Discover, this is the
            "NRID" field in response. The pattern we expect for this field from
            Visa/Amex/CB/Discover is numeric, Mastercard/BNPP is alphanumeric
            and Paysecure is alphanumeric with special character -.
        date:
          type: string
          minLength: 4
          maxLength: 4
          pattern: ^[0-9]+$
          description: >-
            The date that the transaction was authorized by the scheme. This
            field may not be returned for all networks. MasterCard refers to
            this field as "BankNet reference date.
        network:
          $ref: '#/components/schemas/card_brand'
          description: Name of the card network through which the transaction was routed.
        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]+$
    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:
          title: Seller Protection 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).
          x-enumDescriptions:
            - value: ELIGIBLE
              description: >-
                Your PayPal balance remains intact if the customer claims that
                they did not receive an item or the account holder claims that
                they did not authorize the payment.
            - value: PARTIALLY_ELIGIBLE
              description: >-
                Your PayPal balance remains intact if the customer claims that
                they did not receive an item.
            - value: NOT_ELIGIBLE
              description: This transaction is not eligible for seller protection.
          readOnly: true
          enum:
            - ELIGIBLE
            - PARTIALLY_ELIGIBLE
            - NOT_ELIGIBLE
        dispute_categories:
          $ref: '#/components/schemas/dispute_categories_list'
    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:
          $ref: '#/components/schemas/money'
          description: >-
            The amount for this captured payment in the currency of the
            transaction.
        paypal_fee:
          $ref: '#/components/schemas/money'
          description: >-
            The applicable fee for this captured payment in the currency of the
            transaction.
        paypal_fee_in_receivable_currency:
          $ref: '#/components/schemas/money'
          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'.
        net_amount:
          $ref: '#/components/schemas/money'
          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>.
        receivable_amount:
          $ref: '#/components/schemas/money'
          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>.
        exchange_rate:
          $ref: '#/components/schemas/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.
        platform_fees:
          $ref: '#/components/schemas/platform_fee_list'
      required:
        - gross_amount
    link_description_list:
      description: >-
        An array of related [HATEOAS
        links](/docs/api/reference/api-responses/#hateoas-links).
      type: array
      readOnly: true
      items:
        $ref: '#/components/schemas/link_description'
    processor_response:
      type: object
      title: Processor Response
      description: >-
        The processor response information for payment requests, such as direct
        credit card transactions.
      properties:
        avs_code:
          description: >-
            The address verification code for Visa, Discover, Mastercard, or
            American Express transactions.
          type: string
          readOnly: true
          x-enumDescriptions:
            - value: A
              description: >-
                For Visa, Mastercard, or Discover transactions, the address
                matches but the zip code does not match. For American Express
                transactions, the card holder address is correct.
            - value: B
              description: >-
                For Visa, Mastercard, or Discover transactions, the address
                matches. International A.
            - value: C
              description: >-
                For Visa, Mastercard, or Discover transactions, no values match.
                International N.
            - value: D
              description: >-
                For Visa, Mastercard, or Discover transactions, the address and
                postal code match. International X.
            - value: E
              description: >-
                For Visa, Mastercard, or Discover transactions, not allowed for
                Internet or phone transactions. For American Express card
                holder, the name is incorrect but the address and postal code
                match.
            - value: F
              description: >-
                For Visa, Mastercard, or Discover transactions, the address and
                postal code match. UK-specific X. For American Express card
                holder, the name is incorrect but the address matches.
            - value: G
              description: >-
                For Visa, Mastercard, or Discover transactions, global is
                unavailable. Nothing matches.
            - value: I
              description: >-
                For Visa, Mastercard, or Discover transactions, international is
                unavailable. Not applicable.
            - value: M
              description: >-
                For Visa, Mastercard, or Discover transactions, the address and
                postal code match. For American Express card holder, the name,
                address, and postal code match.
            - value: 'N'
              description: >-
                For Visa, Mastercard, or Discover transactions, nothing matches.
                For American Express card holder, the address and postal code
                are both incorrect.
            - value: P
              description: >-
                For Visa, Mastercard, or Discover transactions, postal
                international Z. Postal code only.
            - value: R
              description: >-
                For Visa, Mastercard, or Discover transactions, re-try the
                request. For American Express, the system is unavailable.
            - value: S
              description: >-
                For Visa, Mastercard, Discover, or American Express, the service
                is not supported.
            - value: U
              description: >-
                For Visa, Mastercard, or Discover transactions, the service is
                unavailable. For American Express, information is not available.
                For Maestro, the address is not checked or the acquirer had no
                response. The service is not available.
            - value: W
              description: >-
                For Visa, Mastercard, or Discover transactions, whole ZIP code.
                For American Express, the card holder name, address, and postal
                code are all incorrect.
            - value: X
              description: >-
                For Visa, Mastercard, or Discover transactions, exact match of
                the address and the nine-digit ZIP code. For American Express,
                the card holder name, address, and postal code are all
                incorrect.
            - value: 'Y'
              description: >-
                For Visa, Mastercard, or Discover transactions, the address and
                five-digit ZIP code match. For American Express, the card holder
                address and postal code are both correct.
            - value: Z
              description: >-
                For Visa, Mastercard, or Discover transactions, the five-digit
                ZIP code matches but no address. For American Express, only the
                card holder postal code is correct.
            - value: 'Null'
              description: For Maestro, no AVS response was obtained.
            - value: '0'
              description: For Maestro, all address information matches.
            - value: '1'
              description: For Maestro, none of the address information matches.
            - value: '2'
              description: For Maestro, part of the address information matches.
            - value: '3'
              description: >-
                For Maestro, the merchant did not provide AVS information. It
                was not processed.
            - value: '4'
              description: >-
                For Maestro, the address was not checked or the acquirer had no
                response. The service is not available.
          enum:
            - A
            - B
            - C
            - D
            - E
            - F
            - G
            - I
            - M
            - 'N'
            - P
            - R
            - S
            - U
            - W
            - X
            - 'Y'
            - Z
            - 'Null'
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
        cvv_code:
          description: >-
            The card verification value code for for Visa, Discover, Mastercard,
            or American Express.
          type: string
          readOnly: true
          x-enumDescriptions:
            - value: E
              description: >-
                For Visa, Mastercard, Discover, or American Express, error -
                unrecognized or unknown response.
            - value: I
              description: >-
                For Visa, Mastercard, Discover, or American Express, invalid or
                null.
            - value: M
              description: >-
                For Visa, Mastercard, Discover, or American Express, the
                CVV2/CSC matches.
            - value: 'N'
              description: >-
                For Visa, Mastercard, Discover, or American Express, the
                CVV2/CSC does not match.
            - value: P
              description: >-
                For Visa, Mastercard, Discover, or American Express, it was not
                processed.
            - value: S
              description: >-
                For Visa, Mastercard, Discover, or American Express, the service
                is not supported.
            - value: U
              description: >-
                For Visa, Mastercard, Discover, or American Express, unknown -
                the issuer is not certified.
            - value: X
              description: >-
                For Visa, Mastercard, Discover, or American Express, no
                response. For Maestro, the service is not available.
            - value: All others
              description: For Visa, Mastercard, Discover, or American Express, error.
            - value: '0'
              description: For Maestro, the CVV2 matched.
            - value: '1'
              description: For Maestro, the CVV2 did not match.
            - value: '2'
              description: >-
                For Maestro, the merchant has not implemented CVV2 code
                handling.
            - value: '3'
              description: >-
                For Maestro, the merchant has indicated that CVV2 is not present
                on card.
            - value: '4'
              description: For Maestro, the service is not available.
          enum:
            - E
            - I
            - M
            - 'N'
            - P
            - S
            - U
            - X
            - All others
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
        response_code:
          description: Processor response code for the non-PayPal payment processor errors.
          type: string
          readOnly: true
          x-enumDescriptions:
            - value: '0000'
              description: APPROVED.
            - value: 00N7
              description: CVV2_FAILURE_POSSIBLE_RETRY_WITH_CVV.
            - value: '0100'
              description: REFERRAL.
            - value: '0390'
              description: ACCOUNT_NOT_FOUND.
            - value: '0500'
              description: DO_NOT_HONOR.
            - value: '0580'
              description: UNAUTHORIZED_TRANSACTION.
            - value: '0800'
              description: BAD_RESPONSE_REVERSAL_REQUIRED.
            - value: '0880'
              description: CRYPTOGRAPHIC_FAILURE.
            - value: '0890'
              description: UNACCEPTABLE_PIN.
            - value: '0960'
              description: SYSTEM_MALFUNCTION.
            - value: 0R00
              description: CANCELLED_PAYMENT.
            - value: '1000'
              description: PARTIAL_AUTHORIZATION.
            - value: 10BR
              description: ISSUER_REJECTED.
            - value: '1300'
              description: INVALID_DATA_FORMAT.
            - value: '1310'
              description: INVALID_AMOUNT.
            - value: '1312'
              description: INVALID_TRANSACTION_CARD_ISSUER_ACQUIRER.
            - value: '1317'
              description: INVALID_CAPTURE_DATE.
            - value: '1320'
              description: INVALID_CURRENCY_CODE.
            - value: '1330'
              description: INVALID_ACCOUNT.
            - value: '1335'
              description: INVALID_ACCOUNT_RECURRING.
            - value: '1340'
              description: INVALID_TERMINAL.
            - value: '1350'
              description: INVALID_MERCHANT.
            - value: '1352'
              description: RESTRICTED_OR_INACTIVE_ACCOUNT.
            - value: '1360'
              description: BAD_PROCESSING_CODE.
            - value: '1370'
              description: INVALID_MCC.
            - value: '1380'
              description: INVALID_EXPIRATION.
            - value: '1382'
              description: INVALID_CARD_VERIFICATION_VALUE.
            - value: '1384'
              description: INVALID_LIFE_CYCLE_OF_TRANSACTION.
            - value: '1390'
              description: INVALID_ORDER.
            - value: '1393'
              description: TRANSACTION_CANNOT_BE_COMPLETED.
            - value: '5100'
              description: GENERIC_DECLINE.
            - value: '5110'
              description: CVV2_FAILURE.
            - value: '5120'
              description: INSUFFICIENT_FUNDS.
            - value: '5130'
              description: INVALID_PIN.
            - value: '5135'
              description: DECLINED_PIN_TRY_EXCEEDED.
            - value: '5140'
              description: CARD_CLOSED.
            - value: '5150'
              description: >-
                PICKUP_CARD_SPECIAL_CONDITIONS. Try using another card. Do not
                retry the same card.
            - value: '5160'
              description: UNAUTHORIZED_USER.
            - value: '5170'
              description: AVS_FAILURE.
            - value: '5180'
              description: >-
                INVALID_OR_RESTRICTED_CARD. Try using another card. Do not retry
                the same card.
            - value: '5190'
              description: SOFT_AVS.
            - value: '5200'
              description: DUPLICATE_TRANSACTION.
            - value: '5210'
              description: INVALID_TRANSACTION.
            - value: '5400'
              description: EXPIRED_CARD.
            - value: '5500'
              description: INCORRECT_PIN_REENTER.
            - value: '5650'
              description: DECLINED_SCA_REQUIRED.
            - value: '5700'
              description: >-
                TRANSACTION_NOT_PERMITTED. Outside of scope of accepted
                business.
            - value: '5710'
              description: TX_ATTEMPTS_EXCEED_LIMIT.
            - value: '5800'
              description: REVERSAL_REJECTED.
            - value: '5900'
              description: INVALID_ISSUE.
            - value: '5910'
              description: ISSUER_NOT_AVAILABLE_NOT_RETRIABLE.
            - value: '5920'
              description: ISSUER_NOT_AVAILABLE_RETRIABLE.
            - value: '5930'
              description: CARD_NOT_ACTIVATED.
            - value: '5950'
              description: >-
                DECLINED_DUE_TO_UPDATED_ACCOUNT. External decline as an updated
                card has been issued.
            - value: '6300'
              description: ACCOUNT_NOT_ON_FILE.
            - value: '7600'
              description: APPROVED_NON_CAPTURE.
            - value: '7700'
              description: ERROR_3DS.
            - value: '7710'
              description: AUTHENTICATION_FAILED.
            - value: '7800'
              description: BIN_ERROR.
            - value: '7900'
              description: PIN_ERROR.
            - value: '8000'
              description: PROCESSOR_SYSTEM_ERROR.
            - value: '8010'
              description: HOST_KEY_ERROR.
            - value: '8020'
              description: CONFIGURATION_ERROR.
            - value: '8030'
              description: UNSUPPORTED_OPERATION.
            - value: '8100'
              description: FATAL_COMMUNICATION_ERROR.
            - value: '8110'
              description: RETRIABLE_COMMUNICATION_ERROR.
            - value: '8220'
              description: SYSTEM_UNAVAILABLE.
            - value: '9100'
              description: DECLINED_PLEASE_RETRY. Retry.
            - value: '9500'
              description: >-
                SUSPECTED_FRAUD. Try using another card. Do not retry the same
                card.
            - value: '9510'
              description: SECURITY_VIOLATION.
            - value: '9520'
              description: >-
                LOST_OR_STOLEN. Try using another card. Do not retry the same
                card.
            - value: '9530'
              description: >-
                HOLD_CALL_CENTER. The merchant must call the number on the back
                of the card. POS scenario.
            - value: '9540'
              description: REFUSED_CARD.
            - value: '9600'
              description: UNRECOGNIZED_RESPONSE_CODE.
            - value: PCNR
              description: CONTINGENCIES_NOT_RESOLVED.
            - value: PCVV
              description: CVV_FAILURE.
            - value: PP06
              description: ACCOUNT_CLOSED. A previously open account is now closed
            - value: PPRN
              description: REATTEMPT_NOT_PERMITTED.
            - value: PPAD
              description: BILLING_ADDRESS.
            - value: PPAB
              description: ACCOUNT_BLOCKED_BY_ISSUER.
            - value: PPAE
              description: AMEX_DISABLED.
            - value: PPAG
              description: ADULT_GAMING_UNSUPPORTED.
            - value: PPAI
              description: AMOUNT_INCOMPATIBLE.
            - value: PPAR
              description: AUTH_RESULT.
            - value: PPAU
              description: MCC_CODE.
            - value: PPAV
              description: ARC_AVS.
            - value: PPAX
              description: AMOUNT_EXCEEDED.
            - value: PPBG
              description: BAD_GAMING.
            - value: PPC2
              description: ARC_CVV.
            - value: PPCE
              description: CE_REGISTRATION_INCOMPLETE.
            - value: PPCO
              description: COUNTRY.
            - value: PPCR
              description: CREDIT_ERROR.
            - value: PPCT
              description: CARD_TYPE_UNSUPPORTED.
            - value: PPCU
              description: CURRENCY_USED_INVALID.
            - value: PPD3
              description: SECURE_ERROR_3DS.
            - value: PPDC
              description: DCC_UNSUPPORTED.
            - value: PPDI
              description: DINERS_REJECT.
            - value: PPDV
              description: AUTH_MESSAGE.
            - value: PPDT
              description: DECLINE_THRESHOLD_BREACH.
            - value: PPEF
              description: EXPIRED_FUNDING_INSTRUMENT.
            - value: PPEL
              description: EXCEEDS_FREQUENCY_LIMIT.
            - value: PPER
              description: INTERNAL_SYSTEM_ERROR.
            - value: PPEX
              description: EXPIRY_DATE.
            - value: PPFE
              description: FUNDING_SOURCE_ALREADY_EXISTS.
            - value: PPFI
              description: INVALID_FUNDING_INSTRUMENT.
            - value: PPFR
              description: RESTRICTED_FUNDING_INSTRUMENT.
            - value: PPFV
              description: FIELD_VALIDATION_FAILED.
            - value: PPGR
              description: GAMING_REFUND_ERROR.
            - value: PPH1
              description: H1_ERROR.
            - value: PPIF
              description: IDEMPOTENCY_FAILURE.
            - value: PPII
              description: INVALID_INPUT_FAILURE.
            - value: PPIM
              description: ID_MISMATCH.
            - value: PPIT
              description: INVALID_TRACE_ID.
            - value: PPLR
              description: LATE_REVERSAL.
            - value: PPLS
              description: LARGE_STATUS_CODE.
            - value: PPMB
              description: MISSING_BUSINESS_RULE_OR_DATA.
            - value: PPMC
              description: BLOCKED_Mastercard.
            - value: PPMD
              description: DEPRECATED The PPMD value has been deprecated.
            - value: PPNC
              description: NOT_SUPPORTED_NRC.
            - value: PPNL
              description: EXCEEDS_NETWORK_FREQUENCY_LIMIT.
            - value: PPNM
              description: NO_MID_FOUND.
            - value: PPNT
              description: NETWORK_ERROR.
            - value: PPPH
              description: NO_PHONE_FOR_DCC_TRANSACTION.
            - value: PPPI
              description: INVALID_PRODUCT.
            - value: PPPM
              description: INVALID_PAYMENT_METHOD.
            - value: PPQC
              description: QUASI_CASH_UNSUPPORTED.
            - value: PPRE
              description: UNSUPPORT_REFUND_ON_PENDING_BC.
            - value: PPRF
              description: INVALID_PARENT_TRANSACTION_STATUS.
            - value: PPRR
              description: MERCHANT_NOT_REGISTERED.
            - value: PPS0
              description: BANKAUTH_ROW_MISMATCH.
            - value: PPS1
              description: BANKAUTH_ROW_SETTLED.
            - value: PPS2
              description: BANKAUTH_ROW_VOIDED.
            - value: PPS3
              description: BANKAUTH_EXPIRED.
            - value: PPS4
              description: CURRENCY_MISMATCH.
            - value: PPS5
              description: CREDITCARD_MISMATCH.
            - value: PPS6
              description: AMOUNT_MISMATCH.
            - value: PPSC
              description: ARC_SCORE.
            - value: PPSD
              description: STATUS_DESCRIPTION.
            - value: PPSE
              description: AMEX_DENIED.
            - value: PPTE
              description: VERIFICATION_TOKEN_EXPIRED.
            - value: PPTF
              description: INVALID_TRACE_REFERENCE.
            - value: PPTI
              description: INVALID_TRANSACTION_ID.
            - value: PPTR
              description: VERIFICATION_TOKEN_REVOKED.
            - value: PPTT
              description: TRANSACTION_TYPE_UNSUPPORTED.
            - value: PPTV
              description: INVALID_VERIFICATION_TOKEN.
            - value: PPUA
              description: USER_NOT_AUTHORIZED.
            - value: PPUC
              description: CURRENCY_CODE_UNSUPPORTED.
            - value: PPUE
              description: UNSUPPORT_ENTITY.
            - value: PPUI
              description: UNSUPPORT_INSTALLMENT.
            - value: PPUP
              description: UNSUPPORT_POS_FLAG.
            - value: PPUR
              description: UNSUPPORTED_REVERSAL.
            - value: PPVC
              description: VALIDATE_CURRENCY.
            - value: PPVE
              description: VALIDATION_ERROR.
            - value: PPVT
              description: VIRTUAL_TERMINAL_UNSUPPORTED.
          enum:
            - '0000'
            - 00N7
            - '0100'
            - '0390'
            - '0500'
            - '0580'
            - '0800'
            - '0880'
            - '0890'
            - '0960'
            - 0R00
            - '1000'
            - 10BR
            - '1300'
            - '1310'
            - '1312'
            - '1317'
            - '1320'
            - '1330'
            - '1335'
            - '1340'
            - '1350'
            - '1352'
            - '1360'
            - '1370'
            - '1380'
            - '1382'
            - '1384'
            - '1390'
            - '1393'
            - '5100'
            - '5110'
            - '5120'
            - '5130'
            - '5135'
            - '5140'
            - '5150'
            - '5160'
            - '5170'
            - '5180'
            - '5190'
            - '5200'
            - '5210'
            - '5400'
            - '5500'
            - '5650'
            - '5700'
            - '5710'
            - '5800'
            - '5900'
            - '5910'
            - '5920'
            - '5930'
            - '5950'
            - '6300'
            - '7600'
            - '7700'
            - '7710'
            - '7800'
            - '7900'
            - '8000'
            - '8010'
            - '8020'
            - '8030'
            - '8100'
            - '8110'
            - '8220'
            - '9100'
            - '9500'
            - '9510'
            - '9520'
            - '9530'
            - '9540'
            - '9600'
            - PCNR
            - PCVV
            - PP06
            - PPRN
            - PPAD
            - PPAB
            - PPAE
            - PPAG
            - PPAI
            - PPAR
            - PPAU
            - PPAV
            - PPAX
            - PPBG
            - PPC2
            - PPCE
            - PPCO
            - PPCR
            - PPCT
            - PPCU
            - PPD3
            - PPDC
            - PPDI
            - PPDV
            - PPDT
            - PPEF
            - PPEL
            - PPER
            - PPEX
            - PPFE
            - PPFI
            - PPFR
            - PPFV
            - PPGR
            - PPH1
            - PPIF
            - PPII
            - PPIM
            - PPIT
            - PPLR
            - PPLS
            - PPMB
            - PPMC
            - PPMD
            - PPNC
            - PPNL
            - PPNM
            - PPNT
            - PPPH
            - PPPI
            - PPPM
            - PPQC
            - PPRE
            - PPRF
            - PPRR
            - PPS0
            - PPS1
            - PPS2
            - PPS3
            - PPS4
            - PPS5
            - PPS6
            - PPSC
            - PPSD
            - PPSE
            - PPTE
            - PPTF
            - PPTI
            - PPTR
            - PPTT
            - PPTV
            - PPUA
            - PPUC
            - PPUE
            - PPUI
            - PPUP
            - PPUR
            - PPVC
            - PPVE
            - PPVT
        payment_advice_code:
          description: >-
            The declined payment transactions might have payment advice codes.
            The card networks, like Visa and Mastercard, return payment advice
            codes.
          type: string
          readOnly: true
          x-enumDescriptions:
            - value: '01'
              description: >-
                For Mastercard, expired card account upgrade or portfolio sale
                conversion. Obtain new account information before next billing
                cycle.
            - value: '02'
              description: >-
                For Mastercard, over credit limit or insufficient funds. Retry
                the transaction 72 hours later. For Visa, the card holder wants
                to stop only one specific payment in the recurring payment
                relationship. The merchant must NOT resubmit the same
                transaction. The merchant can continue the billing process in
                the subsequent billing period.
            - value: '03'
              description: >-
                For Mastercard, account closed as fraudulent. Obtain another
                type of payment from customer due to account being closed or
                fraud. Possible reason: Account closed as fraudulent. For Visa,
                the card holder wants to stop all recurring payment transactions
                for a specific merchant. Stop recurring payment requests.
            - value: '04'
              description: >-
                For Mastercard, token requirements not fulfilled for this token
                type.
            - value: '21'
              description: >-
                For Mastercard, the card holder has been unsuccessful at
                canceling recurring payment through merchant. Stop recurring
                payment requests. For Visa, all recurring payments were canceled
                for the card number requested. Stop recurring payment requests.
            - value: '22'
              description: For Mastercard, merchant does not qualify for product code.
            - value: '24'
              description: For Mastercard, retry after 1 hour.
            - value: '25'
              description: For Mastercard, retry after 24 hours.
            - value: '26'
              description: For Mastercard, retry after 2 days.
            - value: '27'
              description: For Mastercard, retry after 4 days.
            - value: '28'
              description: For Mastercard, retry after 6 days.
            - value: '29'
              description: For Mastercard, retry after 8 days.
            - value: '30'
              description: For Mastercard, retry after 10 days .
            - value: '40'
              description: For Mastercard, consumer non-reloadable prepaid card.
            - value: '43'
              description: For Mastercard, consumer multi-use virtual card number.
          enum:
            - '01'
            - '02'
            - '03'
            - '04'
            - '21'
            - '22'
            - '24'
            - '25'
            - '26'
            - '27'
            - '28'
            - '29'
            - '30'
            - '40'
            - '43'
    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:
          $ref: '#/components/schemas/date_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
        update_time:
          $ref: '#/components/schemas/date_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
    related_ids:
      type: object
      title: Related Identifiers
      description: Identifiers related to a specific resource.
      properties:
        order_id:
          type: string
          description: Order ID related to the resource.
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
        authorization_id:
          type: string
          description: Authorization ID related to the resource.
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
        capture_id:
          type: string
          description: Capture ID related to the resource.
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
    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])+)\])
    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}$
    error_location:
      type: string
      description: >-
        The location of the field that caused the error. Value is `body`,
        `path`, or `query`.
      enum:
        - body
        - path
        - query
      default: body
    error_415:
      type: object
      title: Unsupported Media Type Error
      description: The server does not support the request payload's media type.
      properties:
        name:
          type: string
          enum:
            - UNSUPPORTED_MEDIA_TYPE
        message:
          type: string
          enum:
            - The server does not support the request payload's media type.
        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'
    error_429:
      type: object
      title: Too many requests
      description: Too many requests. Blocked due to rate limiting.
      properties:
        name:
          type: string
          enum:
            - RATE_LIMIT_REACHED
        message:
          type: string
          enum:
            - Too many requests. Blocked due to rate limiting.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
    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
    error_503:
      type: object
      title: Service Unavailable Error
      description: >-
        The server is temporarily unable to handle the request, for example,
        because of planned maintenance or downtime.
      properties:
        name:
          type: string
          enum:
            - SERVICE_UNAVAILABLE
        message:
          type: string
          enum:
            - Service Unavailable.
        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: SERVICE_UNAVAILABLE
        message: Service Unavailable.
        debug_id: 90957fca61718
        information_link: >-
          https://developer.paypal.com/docs/api/orders/v2/#error-SERVICE_UNAVAILABLE
    capture_status_details:
      title: Capture Status Details
      description: The details of the captured payment status.
      type: object
      properties:
        reason:
          title: Capture Incomplete Reason
          description: The reason why the captured payment status is `PENDING` or `DENIED`.
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[A-Z_]+$
          x-enumDescriptions:
            - value: BUYER_COMPLAINT
              description: >-
                The payer initiated a dispute for this captured payment with
                PayPal.
            - value: CHARGEBACK
              description: >-
                The captured funds were reversed in response to the payer
                disputing this captured payment with the issuer of the financial
                instrument used to pay for this captured payment.
            - value: ECHECK
              description: The payer paid by an eCheck that has not yet cleared.
            - value: INTERNATIONAL_WITHDRAWAL
              description: >-
                Visit your online account. In your **Account Overview**, accept
                and deny this payment.
            - value: OTHER
              description: >-
                No additional specific reason can be provided. For more
                information about this captured payment, visit your account
                online or contact PayPal.
            - value: PENDING_REVIEW
              description: The captured payment is pending manual review.
            - value: RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION
              description: >-
                The payee has not yet set up appropriate receiving preferences
                for their account. For more information about how to accept or
                deny this payment, visit your account online. This reason is
                typically offered in scenarios such as when the currency of the
                captured payment is different from the primary holding currency
                of the payee.
            - value: REFUNDED
              description: The captured funds were refunded.
            - value: TRANSACTION_APPROVED_AWAITING_FUNDING
              description: >-
                The payer must send the funds for this captured payment. This
                code generally appears for manual EFTs.
            - value: UNILATERAL
              description: The payee does not have a PayPal account.
            - value: VERIFICATION_REQUIRED
              description: The payee's PayPal account is not verified.
            - value: DECLINED_BY_RISK_FRAUD_FILTERS
              description: Risk Filter set by the payee failed for the transaction.
          enum:
            - BUYER_COMPLAINT
            - CHARGEBACK
            - ECHECK
            - INTERNATIONAL_WITHDRAWAL
            - OTHER
            - PENDING_REVIEW
            - RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION
            - REFUNDED
            - TRANSACTION_APPROVED_AWAITING_FUNDING
            - UNILATERAL
            - VERIFICATION_REQUIRED
            - DECLINED_BY_RISK_FRAUD_FILTERS
    card_brand:
      type: string
      title: Card Brand
      description: >-
        The card network or brand. Applies to credit, debit, gift, and payment
        cards.
      minLength: 1
      maxLength: 255
      pattern: ^[A-Z_]+$
      x-enumDescriptions:
        - value: VISA
          description: Visa card.
        - value: MASTERCARD
          description: Mastercard card.
        - value: DISCOVER
          description: Discover card.
        - value: AMEX
          description: American Express card.
        - value: SOLO
          description: Solo debit card.
        - value: JCB
          description: Japan Credit Bureau card.
        - value: STAR
          description: Military Star card.
        - value: DELTA
          description: Delta Airlines card.
        - value: SWITCH
          description: Switch credit card.
        - value: MAESTRO
          description: Maestro credit card.
        - value: CB_NATIONALE
          description: Carte Bancaire (CB) credit card.
        - value: CONFIGOGA
          description: Configoga credit card.
        - value: CONFIDIS
          description: Confidis credit card.
        - value: ELECTRON
          description: Visa Electron credit card.
        - value: CETELEM
          description: Cetelem credit card.
        - value: CHINA_UNION_PAY
          description: China union pay credit card.
        - value: DINERS
          description: >-
            The Diners Club International banking and payment services
            capability network owned by Discover Financial Services (DFS), one
            of the most recognized brands in US financial services.
        - value: ELO
          description: The Brazilian Elo card payment network.
        - value: HIPER
          description: The Hiper - Ingenico ePayment network.
        - value: HIPERCARD
          description: >-
            The Brazilian Hipercard payment network that's widely accepted in
            the retail market.
        - value: RUPAY
          description: The RuPay payment network.
        - value: GE
          description: The GE Credit Union 3Point card payment network.
        - value: SYNCHRONY
          description: The Synchrony Financial (SYF) payment network.
        - value: EFTPOS
          description: >-
            The Electronic Fund Transfer At Point of Sale(EFTPOS) Debit card
            payment network.
        - value: CARTE_BANCAIRE
          description: The Carte Bancaire payment network.
        - value: STAR_ACCESS
          description: The Star Access payment network.
        - value: PULSE
          description: The Pulse payment network.
        - value: NYCE
          description: The NYCE payment network.
        - value: ACCEL
          description: The Accel payment network.
        - value: UNKNOWN
          description: UNKNOWN payment network.
      enum:
        - VISA
        - MASTERCARD
        - DISCOVER
        - AMEX
        - SOLO
        - JCB
        - STAR
        - DELTA
        - SWITCH
        - MAESTRO
        - CB_NATIONALE
        - CONFIGOGA
        - CONFIDIS
        - ELECTRON
        - CETELEM
        - CHINA_UNION_PAY
        - DINERS
        - ELO
        - HIPER
        - HIPERCARD
        - RUPAY
        - GE
        - SYNCHRONY
        - EFTPOS
        - CARTE_BANCAIRE
        - STAR_ACCESS
        - PULSE
        - NYCE
        - ACCEL
        - UNKNOWN
    dispute_categories_list:
      type: array
      description: An array of conditions that are covered for the transaction.
      items:
        $ref: '#/components/schemas/dispute_categories'
      readOnly: true
    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:
          $ref: '#/components/schemas/currency_code'
          description: The source currency from which to convert an amount.
        target_currency:
          $ref: '#/components/schemas/currency_code'
          description: The target currency to which to convert an amount.
        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
    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
          x-enumDescriptions:
            GET: The HTTP GET method.
            POST: The HTTP POST method.
            PUT: The HTTP PUT method.
            DELETE: The HTTP DELETE method.
            HEAD: The HTTP HEAD method.
            CONNECT: The HTTP CONNECT method.
            OPTIONS: The HTTP OPTIONS method.
            PATCH: The HTTP PATCH method.
    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})$
    dispute_categories:
      type: string
      description: The condition that is covered for the transaction.
      x-enumDescriptions:
        - value: ITEM_NOT_RECEIVED
          description: The payer paid for an item that they did not receive.
        - value: UNAUTHORIZED_TRANSACTION
          description: The payer did not authorize the payment.
      enum:
        - ITEM_NOT_RECEIVED
        - UNAUTHORIZED_TRANSACTION
  responses:
    default:
      description: The default response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_default'
  securitySchemes:
    Oauth2:
      type: oauth2
      description: OAuth 2.0 authentication
      flows:
        clientCredentials:
          tokenUrl: /v1/oauth2/token
          scopes:
            https://uri.paypal.com/services/payments/payment/authcapture: >-
              Permission to do non-real time payments like capture on
              authorization
            https://uri.paypal.com/services/payments/refund: Permission to initiate a refund on a capture transaction
            https://uri.paypal.com/services/payments/non-referenced-credit: Permission to initiate non referenced credit
            https://uri.paypal.com/services/payments/realtimepayment: >-
              Permission to do any real time payment, with support for
              sale/authorize/order intents
            https://uri.paypal.com/services/payments/reversepayment: Permission to do any reverse payment
            https://uri.paypal.com/services/payments/payments-ready: Permission to get information about payment readiness.
            Braintree:PaymentsReady: Permission to call PaymentsReady via BrainTree SDK.
            https://uri.paypal.com/services/payments/client-payments-eligibility: >-
              Permission to get information about merchant's eligible payment
              methods.

````