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

# Void authorized payment

> Voids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured.



## OpenAPI

````yaml /api-reference/payments_payment_v2.json post /v2/payments/authorizations/{authorization_id}/void
openapi: 3.0.4
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.13'
servers:
  - url: https://api-m.paypal.com
    description: Server for https scheme.
security: []
tags:
  - name: assets
    description: Assets APIs for Checkout
  - name: authorizations
    description: >-
      Use the `/authorizations` resource to show details for, capture payment
      for, reauthorize, and void authorized payments.
  - 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: captures
    description: >-
      Use the `/captures` resource to show details for and refund a captured
      payment.
  - 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.
  - 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: refunds
    description: Use the `/refunds` resource to show refund details.
externalDocs:
  url: /docs/checkout/
paths:
  /v2/payments/authorizations/{authorization_id}/void:
    post:
      tags:
        - authorizations
      summary: Void authorized payment
      description: >-
        Voids, or cancels, an authorized payment, by ID. You cannot void an
        authorized payment that has been fully captured.
      operationId: authorizations.void
      parameters:
        - name: authorization_id
          description: The PayPal-generated ID for the authorized payment to void.
          in: path
          required: true
          schema:
            type: string
            minLength: 0
            maxLength: 2147483647
            pattern: ^[\S\s]*$
          examples:
            authorizations_void:
              summary: Void Authorized Payment
              description: >-
                Voids an authorized PayPal account payment, by ID. You cannot
                void an authorized payment that has been fully captured.
              value: 0VF52814937998046
            authorizations_void_200_idempotent_response:
              summary: Void Authorized Payment
              description: >-
                Voids an authorized PayPal account payment, by ID. You cannot
                void an authorized payment that has been fully captured.
              value: 5C908745JK343851U
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/paypal_auth_assertion'
        - $ref: '#/components/parameters/paypal_request_id'
        - name: Prefer
          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>
          in: header
          required: false
          schema:
            type: string
            minLength: 0
            maxLength: 2147483647
            pattern: ^[\S\s]*$
            default: return=minimal
      responses:
        '200':
          description: >-
            A successful request returns the HTTP <code>200 OK</code> status
            code and a JSON response body that shows authorization details. This
            response is returned when the Prefer header is set to
            return=representation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authorization-2'
              examples:
                authorizations_void_200_idempotent_response:
                  summary: Void Authorized Payment
                  description: >-
                    Voids an authorized PayPal account payment, by ID. You
                    cannot void an authorized payment that has been fully
                    captured.
                  value:
                    id: 5C908745JK343851U
                    status: VOIDED
                    amount:
                      currency_code: USD
                      value: '100.00'
                    invoice_id: OrderInvoice-10_10_2024_12_06_00_pm
                    seller_protection:
                      status: ELIGIBLE
                      dispute_categories:
                        - ITEM_NOT_RECEIVED
                        - UNAUTHORIZED_TRANSACTION
                    expiration_time: '2024-11-08T09:06:03-08:00'
                    create_time: '2024-10-10T10:06:03-07:00'
                    update_time: '2024-10-10T10:06:19-07:00'
                    links:
                      - href: >-
                          https://api.paypal.com/v2/payments/authorizations/5C908745JK343851U
                        rel: self
                        method: GET
        '204':
          $ref: '#/components/responses/204_response'
        '401':
          $ref: '#/components/responses/401_error_response'
        '403':
          $ref: '#/components/responses/403_error_response'
        '404':
          $ref: '#/components/responses/404_error_response'
        '409':
          description: >-
            The request failed because a previous call for the given resource is
            in progress.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              examples:
                authorizations_void_409_conflict:
                  summary: >-
                    Void Authorized Payment - 409 Conflict - Operation in
                    Progress Error
                  description: >-
                    This code sample attempts to void an authorized payment but
                    the request fails because a previous call for the given
                    resource is in progress.
                  value:
                    name: RESOURCE_CONFLICT
                    debug_id: b1d1f06c7246c
                    message: >-
                      The server has detected a conflict while processing this
                      request.
                    details:
                      - issue: PREVIOUS_REQUEST_IN_PROGRESS
                        description: >-
                          A previous request on this resource is currently in
                          progress. Please wait for sometime and try again. It
                          is best to space out the initial and the subsequent
                          request(s) to avoid receiving this error.
        '422':
          description: >-
            The request failed because it either is semantically incorrect or
            failed business validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              examples:
                authorizations_void_422_already_captured:
                  summary: >-
                    Void Authorized Payment - 422 Unprocessable Entity -
                    Authorization Previously Captured Error
                  description: >-
                    This code sample attempts to void an authorized payment but
                    the request fails because has already been captured and
                    cannot be voided.
                  value:
                    name: UNPROCESSABLE_ENTITY
                    message: >-
                      The requested action could not be performed, semantically
                      incorrect, or failed business validation.
                    debug_id: a7b0de7cb97ad
                    details:
                      - issue: PREVIOUSLY_CAPTURED
                        description: >-
                          Authorization has been previously captured and cannot
                          be voided.
                    links:
                      - href: >-
                          https://developer.paypal.com/docs/api/payments/v2/#error-PREVIOUSLY_CAPTURED
                        rel: information_link
        '500':
          $ref: '#/components/responses/500_error_response'
        default:
          $ref: '#/components/responses/default_response'
      callbacks:
        authorization_voided:
          authorizations/{$request.path.authorization_id}/void:
            post:
              summary: Authorization voided notification
              description: Notification sent when the authorization is voided.
              operationId: authorizations.voided.callback
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: object
                      title: Authorization Voided Event
                      description: Webhook event notification for authorization voided.
                      properties:
                        id:
                          type: string
                          description: The ID of the webhook event notification.
                          minLength: 1
                          maxLength: 255
                          pattern: ^.*$
                        event_version:
                          type: string
                          description: The version of the event.
                          minLength: 1
                          maxLength: 50
                          pattern: ^.*$
                        create_time:
                          description: >-
                            The date and time when the webhook event
                            notification was created.
                          allOf:
                            - $ref: '#/components/schemas/date_time'
                        resource_type:
                          type: string
                          description: >-
                            The name of the resource related to the webhook
                            notification event.
                          minLength: 1
                          maxLength: 100
                          pattern: ^.*$
                        resource_version:
                          type: string
                          description: The version of the resource.
                          minLength: 1
                          maxLength: 50
                          pattern: ^.*$
                        event_type:
                          type: string
                          description: >-
                            The event that triggered the webhook event
                            notification.
                          enum:
                            - PAYMENT.AUTHORIZATION.VOIDED
                          x-enumDescriptions:
                            PAYMENT.AUTHORIZATION.VOIDED: A payment authorization was voided.
                        summary:
                          type: string
                          description: A summary description for the event notification.
                          minLength: 1
                          maxLength: 500
                          pattern: ^.*$
                        resource:
                          allOf:
                            - $ref: '#/components/schemas/authorization-2'
                        links:
                          type: array
                          description: An array of request-related HATEOAS links.
                          minItems: 1
                          maxItems: 10
                          items:
                            $ref: '#/components/schemas/link_description-2'
                    examples:
                      authorization_voided:
                        summary: Authorization voided event
                        description: Webhook notification when the authorization is voided.
                        value:
                          id: WH-30Y09481LL7353048-6K675100AV972020E
                          create_time: '2022-09-21T18:41:07.071Z'
                          event_type: PAYMENT.AUTHORIZATION.VOIDED
                          event_version: '1.0'
                          resource_type: authorization
                          resource_version: '2.0'
                          summary: A payment authorization was voided
                          resource:
                            id: 3C679366HH908993F
                            status: VOIDED
                            amount:
                              currency_code: USD
                              value: '100.00'
                            seller_protection:
                              status: ELIGIBLE
                              dispute_categories:
                                - ITEM_NOT_RECEIVED
                                - UNAUTHORIZED_TRANSACTION
                            supplementary_data:
                              related_ids:
                                order_id: 6AY135578D653613P
                            expiration_time: '2022-10-20T18:40:22Z'
                            create_time: '2022-09-21T18:40:22Z'
                            update_time: '2022-09-21T18:41:03Z'
                            links:
                              - href: >-
                                  https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F
                                rel: self
                                method: GET
                          links:
                            - href: >-
                                https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972020E
                              rel: self
                              method: GET
                            - href: >-
                                https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972020E/resend
                              rel: resend
                              method: POST
              responses:
                '204':
                  description: >-
                    Your server implementation should return this HTTP status
                    code if the data was received successfully.
                '400':
                  description: >-
                    Your server should return this HTTP status code if the
                    request is malformed.
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/error'
                      examples:
                        invalid_request:
                          summary: Invalid webhook request.
                          description: Request with malformed data.
                          value:
                            name: INVALID_REQUEST
                            debug_id: b1d1f06c7246c
                            message: >-
                              Request is not well-formed, syntactically
                              incorrect, or violates schema.
                            details:
                              - field: /event_type
                                location: body
                                issue: INVALID_PARAMETER_SYNTAX
                                description: >-
                                  The value of a field does not conform to the
                                  expected format.
                '500':
                  $ref: '#/components/responses/500_error_response'
              method: post
              type: path
            path: authorizations/{$request.path.authorization_id}/void
        authorization_voided_expired:
          authorizations/{$request.path.authorization_id}/void-expired:
            post:
              summary: Authorization voided due to expiry notification
              description: >-
                Notification sent when the authorization is voided due to
                expiry.
              operationId: authorizations.voided.expired.callback
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: object
                      title: Authorization Voided Expired Event
                      description: >-
                        Webhook event notification for authorization voided due
                        to expiry.
                      properties:
                        id:
                          type: string
                          description: The ID of the webhook event notification.
                          minLength: 1
                          maxLength: 255
                          pattern: ^.*$
                        event_version:
                          type: string
                          description: The version of the event.
                          minLength: 1
                          maxLength: 50
                          pattern: ^.*$
                        create_time:
                          description: >-
                            The date and time when the webhook event
                            notification was created.
                          allOf:
                            - $ref: '#/components/schemas/date_time'
                        resource_type:
                          type: string
                          description: >-
                            The name of the resource related to the webhook
                            notification event.
                          minLength: 1
                          maxLength: 100
                          pattern: ^.*$
                        resource_version:
                          type: string
                          description: The version of the resource.
                          minLength: 1
                          maxLength: 50
                          pattern: ^.*$
                        event_type:
                          type: string
                          description: >-
                            The event that triggered the webhook event
                            notification.
                          enum:
                            - PAYMENT.AUTHORIZATION.VOIDED
                          x-enumDescriptions:
                            PAYMENT.AUTHORIZATION.VOIDED: >-
                              A payment authorization was voided due to
                              expiration.
                        summary:
                          type: string
                          description: A summary description for the event notification.
                          minLength: 1
                          maxLength: 500
                          pattern: ^.*$
                        resource:
                          allOf:
                            - $ref: '#/components/schemas/authorization-2'
                        links:
                          type: array
                          description: An array of request-related HATEOAS links.
                          minItems: 1
                          maxItems: 10
                          items:
                            $ref: '#/components/schemas/link_description-2'
                    examples:
                      authorization_voided_expired:
                        summary: Authorization voided due to expiry event
                        description: >-
                          Webhook notification when the authorization is voided
                          due to expiry.
                        value:
                          id: WH-30Y09481LL7353048-6K675100AV972020E
                          create_time: '2022-09-21T18:41:07.071Z'
                          event_type: PAYMENT.AUTHORIZATION.VOIDED
                          event_version: '1.0'
                          resource_type: authorization
                          resource_version: '2.0'
                          summary: A payment authorization was expired
                          resource:
                            id: 3C679366HH908993F
                            status: VOIDED
                            amount:
                              currency_code: USD
                              value: '100.00'
                            seller_protection:
                              status: ELIGIBLE
                              dispute_categories:
                                - ITEM_NOT_RECEIVED
                                - UNAUTHORIZED_TRANSACTION
                            supplementary_data:
                              related_ids:
                                order_id: 6AY135578D653613P
                            expiration_time: '2022-10-20T18:40:22Z'
                            create_time: '2022-09-21T18:40:22Z'
                            update_time: '2022-09-21T18:41:03Z'
                            links:
                              - href: >-
                                  https://api-m.paypal.com/v2/payments/captures/3C679366HH908993F
                                rel: self
                                method: GET
                          links:
                            - href: >-
                                https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972020E
                              rel: self
                              method: GET
                            - href: >-
                                https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972020E/resend
                              rel: resend
                              method: POST
              responses:
                '204':
                  description: >-
                    Your server implementation should return this HTTP status
                    code if the data was received successfully.
                '400':
                  description: >-
                    Your server should return this HTTP status code if the
                    request is malformed.
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/error'
                      examples:
                        invalid_request:
                          summary: Invalid webhook request.
                          description: Request with malformed data.
                          value:
                            name: INVALID_REQUEST
                            debug_id: b1d1f06c7246c
                            message: >-
                              Request is not well-formed, syntactically
                              incorrect, or violates schema.
                            details:
                              - field: /event_type
                                location: body
                                issue: INVALID_PARAMETER_SYNTAX
                                description: >-
                                  The value of a field does not conform to the
                                  expected format.
                '500':
                  $ref: '#/components/responses/500_error_response'
              method: post
              type: path
            path: authorizations/{$request.path.authorization_id}/void-expired
      security:
        - Oauth2:
            - https://uri.paypal.com/services/payments/payment/authcapture
components:
  parameters:
    authorization:
      name: Authorization
      in: header
      description: Holds authorization information for external API calls.
      required: false
      schema:
        $ref: '#/components/schemas/standard_header_schema'
      examples:
        bearer:
          summary: Bearer authorization.
          description: >-
            An authorization header with information for the Bearer
            authorization scheme. The authorization parameter value is
            randomized for this example.
          value: >-
            Bearer
            A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ
    paypal_auth_assertion:
      name: PayPal-Auth-Assertion
      in: header
      description: >-
        Header for an API client-provided JWT assertion that identifies the
        merchant. Establishing the consent to act-on-behalf of a merchant is a
        prerequisite for using this header.
      required: false
      schema:
        description: >-
          Header for an API client-provided JWT assertion that identifies the
          merchant. Establishing the consent to act-on-behalf of a merchant is a
          prerequisite for using this header.
        type: string
        minLength: 1
        maxLength: 10000
        pattern: ^.*$
      examples:
        auth_assertion:
          summary: An auth assertion.
          description: A paypal-auth-assertion header with a randomized value.
          value: eyJhbGciOiJub25lIn0.eyJlbWFpbCI6Im15QGVtYWlsLmNvbSJ9
    paypal_request_id:
      name: PayPal-Request-Id
      in: header
      description: A unique ID identifying the request header for idempotency purposes.
      required: false
      schema:
        description: A unique ID identifying the request header for idempotency purposes.
        type: string
        minLength: 1
        maxLength: 10000
        pattern: ^.*$
      examples:
        request_id:
          summary: A request id.
          description: A paypal-request-id header with a randomized value.
          value: 17e81d06-77ab-11e8-adc0-fa71639ebebc
  schemas:
    authorization-2:
      title: Authorization
      description: The authorized payment transaction.
      type: object
      allOf:
        - $ref: '#/components/schemas/authorization'
        - type: object
          properties:
            supplementary_data:
              allOf:
                - $ref: '#/components/schemas/supplementary_data'
                - readOnly: true
            payee:
              allOf:
                - $ref: '#/components/schemas/payee_base'
                - readOnly: true
    error:
      title: Error
      description: The error details.
      type: object
      required:
        - debug_id
        - message
        - name
      properties:
        name:
          description: The human-readable, unique name of the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        message:
          description: The message that describes the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        debug_id:
          description: The PayPal internal ID. Used for correlation purposes.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        details:
          description: An array of additional details about the error.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            allOf:
              - $ref: '#/components/schemas/error_details'
              - title: error_details
        links:
          description: >-
            An array of request-related [HATEOAS
            links](/api/rest/responses/#hateoas-links).
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            allOf:
              - $ref: '#/components/schemas/link_description'
              - title: link_description
                readOnly: true
    date_time:
      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>
      type: string
      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})$
    link_description-2:
      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: 2147483647
          pattern: ^[\S\s]*$
        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: 2147483647
          pattern: ^[\S\s]*$
        method:
          description: The HTTP method required to make the related call.
          type: string
          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.
        title:
          description: The link title.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        mediaType:
          title: media_type
          description: >-
            The media type, as defined by [RFC
            2046](https://www.ietf.org/rfc/rfc2046.txt). Describes the link
            target.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        encType:
          title: enc_type
          description: The media type in which to submit the request data.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
          default: application/json
        schema:
          allOf:
            - $ref: '#/components/schemas/link_schema-2'
            - description: The schema that describes the request data.
        targetSchema:
          allOf:
            - $ref: '#/components/schemas/link_schema-2'
            - title: target_schema
              description: The schema that describes the link target.
    standard_header_schema:
      title: Schema Object for standard headers
      description: >-
        Standard headers are generally less restrictive in structure due to
        historical precedent across browsers, etc. This is a common schema for
        use in defining most standard headers.
      type: string
      minLength: 1
      maxLength: 16000
      pattern: ^.*$
    authorization:
      title: authorization
      description: The authorized payment transaction.
      type: object
      allOf:
        - $ref: '#/components/schemas/authorization_status'
        - type: object
          properties:
            id:
              description: The PayPal-generated ID for the authorized payment.
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
              readOnly: true
            amount:
              allOf:
                - $ref: '#/components/schemas/amount_with_breakdown'
                - description: The amount for this authorized 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
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
              readOnly: true
            custom_id:
              description: >-
                The API caller-provided external ID. Used to reconcile API
                caller-initiated transactions with PayPal transactions. Appears
                in transaction and settlement reports.
              type: string
              minLength: 0
              maxLength: 255
              pattern: ^[\S\s]*$
            network_transaction_reference:
              allOf:
                - $ref: '#/components/schemas/network_transaction'
            seller_protection:
              allOf:
                - $ref: '#/components/schemas/seller_protection'
                - readOnly: true
            expiration_time:
              allOf:
                - $ref: '#/components/schemas/date_time'
                - description: >-
                    The date and time when the authorized payment expires, in
                    [Internet date and time
                    format](https://tools.ietf.org/html/rfc3339#section-5.6).
                  readOnly: true
            links:
              description: >-
                An array of related [HATEOAS
                links](/docs/api/reference/api-responses/#hateoas-links).
              type: array
              minItems: 0
              maxItems: 32767
              readOnly: true
              items:
                allOf:
                  - $ref: '#/components/schemas/link_description-2'
                  - title: link_description
        - $ref: '#/components/schemas/activity_timestamps'
    supplementary_data:
      title: Payment Supplementary Data
      description: The supplementary data.
      type: object
      properties:
        related_ids:
          allOf:
            - $ref: '#/components/schemas/related_ids'
            - readOnly: true
    payee_base:
      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.
      type: object
      properties:
        email_address:
          allOf:
            - $ref: '#/components/schemas/email'
            - description: The email address of merchant.
        merchant_id:
          allOf:
            - $ref: '#/components/schemas/account_id-2'
            - description: The encrypted PayPal account ID of the merchant.
    error_details:
      title: Error Details
      description: The error details. Required for client-side `4XX` errors.
      type: object
      required:
        - issue
      properties:
        field:
          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.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        value:
          description: The value of the field that caused the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        location:
          description: >-
            The location of the field that caused the error. Value is `body`,
            `path`, or `query`.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
          default: body
        issue:
          description: The unique, fine-grained application-level error code.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        links:
          description: >-
            An array of request-related [HATEOAS
            links](/api/rest/responses/#hateoas-links) that are either relevant
            to the issue by providing additional information or offering
            potential resolutions.
          type: array
          minItems: 1
          maxItems: 4
          readOnly: true
          items:
            allOf:
              - $ref: '#/components/schemas/link_description'
              - title: link_description
                readOnly: true
        description:
          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.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
    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: 2147483647
          pattern: ^[\S\s]*$
        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: 2147483647
          pattern: ^[\S\s]*$
        method:
          description: The HTTP method required to make the related call.
          type: string
          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.
        title:
          description: The link title.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        mediaType:
          title: media_type
          description: >-
            The media type, as defined by [RFC
            2046](https://www.ietf.org/rfc/rfc2046.txt). Describes the link
            target.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        encType:
          title: enc_type
          description: The media type in which to submit the request data.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
          default: application/json
        schema:
          allOf:
            - $ref: '#/components/schemas/link_schema'
            - description: The schema that describes the request data.
        targetSchema:
          allOf:
            - $ref: '#/components/schemas/link_schema'
            - title: target_schema
              description: The schema that describes the link target.
    link_schema-2:
      title: Link Schema
      description: The request data or link target.
      type: object
      properties:
        additionalItems:
          title: additional_items
          description: Any additional items.
          type: object
        dependencies:
          title: Dependencies
          description: Any Dependencies.
          type: object
        items:
          title: Items
          description: An item.
          type: object
        definitions:
          title: Definitions
          description: Definitions.
          type: object
        patternProperties:
          title: pattern_properties
          description: The pattern properties.
          type: object
        properties:
          title: Properties
          description: Properties.
          type: object
        allOf:
          title: all_of
          description: >-
            An array of sub-schemas. The data must validate against all
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: all_of_item
            description: A sub-schema against which the data must validate.
            type: object
        anyOf:
          title: any_of
          description: >-
            An array of sub-schemas. The data must validate against one or more
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: any_of_item
            description: A sub-schema against which the data must validate.
            type: object
        oneOf:
          title: one_of
          description: >-
            An array of sub-schemas. The data must validate against one
            sub-schema.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: one_of_item
            description: A sub-schema against which the data must validate.
            type: object
        not:
          title: Not
          description: Not.
          type: object
        links:
          description: An array of links.
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            title: link
            description: A link.
            type: object
            readOnly: true
        fragmentResolution:
          title: fragment_resolution
          description: The fragment resolution.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        media:
          title: Media
          description: The media type and context-encoding scheme.
          type: object
          properties:
            type:
              description: >-
                The media type. See [Multipurpose Internet Mail Extensions
                (MIME) Part Two: Media
                Types](https://tools.ietf.org/html/rfc2046).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
            binaryEncoding:
              title: binary_encoding
              description: >-
                The content-encoding scheme. See [Multipurpose Internet Mail
                Extensions (MIME) Part One: Format of Internet Message
                Bodies](https://tools.ietf.org/html/rfc2045).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
        pathStart:
          title: path_start
          description: >-
            To apply this schema to the instances' URIs, start the URIs with
            this value.
          type: string
          minLength: 0
          maxLength: 2147483647
          format: uri
    authorization_status:
      title: authorization_status
      description: The status fields and status details for an authorized payment.
      type: object
      properties:
        status:
          title: Authorization Status
          description: The status for the authorized payment.
          type: string
          enum:
            - CREATED
            - CAPTURED
            - DENIED
            - PARTIALLY_CAPTURED
            - VOIDED
            - PENDING
          x-enumDescriptions:
            CREATED: >-
              The authorized payment is created. No captured payments have been
              made for this authorized payment.
            CAPTURED: >-
              The authorized payment has one or more captures against it. The
              sum of these captured payments is greater than the amount of the
              original authorized payment.
            DENIED: PayPal cannot authorize funds for this authorized payment.
            PARTIALLY_CAPTURED: >-
              A captured payment was made for the authorized payment for an
              amount that is less than the amount of the original authorized
              payment.
            VOIDED: >-
              The authorized payment was voided. No more captured payments can
              be made against this authorized payment.
            PENDING: >-
              The created authorization is in pending state. For more
              information, see <code>status.details</code>.
          readOnly: true
        status_details:
          allOf:
            - $ref: '#/components/schemas/authorization_status_details'
            - description: The details of the authorized order pending status.
              readOnly: true
    amount_with_breakdown:
      title: amount_with_breakdown
      description: >-
        The total order amount with an optional breakdown that provides details,
        such as the total item amount, total tax amount, shipping, handling,
        insurance, and discounts, if any.<br/>If you specify `amount.breakdown`,
        the amount equals `item_total` plus `tax_total` plus `shipping` plus
        `handling` plus `insurance` minus `shipping_discount` minus
        discount.<br/>The amount must be a positive number. For listed of
        supported currencies and decimal precision, see the PayPal REST APIs <a
        href="/docs/integration/direct/rest/currency-codes/">Currency Codes</a>.
      type: object
      allOf:
        - $ref: '#/components/schemas/money'
        - type: object
          properties:
            breakdown:
              $ref: '#/components/schemas/amount_breakdown'
    network_transaction:
      title: network_transaction
      description: Reference values used by the card network to identify a transaction.
      type: object
      properties:
        id:
          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 -.
          type: string
          minLength: 9
          maxLength: 36
          pattern: ^[a-zA-Z0-9-_@.:&+=*^'~#!$%()]+$
        date:
          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". For some specific networks,
            such as MasterCard and Discover, this date field is mandatory when
            the `previous_network_transaction_reference_id` is passed.
          type: string
          minLength: 4
          maxLength: 4
          pattern: ^[0-9]+$
        network:
          allOf:
            - $ref: '#/components/schemas/card_brand'
            - description: >-
                Name of the card network through which the transaction was
                routed.
        acquirer_reference_number:
          description: >-
            Reference ID issued for the card transaction. This ID can be used to
            track the transaction across processors, card brands and issuing
            banks.
          type: string
          minLength: 1
          maxLength: 36
          pattern: ^[a-zA-Z0-9]+$
    seller_protection:
      title: seller_protection
      description: >-
        The level of protection offered as defined by [PayPal Seller Protection
        for
        Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).
      type: object
      properties:
        status:
          title: Seller Protection Status
          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).
          type: string
          enum:
            - ELIGIBLE
            - PARTIALLY_ELIGIBLE
            - NOT_ELIGIBLE
          x-enumDescriptions:
            ELIGIBLE: >-
              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.
            PARTIALLY_ELIGIBLE: >-
              Your PayPal balance remains intact if the customer claims that
              they did not receive an item.
            NOT_ELIGIBLE: This transaction is not eligible for seller protection.
          readOnly: true
        dispute_categories:
          description: An array of conditions that are covered for the transaction.
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            title: dispute_category
            description: The condition that is covered for the transaction.
            type: string
            enum:
              - ITEM_NOT_RECEIVED
              - UNAUTHORIZED_TRANSACTION
            x-enumDescriptions:
              ITEM_NOT_RECEIVED: The payer paid for an item that they did not receive.
              UNAUTHORIZED_TRANSACTION: The payer did not authorize the payment.
    activity_timestamps:
      title: activity_timestamps
      description: >-
        The date and time stamps that are common to authorized payment, captured
        payment, and refund transactions.
      type: object
      properties:
        create_time:
          allOf:
            - $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:
          allOf:
            - $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:
      title: Related Identifiers
      description: Identifiers related to a specific resource.
      type: object
      properties:
        order_id:
          description: Order ID related to the resource.
          type: string
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
        authorization_id:
          description: Authorization ID related to the resource.
          type: string
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
        capture_id:
          description: Capture ID related to the resource.
          type: string
          minLength: 1
          maxLength: 20
          pattern: ^[A-Z0-9]+$
    email:
      title: email
      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>
      type: string
      minLength: 3
      maxLength: 254
      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-2:
      title: PayPal Account Identifier
      description: The account identifier for a PayPal account.
      type: string
      minLength: 13
      maxLength: 13
      pattern: ^[2-9A-HJ-NP-Z]{13}$
    link_schema:
      title: Link Schema
      description: The request data or link target.
      type: object
      properties:
        additionalItems:
          title: additional_items
          description: Any additional items.
          type: object
        dependencies:
          title: Dependencies
          description: The dependencies.
          type: object
        items:
          title: Items
          description: An item.
          type: object
        definitions:
          title: Definitions
          description: Definitions.
          type: object
        patternProperties:
          title: pattern_properties
          description: The pattern properties.
          type: object
        properties:
          title: Properties
          description: The properties.
          type: object
        allOf:
          title: all_of
          description: >-
            An array of sub-schemas. The data must validate against all
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: all_of_item
            description: A sub-schema against which the data must validate.
            type: object
        anyOf:
          title: any_of
          description: >-
            An array of sub-schemas. The data must validate against one or more
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: any_of_item
            description: A sub-schema against which the data must validate.
            type: object
        oneOf:
          title: one_of
          description: >-
            An array of sub-schemas. The data must validate against one
            sub-schema.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: one_of_item
            description: A sub-schema against which the data must validate.
            type: object
        not:
          title: Not
          description: Not.
          type: object
        links:
          description: An array of links.
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            title: link
            description: A link.
            type: object
            readOnly: true
        fragmentResolution:
          title: fragment_resolution
          description: The fragment resolution.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        media:
          title: Media
          description: The media type and context-encoding scheme.
          type: object
          properties:
            type:
              description: >-
                The media type. See [Multipurpose Internet Mail Extensions
                (MIME) Part Two: Media
                Types](https://tools.ietf.org/html/rfc2046).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
            binaryEncoding:
              title: binary_encoding
              description: >-
                The content-encoding scheme. See [Multipurpose Internet Mail
                Extensions (MIME) Part One: Format of Internet Message
                Bodies](https://tools.ietf.org/html/rfc2045).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
        pathStart:
          title: path_start
          description: >-
            To apply this schema to the instances' URIs, start the URIs with
            this value.
          type: string
          minLength: 0
          maxLength: 2147483647
          format: uri
    authorization_status_details:
      title: authorization_status_details
      description: The details of the authorized payment status.
      type: object
      properties:
        reason:
          title: Authorization Incomplete Reason
          description: The reason why the authorized status is `PENDING`.
          type: string
          enum:
            - PENDING_REVIEW
            - DECLINED_BY_RISK_FRAUD_FILTERS
          x-enumDescriptions:
            PENDING_REVIEW: Authorization is pending manual review.
            DECLINED_BY_RISK_FRAUD_FILTERS: Risk Filter set by the payee failed for the transaction.
    money:
      title: Money
      description: >-
        The currency and amount for a financial transaction, such as a balance
        or payment due.
      type: object
      required:
        - currency_code
        - value
      properties:
        currency_code:
          $ref: '#/components/schemas/currency_code'
        value:
          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/).
          type: string
          minLength: 0
          maxLength: 32
          pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
    amount_breakdown:
      title: amount_breakdown
      description: >-
        The breakdown of the amount. Breakdown provides details such as total
        item amount, total tax amount, shipping, handling, insurance, and
        discounts, if any.
      type: object
      properties:
        item_total:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The subtotal for all items. Required if the request includes
                `purchase_units[].items[].unit_amount`. Must equal the sum of
                `(items[].unit_amount * items[].quantity)` for all items.
                <code>item_total.value</code> can not be a negative number.
        shipping:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The shipping fee for all items within a given `purchase_unit`.
                <code>shipping.value</code> can not be a negative number.
        handling:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The handling fee for all items within a given `purchase_unit`.
                <code>handling.value</code> can not be a negative number.
        tax_total:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The total tax for all items. Required if the request includes
                `purchase_units.items.tax`. Must equal the sum of `(items[].tax
                * items[].quantity)` for all items. <code>tax_total.value</code>
                can not be a negative number.
        insurance:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The insurance fee for all items within a given `purchase_unit`.
                <code>insurance.value</code> can not be a negative number.
        shipping_discount:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The shipping discount for all items within a given
                `purchase_unit`. <code>shipping_discount.value</code> can not be
                a negative number.
        discount:
          allOf:
            - $ref: '#/components/schemas/discount_with_breakdown'
            - description: >-
                The discount for all items within a given `purchase_unit`.
                <code>discount.value</code> can not be a negative number.
    card_brand:
      title: card_brand
      description: >-
        The card network or brand. Applies to credit, debit, gift, and payment
        cards.
      type: string
      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
      x-enumDescriptions:
        VISA: Visa card.
        MASTERCARD: Mastercard card.
        DISCOVER: Discover card.
        AMEX: American Express card.
        SOLO: Solo debit card.
        JCB: Japan Credit Bureau card.
        STAR: Military Star card.
        DELTA: Delta Airlines card.
        SWITCH: Switch credit card.
        MAESTRO: Maestro credit card.
        CB_NATIONALE: Carte Bancaire (CB) credit card.
        CONFIGOGA: Configoga credit card.
        CONFIDIS: Confidis credit card.
        ELECTRON: Visa Electron credit card.
        CETELEM: Cetelem credit card.
        CHINA_UNION_PAY: China union pay credit card.
        DINERS: >-
          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.
        ELO: The Brazilian Elo card payment network.
        HIPER: The Hiper - Ingenico ePayment network.
        HIPERCARD: >-
          The Brazilian Hipercard payment network that's widely accepted in the
          retail market.
        RUPAY: The RuPay payment network.
        GE: The GE Credit Union 3Point card payment network.
        SYNCHRONY: The Synchrony Financial (SYF) payment network.
        EFTPOS: >-
          The Electronic Fund Transfer At Point of Sale(EFTPOS) Debit card
          payment network.
        CARTE_BANCAIRE: The Carte Bancaire payment network.
        STAR_ACCESS: The Star Access payment network.
        PULSE: The Pulse payment network.
        NYCE: The NYCE payment network.
        ACCEL: The Accel payment network.
        UNKNOWN: UNKNOWN payment network.
    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
      pattern: ^[\S\s]*$
    discount_with_breakdown:
      title: discount_with_breakdown
      description: >-
        The discount amount and currency code. For list of supported currencies
        and decimal precision, see the PayPal REST APIs <a
        href="/docs/integration/direct/rest/currency-codes/">Currency Codes</a>.
      type: object
      allOf:
        - $ref: '#/components/schemas/money'
        - type: object
  responses:
    204_response:
      description: No Content.
    401_error_response:
      description: Unauthorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic 'Unauthorized' error.
              description: Example response for unauthorized request.
              value:
                name: AUTHENTICATION_FAILURE
                debug_id: b1d1f06c7246c
                message: >-
                  Authentication failed due to missing Authorization header, or
                  invalid authentication credentials.
    403_error_response:
      description: Forbidden.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic 'Forbidden' error.
              description: Example response for a forbidden request.
              value:
                name: NOT_AUTHORIZED
                debug_id: b1d1f06c7246c
                message: Authorization failed due to insufficient permissions.
    404_error_response:
      description: Not Found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic 'Not Found' error.
              description: >-
                Example response for a request to a resource that does not
                exist.
              value:
                name: RESOURCE_NOT_FOUND
                debug_id: b1d1f06c7246c
                message: The specified resource does not exist.
    500_error_response:
      description: Internal Server Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic internal server error.
              description: >-
                Example response for a request that fails for reasons internal
                to the server.
              value:
                name: INTERNAL_SERVER_ERROR
                debug_id: b1d1f06c7246c
                message: An internal server error has occurred.
    default_response:
      description: Default response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Default response.
              description: >-
                Example catch all response, should not be encountered in
                practice.
              value:
                name: INTERNAL_SERVER_ERROR
                debug_id: b1d1f06c7246c
                message: An internal server error has occurred.
  securitySchemes:
    Oauth2:
      type: oauth2
      description: OAuth 2.0 authentication
      flows:
        clientCredentials:
          tokenUrl: https://api-m.paypal.com/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.

````