{
  "openapi": "3.2.0",
  "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.12"
  },
  "servers": [
    {
      "url": "https://api-m.sandbox.paypal.com",
      "description": "PayPal API Sandbox"
    }
  ],
  "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}": {
      "get": {
        "operationId": "authorizations.get",
        "summary": "Show details for authorized payment",
        "description": "Shows details for an authorized payment, by ID.",
        "tags": [
          "authorizations"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/payment/authcapture"
            ]
          }
        ],
        "parameters": [
          {
            "name": "authorization_id",
            "description": "The ID of the authorized payment for which to show details.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "authorizations_get": {
                "summary": "Show Authorized Payment Details",
                "description": "Shows details for an authorized payment, by ID.",
                "value": "0VF52814937998046"
              },
              "authorizations_get_with_supplementary_data": {
                "summary": "Show Authorized Payment Details",
                "description": "Shows details for an authorized payment, by ID.",
                "value": "0T620041CK889853A"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          }
        ],
        "x-exampleFlows": [
          {
            "title": "Show authorized payment details",
            "description": "Retrieves complete details for an authorized payment by ID.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_get"
            ],
            "response_example": "responses/200/content/application~1json/examples/authorizations_get"
          },
          {
            "title": "Show authorized payment with supplementary data",
            "description": "Retrieves details for an authorized payment by ID including supplementary data such as related order information.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_get_with_supplementary_data"
            ],
            "response_example": "responses/200/content/application~1json/examples/authorizations_get_with_supplementary_data"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows authorization details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/authorization-2"
                },
                "examples": {
                  "authorizations_get": {
                    "summary": "Show Authorized Payment Details",
                    "description": "Shows details for an authorized payment, by ID.",
                    "value": {
                      "id": "0VF52814937998046",
                      "status": "CREATED",
                      "amount": {
                        "value": "10.99",
                        "currency_code": "USD"
                      },
                      "invoice_id": "INVOICE-123",
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "payee": {
                        "email_address": "merchant@example.com",
                        "merchant_id": "7KNGBPH2U58GQ"
                      },
                      "expiration_time": "2017-10-10T23:23:45Z",
                      "create_time": "2017-09-11T23:23:45Z",
                      "update_time": "2017-09-11T23:23:45Z",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046"
                        },
                        {
                          "rel": "capture",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046/capture"
                        },
                        {
                          "rel": "void",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046/void"
                        },
                        {
                          "rel": "reauthorize",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046/reauthorize"
                        }
                      ]
                    }
                  },
                  "authorizations_get_with_supplementary_data": {
                    "summary": "Show Authorized Payment Details",
                    "description": "Shows details for an authorized payment, by ID.",
                    "value": {
                      "id": "0T620041CK889853A",
                      "status": "CREATED",
                      "amount": {
                        "currency_code": "USD",
                        "value": "100.00"
                      },
                      "invoice_id": "OrderInvoice-23_10_2024_12_27_32_pm",
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "supplementary_data": {
                        "related_ids": {
                          "order_id": "25M43554V9523650M"
                        }
                      },
                      "payee": {
                        "email_address": "merchant@example.com",
                        "merchant_id": "YXZY75W2GKDQE"
                      },
                      "expiration_time": "2024-11-21T17:27:36Z",
                      "create_time": "2024-10-23T17:27:36Z",
                      "update_time": "2024-10-23T17:27:36Z",
                      "links": [
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/authorizations/0T620041CK889853A",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/authorizations/0T620041CK889853A/capture",
                          "rel": "capture",
                          "method": "POST"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/authorizations/0T620041CK889853A/void",
                          "rel": "void",
                          "method": "POST"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/authorizations/0T620041CK889853A/reauthorize",
                          "rel": "reauthorize",
                          "method": "POST"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/checkout/orders/25M43554V9523650M",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "404": {
            "$ref": "#/components/responses/404_error_response"
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        }
      }
    },
    "/v2/payments/authorizations/{authorization_id}/capture": {
      "post": {
        "operationId": "authorizations.capture",
        "summary": "Capture authorized payment",
        "description": "Captures an authorized payment, by ID.",
        "tags": [
          "authorizations"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/payment/authcapture"
            ]
          }
        ],
        "parameters": [
          {
            "name": "authorization_id",
            "description": "The PayPal-generated ID for the authorized payment to capture.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "authorizations_capture": {
                "summary": "Capture Authorized Payment",
                "description": "Captures an authorized payment, by ID.",
                "value": "0VF52814937998046"
              },
              "authorizations_capture_200_idempotent_response": {
                "summary": "Capture Authorized Payment - 200 idempotent response",
                "description": "Captures an authorized payment, by ID.",
                "value": "6DR965477U7140544"
              },
              "authorizations_capture_empty_request": {
                "summary": "Capture Authorized Payment with an empty request",
                "description": "Captures an authorized payment, by ID.",
                "value": "6DR965477U7140544"
              },
              "authorizations_capture_with_prefer_header": {
                "summary": "Capture Authorized Payment with Prefer Request Header",
                "description": "Captures an authorized payment, by ID. Includes the `Prefer` request header.",
                "value": "0VF52814937998046"
              }
            }
          },
          {
            "$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"
            },
            "examples": {
              "authorizations_capture_200_idempotent_response": {
                "summary": "Capture Authorized Payment - 200 idempotent response",
                "description": "Captures an authorized payment, by ID.",
                "value": "return=representation"
              },
              "authorizations_capture_with_prefer_header": {
                "summary": "Capture Authorized Payment with Prefer Request Header",
                "description": "Captures an authorized payment, by ID. Includes the `Prefer` request header.",
                "value": "return=representation"
              },
              "authorizations_capture_empty_request": {
                "summary": "Capture Authorized Payment with an empty request",
                "description": "Captures an authorized payment, by ID.",
                "value": "return=representation"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/capture_request"
              },
              "examples": {
                "authorizations_capture": {
                  "summary": "Capture Authorized Payment",
                  "description": "Captures an authorized payment, by ID.",
                  "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"
                  }
                },
                "authorizations_capture_200_idempotent_response": {
                  "summary": "Capture Authorized Payment - 200 idempotent response",
                  "description": "Captures an authorized payment, by ID.",
                  "value": {
                    "amount": {
                      "value": "1.00",
                      "currency_code": "USD"
                    },
                    "invoice_id": "CaptureInvoice-10142024",
                    "final_capture": false
                  }
                },
                "authorizations_capture_empty_request": {
                  "summary": "Capture Authorized Payment with an empty request",
                  "description": "Captures an authorized payment, by ID.",
                  "value": {}
                },
                "authorizations_capture_with_prefer_header": {
                  "summary": "Capture Authorized Payment with Prefer Request Header",
                  "description": "Captures an authorized payment, by ID. Includes the `Prefer` request header.",
                  "value": {
                    "amount": {
                      "value": "10.99",
                      "currency_code": "USD"
                    },
                    "invoice_id": "INVOICE-123",
                    "final_capture": true
                  }
                }
              }
            }
          }
        },
        "x-exampleFlows": [
          {
            "title": "Capture authorized payment",
            "description": "Captures an authorized payment by ID with specified amount and invoice details.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_capture"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_capture",
            "response_example": "responses/201/content/application~1json/examples/authorizations_capture"
          },
          {
            "title": "Capture authorized payment with empty request body",
            "description": "Captures the full authorized amount by ID with an empty request body, using default values.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_capture_empty_request",
              "parameters/@name=='Prefer'/examples/authorizations_capture_empty_request"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_capture_empty_request",
            "response_example": "responses/201/content/application~1json/examples/authorizations_capture_empty_request"
          },
          {
            "title": "Capture with Prefer header for full representation",
            "description": "Captures an authorized payment by ID with the Prefer header set to return=representation to get complete capture details in the response.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_capture_with_prefer_header",
              "parameters/@name=='Prefer'/examples/authorizations_capture_with_prefer_header"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_capture_with_prefer_header",
            "response_example": "responses/201/content/application~1json/examples/authorizations_capture_with_prefer_header"
          },
          {
            "title": "Idempotent capture request (200 response)",
            "description": "Demonstrates an idempotent capture request where the same PayPal-Request-Id is used, resulting in a 200 OK response with existing capture details.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_capture_200_idempotent_response",
              "parameters/@name=='Prefer'/examples/authorizations_capture_200_idempotent_response"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_capture_200_idempotent_response",
            "response_example": "responses/200/content/application~1json/examples/authorizations_capture_200_idempotent_response"
          }
        ],
        "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"
                },
                "examples": {
                  "authorizations_capture_200_idempotent_response": {
                    "summary": "Capture Authorized Payment - 200 idempotent response",
                    "description": "Captures an authorized payment, by ID.",
                    "value": {
                      "id": "23T524207X938445J",
                      "amount": {
                        "currency_code": "USD",
                        "value": "100.00"
                      },
                      "final_capture": false,
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "seller_receivable_breakdown": {
                        "gross_amount": {
                          "currency_code": "USD",
                          "value": "1.00"
                        },
                        "paypal_fee": {
                          "currency_code": "USD",
                          "value": "0.52"
                        },
                        "net_amount": {
                          "currency_code": "USD",
                          "value": "0.48"
                        },
                        "exchange_rate": {}
                      },
                      "invoice_id": "OrderInvoice-10_10_2024_12_58_20_pm",
                      "status": "COMPLETED",
                      "create_time": "2024-10-14T21:29:26Z",
                      "update_time": "2024-10-14T21:29:26Z",
                      "links": [
                        {
                          "href": "https://api-m.paypal.com/v2/payments/captures/23T524207X938445J",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api-m.paypal.com/v2/payments/captures/23T524207X938445J/refund",
                          "rel": "refund",
                          "method": "POST"
                        },
                        {
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/6DR965477U7140544",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "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"
                },
                "examples": {
                  "authorizations_capture": {
                    "summary": "Capture Authorized Payment",
                    "description": "Captures an authorized payment, by ID.",
                    "value": {
                      "id": "2GG279541U471931P",
                      "status": "COMPLETED",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P"
                        },
                        {
                          "rel": "refund",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P/refund"
                        },
                        {
                          "rel": "up",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046"
                        }
                      ]
                    }
                  },
                  "authorizations_capture_empty_request": {
                    "summary": "Capture Authorized Payment with an empty request",
                    "description": "Captures an authorized payment, by ID.",
                    "value": {
                      "id": "7TK53561YB803214S",
                      "amount": {
                        "currency_code": "USD",
                        "value": "100.00"
                      },
                      "final_capture": true,
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "seller_receivable_breakdown": {
                        "gross_amount": {
                          "currency_code": "USD",
                          "value": "100.00"
                        },
                        "paypal_fee": {
                          "currency_code": "USD",
                          "value": "3.98"
                        },
                        "net_amount": {
                          "currency_code": "USD",
                          "value": "96.02"
                        },
                        "exchange_rate": {}
                      },
                      "invoice_id": "OrderInvoice-10_10_2024_12_58_20_pm",
                      "status": "PENDING",
                      "status_details": {
                        "reason": "OTHER"
                      },
                      "create_time": "2024-10-14T21:37:10Z",
                      "update_time": "2024-10-14T21:37:10Z",
                      "links": [
                        {
                          "href": "https://api.msmaster.qa.paypal.com/v2/payments/captures/7TK53561YB803214S",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api.msmaster.qa.paypal.com/v2/payments/captures/7TK53561YB803214S/refund",
                          "rel": "refund",
                          "method": "POST"
                        },
                        {
                          "href": "https://api.msmaster.qa.paypal.com/v2/payments/authorizations/6DR965477U7140544",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  },
                  "authorizations_capture_with_prefer_header": {
                    "summary": "Capture Authorized Payment with Prefer Request Header",
                    "description": "Captures an authorized payment, by ID. Includes the `Prefer` request header.",
                    "value": {
                      "id": "2GG279541U471931P",
                      "status": "COMPLETED",
                      "status_details": {},
                      "amount": {
                        "value": "10.99",
                        "currency_code": "USD"
                      },
                      "final_capture": true,
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "seller_receivable_breakdown": {
                        "gross_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        },
                        "paypal_fee": {
                          "value": "0.33",
                          "currency_code": "USD"
                        },
                        "net_amount": {
                          "value": "10.66",
                          "currency_code": "USD"
                        }
                      },
                      "invoice_id": "INV-123",
                      "create_time": "2017-09-11T23:24:01Z",
                      "update_time": "2017-09-11T23:24:01Z",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P"
                        },
                        {
                          "rel": "refund",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P/refund"
                        },
                        {
                          "rel": "up",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/0VF52814937998046"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request failed because it is not well-formed or is syntactically incorrect or violates schema.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "authorizations_capture_400_validation_error": {
                    "summary": "Capture Authorized Payment - 400 Bad Request - Validation Error",
                    "description": "This code sample attempts to capture an authorized payment but the request fails because a validation error occurred.",
                    "value": {
                      "name": "INVALID_REQUEST",
                      "message": "Request is not well-formed, syntactically incorrect, or violates schema.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "field": "/invoice_id",
                          "value": "ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZ_this_invoice_is_too_long",
                          "issue": "INVALID_STRING_MAX_LENGTH",
                          "description": "The value of a field is too long."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "404": {
            "$ref": "#/components/responses/404_error_response"
          },
          "409": {
            "description": "The server has detected a conflict while processing this request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "authorizations_capture_409_conflict": {
                    "summary": "Capture Authorized Payment - 409 Conflict - Operation in Progress Error",
                    "description": "This code sample attempts to capture 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 some time 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 is semantically incorrect or failed business validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "authorizations_capture_422_amount_limit_exceeded": {
                    "summary": "Capture Authorized Payment - 422 Unprocessable Entity - Requested Amount Exceeds Limit Error",
                    "description": "This code sample attempts to capture an authorized payment but the request fails because the requested amount exceeds the allowable limit.",
                    "value": {
                      "name": "UNPROCCESSABLE_ENTITY",
                      "message": "The requested action could not be completed, is semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "field": "/amount/value",
                          "value": "10.99",
                          "issue": "MAX_CAPTURE_AMOUNT_EXCEEDED",
                          "description": "Capture amount specified exceeded allowable limit. You can only capture up to the original authorization amount.",
                          "location": "body"
                        }
                      ]
                    }
                  },
                  "authorizations_capture_422_expired": {
                    "summary": "Capture Authorized Payment - 422 Unprocessable Entity - Authorization Expired Error",
                    "description": "This code sample attempts to capture an authorized payment but the request fails because the authorization expired.",
                    "value": {
                      "name": "UNPROCCESSABLE_ENTITY",
                      "message": "The requested action could not be completed, is semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "issue": "AUTHORIZATION_EXPIRED",
                          "description": "The authorization has expired."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        },
        "callbacks": {
          "capture_completed": {
            "$ref": "#/components/callbacks/capture_completed"
          },
          "capture_declined": {
            "$ref": "#/components/callbacks/capture_declined"
          },
          "capture_pending_kyc_incomplete": {
            "$ref": "#/components/callbacks/capture_pending_kyc_incomplete"
          }
        }
      }
    },
    "/v2/payments/authorizations/{authorization_id}/reauthorize": {
      "post": {
        "operationId": "authorizations.reauthorize",
        "summary": "Reauthorize authorized payment",
        "description": "Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. Within the 29-day authorization period, you can issue multiple re-authorizations after the honor period expires.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment from 4 to 29 days after the 3-day honor period. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter.",
        "tags": [
          "authorizations"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/payment/authcapture"
            ]
          }
        ],
        "parameters": [
          {
            "name": "authorization_id",
            "description": "The PayPal-generated ID for the authorized payment to reauthorize.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "example": {
                "summary": "Reauthorize Authorized Payment",
                "description": "The PayPal-generated ID for the authorized payment to reauthorize.",
                "value": "0VF52814937998046"
              }
            }
          },
          {
            "$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"
            },
            "examples": {
              "authorizations_reauthorize_with_prefer_header": {
                "summary": "Reauthorize Authorized Payment with Prefer Request Header",
                "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired. Includes the `Prefer` request header.",
                "value": "return=representation"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reauthorize_request"
              },
              "examples": {
                "authorizations_reauthorize": {
                  "summary": "Reauthorize Authorized Payment",
                  "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                  "value": {
                    "amount": {
                      "value": "10.99",
                      "currency_code": "USD"
                    }
                  }
                },
                "authorizations_reauthorize_200_idempotent_response": {
                  "summary": "Reauthorize Authorized Payment - 200 idempotent response",
                  "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                  "value": {
                    "amount": {
                      "value": "10.99",
                      "currency_code": "USD"
                    }
                  }
                },
                "authorizations_reauthorize_empty_request": {
                  "summary": "Reauthorize Authorized Payment with an empty request",
                  "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                  "value": {}
                },
                "authorizations_reauthorize_with_prefer_header": {
                  "summary": "Reauthorize Authorized Payment with Prefer Request Header",
                  "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired. Includes the `Prefer` request header.",
                  "value": {
                    "amount": {
                      "value": "10.99",
                      "currency_code": "USD"
                    }
                  }
                }
              }
            }
          }
        },
        "x-exampleFlows": [
          {
            "title": "Reauthorize payment after honor period",
            "description": "Reauthorizes an authorized payment by ID after the 3-day honor period has expired but within the 29-day authorization period.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/example"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_reauthorize",
            "response_example": "responses/201/content/application~1json/examples/authorizations_reauthorize"
          },
          {
            "title": "Reauthorize with empty request body",
            "description": "Reauthorizes an authorized payment by ID with an empty request body to reauthorize the full amount.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/example"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_reauthorize_empty_request",
            "response_example": "responses/201/content/application~1json/examples/authorizations_reauthorize_empty_request"
          },
          {
            "title": "Reauthorize with Prefer header for full representation",
            "description": "Reauthorizes an authorized payment by ID with the Prefer header set to return=representation to get complete reauthorization details in the response.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/example",
              "parameters/@name=='Prefer'/examples/authorizations_reauthorize_with_prefer_header"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_reauthorize_with_prefer_header",
            "response_example": "responses/201/content/application~1json/examples/authorizations_reauthorize_with_prefer_header"
          },
          {
            "title": "Idempotent reauthorization request (200 response)",
            "description": "Demonstrates an idempotent reauthorization request where the same PayPal-Request-Id is used, resulting in a 200 OK response with existing authorization details.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/example"
            ],
            "request_example": "requestBody/content/application~1json/examples/authorizations_reauthorize_200_idempotent_response",
            "response_example": "responses/200/content/application~1json/examples/authorizations_reauthorize_200_idempotent_response"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows the reauthorized payment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/authorization-2"
                },
                "examples": {
                  "authorizations_reauthorize_200_idempotent_response": {
                    "summary": "Reauthorize Authorized Payment - 200 idempotent response",
                    "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                    "value": {
                      "id": "8AA831015G517922L",
                      "status": "CREATED",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L"
                        },
                        {
                          "rel": "capture",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/capture"
                        },
                        {
                          "rel": "void",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/void"
                        },
                        {
                          "rel": "reauthorize",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/reauthorize"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "A successful request returns the HTTP <code>201 Created</code> status code and a JSON response body that shows the reauthorized payment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/authorization-2"
                },
                "examples": {
                  "authorizations_reauthorize": {
                    "summary": "Reauthorize Authorized Payment",
                    "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                    "value": {
                      "id": "8AA831015G517922L",
                      "status": "CREATED",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L"
                        },
                        {
                          "rel": "capture",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/capture"
                        },
                        {
                          "rel": "void",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/void"
                        },
                        {
                          "rel": "reauthorize",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/reauthorize"
                        }
                      ]
                    }
                  },
                  "authorizations_reauthorize_empty_request": {
                    "summary": "Reauthorize Authorized Payment with an empty request",
                    "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired.",
                    "value": {
                      "id": "8AA831015G517922L",
                      "status": "CREATED",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api.paypal.com/v2/payments/authorizations/8AA831015G517922L"
                        },
                        {
                          "rel": "capture",
                          "method": "POST",
                          "href": "https://api.paypal.com/v2/payments/authorizations/8AA831015G517922L/capture"
                        },
                        {
                          "rel": "void",
                          "method": "POST",
                          "href": "https://api.paypal.com/v2/payments/authorizations/8AA831015G517922L/void"
                        },
                        {
                          "rel": "reauthorize",
                          "method": "POST",
                          "href": "https://api.paypal.com/v2/payments/authorizations/8AA831015G517922L/reauthorize"
                        }
                      ]
                    }
                  },
                  "authorizations_reauthorize_with_prefer_header": {
                    "summary": "Reauthorize Authorized Payment with Prefer Request Header",
                    "description": "Reauthorizes an authorized payment, by ID. The honor period for the authorized payment has expired. Includes the `Prefer` request header.",
                    "value": {
                      "id": "8AA831015G517922L",
                      "status": "CREATED",
                      "amount": {
                        "value": "10.99",
                        "currency_code": "USD"
                      },
                      "invoice_id": "INVOICE-123",
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "expiration_time": "2018-10-10T23:23:45Z",
                      "create_time": "2018-09-11T23:23:45Z",
                      "update_time": "2018-09-11T23:23:45Z",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L"
                        },
                        {
                          "rel": "capture",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/capture"
                        },
                        {
                          "rel": "void",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/void"
                        },
                        {
                          "rel": "reauthorize",
                          "method": "POST",
                          "href": "https://api-m.paypal.com/v2/payments/authorizations/8AA831015G517922L/reauthorize"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request failed because it is not well-formed or is syntactically incorrect or violates schema.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "authorizations_reauthorize_400_validation_error": {
                    "summary": "Reauthorize Authorized Payment - 400 Bad Request - Validation Error",
                    "description": "This code sample attempts to reauthorize an authorized payment but the request fails due to a validation error.",
                    "value": {
                      "name": "INVALID_REQUEST",
                      "message": "Request is not well-formed, syntactically incorrect, or violates schema.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "field": "/amount/value",
                          "value": "123456789012345678901234567890123",
                          "issue": "INVALID_STRING_MAX_LENGTH",
                          "description": "the value of a field is too long.",
                          "location": "body"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "404": {
            "$ref": "#/components/responses/404_error_response"
          },
          "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_reauthorize_422_auth_currency_mismatch": {
                    "summary": "Reauthorize Authorized Payment - 422 Unprocessable Entity - Reauthorization Currency Mismatch",
                    "description": "This code sample attempts to reauthorize an authorized payment but the request fails because reauthorization currency does not matches with the original authorization currency.",
                    "value": {
                      "name": "UNPROCESSABLE_ENTITY",
                      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "issue": "AUTH_CURRENCY_MISMATCH",
                          "description": "The currency specified during reauthorization should be the same as the currency specified in the original authorization. Please check the currency of the authorization for which you are trying to reauthorize and try again."
                        }
                      ],
                      "links": [
                        {
                          "href": "https://developer.paypal.com/docs/api/payments/v2/#error-AUTH_CURRENCY_MISMATCH",
                          "rel": "information_link"
                        }
                      ]
                    }
                  },
                  "authorizations_reauthorize_422_inside_honor_period": {
                    "summary": "Reauthorize Authorized Payment - 422 Unprocessable Entity - Authorization in Honor Period Error",
                    "description": "This code sample attempts to reauthorize an authorized payment but the request fails because the authorization is still within the honor period.",
                    "value": {
                      "name": "UNPROCCESSABLE_ENTITY",
                      "message": "The requested action could not be completed, is semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "issue": "REAUTHORIZATION_TOO_SOON",
                          "description": "Re-authorization is not allowed within the three-day honor period."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        }
      }
    },
    "/v2/payments/authorizations/{authorization_id}/void": {
      "post": {
        "operationId": "authorizations.void",
        "summary": "Void authorized payment",
        "description": "Voids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured.",
        "tags": [
          "authorizations"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/payment/authcapture"
            ]
          }
        ],
        "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"
            }
          }
        ],
        "x-exampleFlows": [
          {
            "title": "Void authorized payment",
            "description": "Voids or cancels an authorized payment by ID. Returns minimal response with status code 204 No Content.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_void"
            ]
          },
          {
            "title": "Void authorized payment with full representation (200 response)",
            "description": "Voids or cancels an authorized payment by ID. Returns full representation when Prefer header is set to return=representation, resulting in 200 OK status code.",
            "parameter_examples": [
              "parameters/@name=='authorization_id'/examples/authorizations_void_200_idempotent_response"
            ],
            "response_example": "responses/200/content/application~1json/examples/authorizations_void_200_idempotent_response"
          }
        ],
        "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": {
            "$ref": "#/components/callbacks/authorization_voided"
          },
          "authorization_voided_expired": {
            "$ref": "#/components/callbacks/authorization_voided_expired"
          }
        }
      }
    },
    "/v2/payments/captures/{capture_id}": {
      "get": {
        "operationId": "captures.get",
        "summary": "Show captured payment details",
        "description": "Shows details for a captured payment, by ID.",
        "tags": [
          "captures"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/payment/authcapture"
            ]
          }
        ],
        "parameters": [
          {
            "name": "capture_id",
            "description": "The PayPal-generated ID for the captured payment for which to show details.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "capture_get_with_paypal_fee_receivable_currency": {
                "summary": "Show Captured Payment Details",
                "description": "Shows details for a captured payment, by ID.",
                "value": "74L756601X447022Y"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          }
        ],
        "x-exampleFlows": [
          {
            "title": "Show captured payment details with paypal fee in receivable currency",
            "description": "Retrieves complete details for a captured payment by ID with PayPal fee breakdown.",
            "parameter_examples": [
              "parameters/@name=='capture_id'/examples/capture_get_with_paypal_fee_receivable_currency"
            ],
            "response_example": "responses/200/content/application~1json/examples/capture_get_with_paypal_fee_receivable_currency"
          }
        ],
        "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"
                },
                "examples": {
                  "capture_get_with_paypal_fee_receivable_currency": {
                    "summary": "Show Captured Payment Details",
                    "description": "Shows details for a captured payment, by ID.",
                    "value": {
                      "id": "74L756601X447022Y",
                      "amount": {
                        "currency_code": "USD",
                        "value": "100.00"
                      },
                      "final_capture": true,
                      "seller_protection": {
                        "status": "ELIGIBLE",
                        "dispute_categories": [
                          "ITEM_NOT_RECEIVED",
                          "UNAUTHORIZED_TRANSACTION"
                        ]
                      },
                      "seller_receivable_breakdown": {
                        "gross_amount": {
                          "currency_code": "USD",
                          "value": "100.00"
                        },
                        "paypal_fee": {
                          "currency_code": "USD",
                          "value": "3.98"
                        },
                        "net_amount": {
                          "currency_code": "USD",
                          "value": "96.02"
                        }
                      },
                      "invoice_id": "OrderInvoice-23_10_2024_12_27_32_pm",
                      "status": "COMPLETED",
                      "supplementary_data": {
                        "related_ids": {
                          "order_id": "25M43554V9523650M",
                          "authorization_id": "0T620041CK889853A"
                        }
                      },
                      "payee": {
                        "email_address": "merchant@example.com",
                        "merchant_id": "YXZY75W2GKDQE"
                      },
                      "create_time": "2024-10-23T20:55:19Z",
                      "update_time": "2024-10-23T20:55:19Z",
                      "links": [
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/captures/74L756601X447022Y",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/captures/74L756601X447022Y/refund",
                          "rel": "refund",
                          "method": "POST"
                        },
                        {
                          "href": "https://api-m.sandbox.paypal.com/v2/payments/authorizations/0T620041CK889853A",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "404": {
            "$ref": "#/components/responses/404_error_response"
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        }
      }
    },
    "/v2/payments/captures/{capture_id}/refund": {
      "post": {
        "operationId": "captures.refund",
        "summary": "Refund captured payment",
        "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an <code>amount</code> object in the JSON request body.",
        "tags": [
          "captures"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/refund"
            ]
          }
        ],
        "parameters": [
          {
            "name": "capture_id",
            "description": "The PayPal-generated ID for the captured payment to refund.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "captures_refund_200_idempotent_response": {
                "summary": "Refund Captured Payment - 200 idempotent response",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "2GG279541U471931P"
              },
              "captures_refund_empty_request": {
                "summary": "Refund Captured Payment with an empty request",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "7TK53561YB803214S"
              },
              "captures_refund_with_prefer_header": {
                "summary": "Refund Captured Payment",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "2GG279541U471931P"
              }
            }
          },
          {
            "$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"
            },
            "examples": {
              "captures_refund_200_idempotent_response": {
                "summary": "Refund Captured Payment - 200 idempotent response",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "return=representation"
              },
              "captures_refund_with_prefer_header": {
                "summary": "Refund Captured Payment",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "return=representation"
              },
              "captures_refund_empty_request": {
                "summary": "Refund Captured Payment with an empty request",
                "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                "value": "return=representation"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/refund_request"
              },
              "examples": {
                "captures_refund_200_idempotent_response": {
                  "summary": "Refund Captured Payment - 200 idempotent response",
                  "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                  "value": {
                    "amount": {
                      "value": "1.00",
                      "currency_code": "USD"
                    },
                    "invoice_id": "RefundInvoice-123",
                    "custom_id": "RefundCustom-123"
                  }
                },
                "captures_refund_empty_request": {
                  "summary": "Refund Captured Payment with an empty request",
                  "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                  "value": {}
                },
                "captures_refund_with_prefer_header": {
                  "summary": "Refund Captured Payment",
                  "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                  "value": {
                    "amount": {
                      "value": "10.99",
                      "currency_code": "USD"
                    },
                    "invoice_id": "INVOICE-123",
                    "note": "Defective product"
                  }
                }
              }
            }
          }
        },
        "x-exampleFlows": [
          {
            "title": "Partial refund of a captured payment",
            "description": "Refunds a portion of a captured payment by ID. Includes an amount object in the request body specifying the partial refund amount.",
            "parameter_examples": [
              "parameters/@name=='capture_id'/examples/captures_refund"
            ],
            "request_example": "requestBody/content/application~1json/examples/captures_refund",
            "response_example": "responses/201/content/application~1json/examples/captures_refund"
          },
          {
            "title": "Full refund with empty request body",
            "description": "Refunds the full amount of a captured payment by ID. Includes an empty payload in the request body.",
            "parameter_examples": [
              "parameters/@name=='capture_id'/examples/captures_refund_empty_request",
              "parameters/@name=='Prefer'/examples/captures_refund_empty_request"
            ],
            "request_example": "requestBody/content/application~1json/examples/captures_refund_empty_request",
            "response_example": "responses/201/content/application~1json/examples/captures_refund_empty_request"
          },
          {
            "title": "Refund with Prefer header for full representation",
            "description": "Refunds a captured payment by ID with the Prefer header set to return=representation to get the complete refund details in the response.",
            "parameter_examples": [
              "parameters/@name=='capture_id'/examples/captures_refund_with_prefer_header",
              "parameters/@name=='Prefer'/examples/captures_refund_with_prefer_header"
            ],
            "request_example": "requestBody/content/application~1json/examples/captures_refund_with_prefer_header",
            "response_example": "responses/201/content/application~1json/examples/captures_refund_with_prefer_header"
          },
          {
            "title": "Idempotent refund request (200 response)",
            "description": "Demonstrates an idempotent refund request where the same PayPal-Request-Id is used, resulting in a 200 OK response with the existing refund details.",
            "parameter_examples": [
              "parameters/@name=='capture_id'/examples/captures_refund_200_idempotent_response",
              "parameters/@name=='Prefer'/examples/captures_refund_200_idempotent_response"
            ],
            "request_example": "requestBody/content/application~1json/examples/captures_refund_200_idempotent_response",
            "response_example": "responses/200/content/application~1json/examples/captures_refund_200_idempotent_response"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows refund details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                },
                "examples": {
                  "captures_refund_200_idempotent_response": {
                    "summary": "Refund Captured Payment - 200 idempotent response",
                    "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                    "value": {
                      "id": "0K35355239430361V",
                      "amount": {
                        "currency_code": "USD",
                        "value": "1.00"
                      },
                      "seller_payable_breakdown": {
                        "gross_amount": {
                          "currency_code": "USD",
                          "value": "1.00"
                        },
                        "paypal_fee": {
                          "currency_code": "USD",
                          "value": "0.00"
                        },
                        "net_amount": {
                          "currency_code": "USD",
                          "value": "1.00"
                        },
                        "total_refunded_amount": {
                          "currency_code": "USD",
                          "value": "11.00"
                        }
                      },
                      "invoice_id": "RefundInvoice-14_10_2024_4_58_32_pm",
                      "custom_id": "RefundCustom-14_10_2024_4_58_32_pm",
                      "status": "COMPLETED",
                      "create_time": "2024-10-14T14:58:34-07:00",
                      "update_time": "2024-10-14T14:58:34-07:00",
                      "links": [
                        {
                          "href": "https://api.paypal.com/v2/payments/refunds/0K35355239430361V",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api.paypal.com/v2/payments/captures/7TK53561YB803214S",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "A successful request returns the HTTP <code>201 Created</code> status code and a JSON response body that shows refund details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                },
                "examples": {
                  "captures_refund_empty_request": {
                    "summary": "Refund Captured Payment with an empty request",
                    "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                    "value": {
                      "id": "58K15806CS993444T",
                      "amount": {
                        "currency_code": "USD",
                        "value": "89.00"
                      },
                      "seller_payable_breakdown": {
                        "gross_amount": {
                          "currency_code": "USD",
                          "value": "89.00"
                        },
                        "paypal_fee": {
                          "currency_code": "USD",
                          "value": "0.00"
                        },
                        "net_amount": {
                          "currency_code": "USD",
                          "value": "89.00"
                        },
                        "total_refunded_amount": {
                          "currency_code": "USD",
                          "value": "100.00"
                        }
                      },
                      "invoice_id": "OrderInvoice-10_10_2024_12_58_20_pm",
                      "status": "COMPLETED",
                      "create_time": "2024-10-14T15:03:29-07:00",
                      "update_time": "2024-10-14T15:03:29-07:00",
                      "links": [
                        {
                          "href": "https://api.msmaster.qa.paypal.com/v2/payments/refunds/58K15806CS993444T",
                          "rel": "self",
                          "method": "GET"
                        },
                        {
                          "href": "https://api.msmaster.qa.paypal.com/v2/payments/captures/7TK53561YB803214S",
                          "rel": "up",
                          "method": "GET"
                        }
                      ]
                    }
                  },
                  "captures_refund_with_prefer_header": {
                    "summary": "Refund Captured Payment",
                    "description": "Refunds a captured payment, by ID. For a full refund, include an empty payload in the request body. For a partial refund, include an `amount` object.",
                    "value": {
                      "id": "1JU08902781691411",
                      "amount": {
                        "value": "10.99",
                        "currency_code": "USD"
                      },
                      "status": "COMPLETED",
                      "note": "Defective product",
                      "seller_payable_breakdown": {
                        "gross_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        },
                        "paypal_fee": {
                          "value": "0",
                          "currency_code": "USD"
                        },
                        "net_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        },
                        "total_refunded_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        }
                      },
                      "invoice_id": "INVOICE-123",
                      "create_time": "2018-09-11T23:24:19Z",
                      "update_time": "2018-09-11T23:24:19Z",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/refunds/1JU08902781691411"
                        },
                        {
                          "rel": "up",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request failed because it is not well-formed or is syntactically incorrect or violates schema.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "capture_refund_400_invalid_request": {
                    "summary": "Refund Captured Payment - 400 Bad Request - Validation Error",
                    "description": "This code sample attempts to refund a captured payment, but the request fails because a validation error occurred.",
                    "value": {
                      "name": "INVALID_REQUEST",
                      "message": "Request is not well-formed, syntactically incorrect, or violates schema",
                      "debug_id": "78916e688cf7f",
                      "details": [
                        {
                          "issue": "INVALID_STRING_LENGTH",
                          "field": "/invoice_id",
                          "value": "Fm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinqFm67fYiinq",
                          "description": "The value of a field is either too short or too long.",
                          "location": "body"
                        }
                      ],
                      "links": [
                        {
                          "href": "https://developer.paypal.com/docs/api/payments/v2/#error-INVALID_STRING_LENGTH",
                          "rel": "information_link"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "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": {
                  "captures_refund_409_conflict": {
                    "summary": "Refund Captured Payment - 409 Conflict - Operation in Progress Error",
                    "description": "This code sample attempts to refund a captured 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 some time 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": {
                  "captures_refund_422_amount_exceeded": {
                    "summary": "Refund Captured Payment - 422 Unprocessable Entity - Refund Amount Exceeded Error",
                    "description": "This code sample attempts to refund a captured payment, but the request fails because the refund amount has exceeded the capture amount.",
                    "value": {
                      "name": "UNPROCCESSABLE_ENTITY",
                      "message": "The requested action could not be completed, is semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "issue": "REFUND_AMOUNT_EXCEEDED",
                          "description": "The refund amount must be less than or equal to the capture amount that has not yet been refunded."
                        }
                      ]
                    }
                  },
                  "captures_refund_422_transaction_disputed": {
                    "summary": "Refund Captured Payment - 422 Unprocessable Entity - Capture Disputed Partial Refund Error",
                    "description": "This code sample attempts to partially refund a captured payment, but the request fails because the captured payment is currently under dispute.",
                    "value": {
                      "name": "UNPROCESSABLE_ENTITY",
                      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "issue": "TRANSACTION_DISPUTED",
                          "description": "Partial refunds cannot be offered at this time because there is an open case on this transaction. Visit the PayPal Resolution Center to review this case."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        },
        "callbacks": {
          "capture_refunded": {
            "$ref": "#/components/callbacks/capture_refunded"
          }
        }
      }
    },
    "/v2/payments/find-eligible-methods": {
      "post": {
        "operationId": "find.eligible.methods",
        "summary": "Find a list of eligible payment methods.",
        "description": "Get a list of eligible payment methods based on the input parameters provided.",
        "tags": [
          "find-eligible-methods"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/realtimepayment",
              "https://uri.paypal.com/services/payments/payments-ready",
              "Braintree:PaymentsReady",
              "https://uri.paypal.com/services/payments/client-payments-eligibility"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          },
          {
            "$ref": "#/components/parameters/user_agent"
          },
          {
            "$ref": "#/components/parameters/paypal_client_metadata_id"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/find_eligible_methods_request"
              },
              "examples": {
                "find_eligible_payment_methods_exclude_payment_sources": {
                  "summary": "Eligible Payment Methods - Exclude listed payment methods",
                  "description": "Eligible Payment Methods - Exclude listed payment methods",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "channel": {
                        "browser_type": "SAFARI",
                        "device_type": "MOBILE",
                        "client_os": "IOS"
                      }
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "100.00"
                        }
                      }
                    ],
                    "preferences": {
                      "payment_source_constraint": {
                        "constraint_type": "EXCLUDE",
                        "payment_sources": [
                          "PAYPAL"
                        ]
                      }
                    }
                  }
                },
                "find_eligible_payment_methods_for_partner_with_multiple_seller_purchase": {
                  "summary": "Eligible Payment Methods for a customer who is purchasing from multiple sellers",
                  "description": "Eligible Payment Methods for a customer who is purchasing from multiple sellers.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "channel": {
                        "browser_type": "SAFARI",
                        "device_type": "MOBILE",
                        "client_os": "IOS"
                      }
                    },
                    "purchase_units": [
                      {
                        "payee": {
                          "merchant_id": "NGHNXQ95SRMUY"
                        },
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      },
                      {
                        "payee": {
                          "merchant_id": "2DDJ3PFG2VFFA"
                        },
                        "amount": {
                          "currency_code": "USD",
                          "value": "300.00"
                        }
                      }
                    ]
                  }
                },
                "find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel": {
                  "summary": "Eligible Payment Methods with User-Agent header",
                  "description": "Eligible Payment Methods for merchant sharing User-Agent instead of channel.",
                  "value": {
                    "customer": {
                      "country_code": "US"
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "100.00"
                        }
                      }
                    ]
                  }
                },
                "find_eligible_payment_methods_not_requiring_payment_tokens": {
                  "summary": "Eligible Payment Methods without payment token information",
                  "description": "Eligible Payment Methods without payment token information.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "channel": {
                        "browser_type": "Safari",
                        "device_type": "Mobile",
                        "client_os": "iOs 16,3"
                      }
                    },
                    "purchase_units": [
                      {
                        "payee": {
                          "merchant_id": "NGHNXQ95SRMUY"
                        },
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ]
                  }
                },
                "find_eligible_payment_methods_with_account_details_searchedBy_email_only_honey_account_found": {
                  "summary": "Customer recognition using customer email and phone number",
                  "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "email": "customer12345@gmail.com",
                      "phone": {
                        "country_code": "1",
                        "national_number": "1234567890"
                      }
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ],
                    "preferences": {
                      "include_account_details": true,
                      "payment_source_constraint": {
                        "constraint_type": "INCLUDE",
                        "payment_sources": [
                          "PAYPAL",
                          "VENMO"
                        ]
                      }
                    }
                  }
                },
                "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_paypal_account_found": {
                  "summary": "Customer recognition using customer email and phone number",
                  "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "email": "customer12345@gmail.com",
                      "phone": {
                        "country_code": "1",
                        "national_number": "1234567890"
                      }
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ],
                    "preferences": {
                      "include_account_details": true,
                      "payment_source_constraint": {
                        "constraint_type": "INCLUDE",
                        "payment_sources": [
                          "PAYPAL",
                          "VENMO"
                        ]
                      }
                    }
                  }
                },
                "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_venmo_account_found": {
                  "summary": "Customer recognition using customer email and phone number",
                  "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "email": "customer12345@gmail.com",
                      "phone": {
                        "country_code": "1",
                        "national_number": "1234567890"
                      }
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ],
                    "preferences": {
                      "include_account_details": true,
                      "payment_source_constraint": {
                        "constraint_type": "INCLUDE",
                        "payment_sources": [
                          "PAYPAL",
                          "VENMO"
                        ]
                      }
                    }
                  }
                },
                "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found": {
                  "summary": "Customer recognition using customer email and phone number",
                  "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "email": "customer12345@gmail.com",
                      "phone": {
                        "country_code": "1",
                        "national_number": "1234567890"
                      }
                    },
                    "purchase_units": [
                      {
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ],
                    "preferences": {
                      "include_account_details": true,
                      "payment_source_constraint": {
                        "constraint_type": "INCLUDE",
                        "payment_sources": [
                          "PAYPAL",
                          "VENMO"
                        ]
                      }
                    }
                  }
                },
                "find_eligible_payment_methods_with_payment_tokens": {
                  "summary": "Eligible Payment Methods - with payment tokens",
                  "description": "Eligible Payment Methods for merchant with payment token information.",
                  "value": {
                    "customer": {
                      "country_code": "US",
                      "id": "customer_4029352050",
                      "channel": {
                        "browser_type": "Safari",
                        "device_type": "Mobile",
                        "client_os": "iOs 16,3"
                      }
                    },
                    "purchase_units": [
                      {
                        "payee": {
                          "merchant_id": "NGHNXQ95SRMUY"
                        },
                        "amount": {
                          "currency_code": "USD",
                          "value": "200.00"
                        }
                      }
                    ],
                    "preferences": {
                      "include_vault_tokens": true,
                      "payment_source_constraint": {
                        "constraint_type": "INCLUDE",
                        "payment_sources": [
                          "PAYPAL",
                          "VENMO"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-exampleFlows": [
          {
            "title": "Find eligible payment methods excluding specific sources",
            "description": "Get eligible payment methods for a customer while excluding specific payment sources like PayPal. Useful for controlling which payment options are presented.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_exclude_payment_sources",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_exclude_payment_sources"
          },
          {
            "title": "Find eligible payment methods for multiple seller purchase",
            "description": "Get eligible payment methods for a customer purchasing from multiple sellers. Returns payment methods that work for all payees in the transaction.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_for_partner_with_multiple_seller_purchase",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_for_partner_with_multiple_seller_purchase"
          },
          {
            "title": "Find eligible payment methods with User-Agent header",
            "description": "Get eligible payment methods when merchant shares User-Agent header instead of channel information. The API derives device context from User-Agent.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel"
          },
          {
            "title": "Find eligible payment methods without payment tokens",
            "description": "Get eligible payment methods without requesting vaulted payment tokens. Returns basic eligibility information for PayPal, Venmo, and Pay Later options.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_not_requiring_payment_tokens",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_not_requiring_payment_tokens"
          },
          {
            "title": "Customer recognition using email and phone",
            "description": "Get eligible payment methods along with PayPal and Venmo account confirmation by providing customer email and phone number. Includes account recognition and recommendations.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found"
          },
          {
            "title": "Find eligible payment methods with vaulted payment tokens",
            "description": "Get eligible payment methods including vaulted payment tokens for the customer. Returns saved PayPal and Venmo payment instruments.",
            "request_example": "requestBody/content/application~1json/examples/find_eligible_payment_methods_with_payment_tokens",
            "response_example": "responses/200/content/application~1json/examples/find_eligible_payment_methods_with_payment_tokens"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that provides list of eligibile payments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/find_eligible_methods_response"
                },
                "examples": {
                  "find_eligible_payment_methods_exclude_payment_sources": {
                    "summary": "Eligible Payment Methods - Exclude listed payment methods",
                    "description": "Eligible Payment Methods - Exclude listed payment methods",
                    "value": {
                      "eligible_methods": {
                        "venmo": {
                          "can_be_vaulted": true
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_for_partner_with_multiple_seller_purchase": {
                    "summary": "Eligible Payment Methods for a customer who is purchasing from multiple sellers",
                    "description": "Eligible Payment Methods for a customer who is purchasing from multiple sellers.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel": {
                    "summary": "Eligible Payment Methods with User-Agent header",
                    "description": "Eligible Payment Methods for merchant sharing User-Agent instead of channel.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true
                        },
                        "venmo": {
                          "can_be_vaulted": true
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_not_requiring_payment_tokens": {
                    "summary": "Eligible Payment Methods without payment token information",
                    "description": "Eligible Payment Methods without payment token information.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true
                        },
                        "venmo": {
                          "can_be_vaulted": true
                        },
                        "paypal_pay_later": {
                          "can_be_vaulted": false
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_with_account_details_searchedBy_email_only_honey_account_found": {
                    "summary": "Customer recognition using customer email and phone number",
                    "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": false
                        },
                        "venmo": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": false
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_paypal_account_found": {
                    "summary": "Customer recognition using customer email and phone number",
                    "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": true,
                          "recommended_priority": 1
                        },
                        "venmo": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": false
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_venmo_account_found": {
                    "summary": "Customer recognition using customer email and phone number",
                    "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": false
                        },
                        "venmo": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": true,
                          "recommended_priority": 1
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found": {
                    "summary": "Customer recognition using customer email and phone number",
                    "description": "Eligible payment methods along with PayPal and Venmo account confirmation for merchants sharing customer email and phone number.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": true,
                          "recommended_priority": 1
                        },
                        "venmo": {
                          "can_be_vaulted": true,
                          "eligible_in_paypal_network": true,
                          "recommended": false
                        }
                      }
                    }
                  },
                  "find_eligible_payment_methods_with_payment_tokens": {
                    "summary": "Eligible Payment Methods - with payment tokens",
                    "description": "Eligible Payment Methods for merchant with payment token information.",
                    "value": {
                      "eligible_methods": {
                        "paypal": {
                          "can_be_vaulted": true
                        },
                        "venmo": {
                          "can_be_vaulted": true
                        }
                      },
                      "payment_tokens": [
                        {
                          "id": "fgh6561t",
                          "payment_source": {
                            "paypal": {
                              "email_address": "john.doe@example.com"
                            }
                          },
                          "links": [
                            {
                              "rel": "self",
                              "href": "https://api-m.paypal.com/v3/vault/payment-tokens/fgh656",
                              "method": "GET"
                            },
                            {
                              "rel": "delete",
                              "href": "https://api-m.paypal.com/v3/vault/payment-tokens/fgh656",
                              "method": "DELETE"
                            }
                          ]
                        },
                        {
                          "id": "hg654s1t",
                          "payment_source": {
                            "venmo": {
                              "user_name": "johndoe"
                            }
                          },
                          "links": [
                            {
                              "rel": "self",
                              "href": "https://api-m.paypal.com/v3/vault/payment-tokens/hg654s",
                              "method": "GET"
                            },
                            {
                              "rel": "delete",
                              "href": "https://api-m.paypal.com/v3/vault/payment-tokens/hg654s",
                              "method": "DELETE"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request failed because it is not well-formed or is syntactically incorrect or violates schema.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "find_eligible_payment_methods_400_with_invalid_schema": {
                    "summary": "Eligible Payment Methods - 400 Invalid Request.",
                    "description": "This request attempts to get payment methods but the request fails as it has invalid length (3 instead of 2) for customer's country_code.",
                    "value": {
                      "name": "INVALID_REQUEST",
                      "debug_id": "b1d1f06c7246c",
                      "message": "Request is not well-formed, syntactically incorrect, or violates schema",
                      "details": [
                        {
                          "field": "/customer/country_code",
                          "value": "USA",
                          "location": "body",
                          "issue": "INVALID_STRING_LENGTH",
                          "description": "The value of a field is either too short or too long."
                        }
                      ],
                      "links": [
                        {
                          "href": "https://developer.paypal.com/docs/api/payments/v2/#errors",
                          "rel": "information_link",
                          "method": "GET",
                          "encType": "application/json"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "422": {
            "description": "The request failed because it either is semantically incorrect or failed business validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                },
                "examples": {
                  "find_eligible_payment_methods_422_invalid_currency_code": {
                    "summary": "Eligible Payment Methods - 422 Unprocessable Entity",
                    "description": "This request attempts to get payment methods but the request fails because the currency code passed doesn't exist.",
                    "value": {
                      "name": "UNPROCESSABLE_ENTITY",
                      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
                      "debug_id": "90bff07028f7f",
                      "details": [
                        {
                          "field": "/purchase_units/amount/currency_code",
                          "value": "III",
                          "issue": "INVALID_CURRENCY_CODE",
                          "description": "Currency code is invalid. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."
                        }
                      ],
                      "links": [
                        {
                          "href": "https://developer.paypal.com/docs/api/payments/v2/#errors",
                          "rel": "information_link",
                          "method": "GET"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        }
      }
    },
    "/v2/payments/refunds/{refund_id}": {
      "get": {
        "operationId": "refunds.get",
        "summary": "Show refund details",
        "description": "Shows details for a refund, by ID.",
        "tags": [
          "refunds"
        ],
        "security": [
          {
            "Oauth2": [
              "https://uri.paypal.com/services/payments/refund"
            ]
          }
        ],
        "parameters": [
          {
            "name": "refund_id",
            "description": "The PayPal-generated ID for the refund for which to show details.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 0,
              "maxLength": 2147483647,
              "pattern": "^[\\S\\s]*$"
            },
            "examples": {
              "refunds_get_platform_fees": {
                "summary": "Show Refund Details with Platform Fees",
                "description": "Shows details for a refund, by ID, with platform fees.",
                "value": "1JU08902781691411"
              }
            }
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/paypal_auth_assertion"
          }
        ],
        "x-exampleFlows": [
          {
            "title": "Show refund details with platform fees",
            "description": "Retrieves details for a refund by ID including platform fees information.",
            "parameter_examples": [
              "parameters/@name=='refund_id'/examples/refunds_get_platform_fees"
            ],
            "response_example": "responses/200/content/application~1json/examples/refunds_get_platform_fees"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows refund details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                },
                "examples": {
                  "refunds_get_platform_fees": {
                    "summary": "Show Refund Details with Platform Fees",
                    "description": "Shows details for a refund, by ID, with platform fees.",
                    "value": {
                      "id": "1JU08902781691411",
                      "amount": {
                        "value": "10.99",
                        "currency_code": "USD"
                      },
                      "status": "COMPLETED",
                      "note": "Defective product",
                      "seller_payable_breakdown": {
                        "gross_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        },
                        "paypal_fee": {
                          "value": "0.33",
                          "currency_code": "USD"
                        },
                        "platform_fees": [
                          {
                            "amount": {
                              "currency_code": "USD",
                              "value": "1.00"
                            },
                            "payee": {
                              "email_address": "fee@example.com"
                            }
                          }
                        ],
                        "net_amount": {
                          "value": "9.66",
                          "currency_code": "USD"
                        },
                        "total_refunded_amount": {
                          "value": "10.99",
                          "currency_code": "USD"
                        }
                      },
                      "invoice_id": "INVOICE-123",
                      "create_time": "2018-09-11T23:24:19Z",
                      "update_time": "2018-09-11T23:24:19Z",
                      "links": [
                        {
                          "rel": "self",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/refunds/1JU08902781691411"
                        },
                        {
                          "rel": "up",
                          "method": "GET",
                          "href": "https://api-m.paypal.com/v2/payments/captures/2GG279541U471931P"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401_error_response"
          },
          "403": {
            "$ref": "#/components/responses/403_error_response"
          },
          "404": {
            "$ref": "#/components/responses/404_error_response"
          },
          "500": {
            "$ref": "#/components/responses/500_error_response"
          },
          "default": {
            "$ref": "#/components/responses/default_response"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Oauth2": {
        "type": "oauth2",
        "description": "OAuth 2.0 authentication",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/oauth-proxy",
            "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."
            }
          }
        }
      }
    },
    "parameters": {
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "user_agent": {
        "name": "User-Agent",
        "in": "header",
        "description": "A characteristic string that lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent. API calls made by PayPal SDKs SHOULD be identified using this request header.",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/standard_header_schema"
        },
        "examples": {
          "safari_on_ipad": {
            "summary": "A user-agent for Safari on iPad.",
            "description": "A user-agent header for Safari on iPad.",
            "value": "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405"
          }
        }
      },
      "paypal_client_metadata_id": {
        "name": "PayPal-Client-Metadata-Id",
        "in": "header",
        "description": "A GUID value originating from Fraudnet and Dyson passed from external API clients via HTTP header. The value is used by Risk decisions to correlate calls which, in turn, might result in lower decline rates..",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/guid"
        },
        "examples": {
          "guid": {
            "summary": "A GUID.",
            "description": "A paypal-client-metadata-id header with a randomized value.",
            "value": "1295065d-6f34-42dc-ac65-fac0c86af250"
          }
        }
      }
    },
    "schemas": {
      "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": "^.*$"
      },
      "email_address": {
        "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])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-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])+)\\])$"
      },
      "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"
        ]
      },
      "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])+)\\]).*$"
      },
      "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]+$"
          }
        }
      },
      "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]*$"
      },
      "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]+))$"
          }
        }
      },
      "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})$"
      },
      "country_code-2": {
        "description": "The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/) that identifies the country or region.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.</blockquote>",
        "type": "string",
        "minLength": 2,
        "maxLength": 2,
        "pattern": "^([A-Z]{2}|C2)$"
      },
      "phone-2": {
        "title": "Phone",
        "description": "The phone number in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).",
        "type": "object",
        "required": [
          "country_code",
          "national_number"
        ],
        "properties": {
          "country_code": {
            "title": "country_calling_code",
            "description": "The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
            "type": "string",
            "minLength": 1,
            "maxLength": 3,
            "pattern": "^[0-9]{1,3}?$"
          },
          "national_number": {
            "description": "The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).",
            "type": "string",
            "minLength": 1,
            "maxLength": 14,
            "pattern": "^[0-9]{1,14}?$"
          },
          "extension_number": {
            "description": "The extension number.",
            "type": "string",
            "minLength": 1,
            "maxLength": 15,
            "pattern": "^[0-9]{1,15}?$"
          }
        }
      },
      "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"
          }
        ]
      },
      "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."
              }
            ]
          }
        }
      },
      "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"
              }
            }
          }
        ]
      },
      "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}$"
      },
      "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."
              }
            ]
          }
        }
      },
      "payee": {
        "title": "payee",
        "description": "The merchant who receives the funds and fulfills the order. The merchant is also known as the payee.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/payee_base"
          },
          {
            "type": "object"
          }
        ]
      },
      "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"
          }
        }
      },
      "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"
            ]
          },
          "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."
              }
            ]
          }
        }
      },
      "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]*$"
          }
        }
      },
      "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
                }
              ]
            }
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ],
            "readOnly": true
          },
          "status_details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/authorization_status_details"
              },
              {
                "description": "The details of the authorized order pending status.",
                "readOnly": true
              }
            ]
          }
        }
      },
      "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"
            ],
            "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"
              ]
            }
          }
        }
      },
      "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"
          }
        }
      },
      "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"
            ]
          },
          "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."
              }
            ]
          }
        }
      },
      "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
              }
            ]
          }
        }
      },
      "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"
          }
        ]
      },
      "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]+$"
          }
        }
      },
      "supplementary_data": {
        "title": "Payment Supplementary Data",
        "description": "The supplementary data.",
        "type": "object",
        "properties": {
          "related_ids": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_ids"
              },
              {
                "readOnly": true
              }
            ]
          }
        }
      },
      "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
                  }
                ]
              }
            }
          }
        ]
      },
      "supplementary_purchase_data": {
        "title": "Capture Identifier",
        "description": "The capture identification-related fields. Includes the invoice ID, custom ID, note to payer, and soft descriptor.",
        "type": "object",
        "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",
            "minLength": 1,
            "maxLength": 127,
            "pattern": "^.{1,127}$"
          },
          "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",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^.{1,255}$"
          }
        }
      },
      "platform_fee": {
        "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.",
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "title": "amount",
                "description": "The fee for this transaction."
              }
            ]
          },
          "payee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payee_base"
              },
              {
                "title": "payee",
                "description": "The recipient of the fee for this transaction."
              }
            ]
          }
        }
      },
      "disbursement_mode": {
        "title": "disbursement_mode",
        "description": "The funds that are held on behalf of the merchant.",
        "type": "string",
        "enum": [
          "INSTANT",
          "DELAYED"
        ],
        "default": "INSTANT"
      },
      "payment_instruction": {
        "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.",
        "type": "object",
        "properties": {
          "platform_fees": {
            "description": "An array of various fees, commissions, tips, or donations. This field is only applicable to merchants that been enabled for PayPal Complete Payments Platform for Marketplaces and Platforms capability.",
            "type": "array",
            "minItems": 0,
            "maxItems": 1,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/platform_fee"
                },
                {
                  "title": "platform_fee"
                }
              ]
            }
          },
          "disbursement_mode": {
            "allOf": [
              {
                "$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_pricing_tier_id": {
            "description": "This field is only enabled for selected merchants/partners to use and provides the ability to trigger a specific pricing rate/plan for a payment transaction. The list of eligible 'payee_pricing_tier_id' would be provided to you by your Account Manager. Specifying values other than the one provided to you by your account manager would result in an error.",
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "pattern": "^.*$"
          },
          "payee_receivable_fx_rate_id": {
            "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.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "pattern": "^.*$"
          }
        }
      },
      "capture_request": {
        "title": "Capture Request",
        "description": "Captures either a portion or the full authorized amount of an authorized payment.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/supplementary_purchase_data"
          },
          {
            "type": "object",
            "properties": {
              "amount": {
                "allOf": [
                  {
                    "$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",
                "minLength": 0,
                "maxLength": 127,
                "pattern": "^[\\S\\s]*$"
              },
              "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": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/payment_instruction"
                  },
                  {
                    "not": {
                      "required": [
                        "payee_pricing_tier_id"
                      ]
                    }
                  }
                ]
              },
              "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",
                "minLength": 0,
                "maxLength": 255,
                "pattern": "^[\\S\\s]*$"
              },
              "soft_descriptor": {
                "description": "The payment descriptor on the payer's account statement.",
                "type": "string",
                "minLength": 0,
                "maxLength": 22,
                "pattern": "^[\\S\\s]*$"
              }
            }
          }
        ]
      },
      "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",
            "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"
            ]
          }
        }
      },
      "capture_status": {
        "title": "capture_status",
        "description": "The status and status details of a captured payment.",
        "type": "object",
        "properties": {
          "status": {
            "title": "Capture Status",
            "description": "The status of the captured payment.",
            "type": "string",
            "enum": [
              "COMPLETED",
              "DECLINED",
              "PARTIALLY_REFUNDED",
              "PENDING",
              "REFUNDED",
              "FAILED"
            ],
            "readOnly": true
          },
          "status_details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/capture_status_details"
              },
              {
                "description": "The details of the captured payment status.",
                "readOnly": true
              }
            ]
          }
        }
      },
      "exchange_rate": {
        "title": "exchange_rate",
        "description": "The exchange rate that determines the amount to convert from one currency to another currency.",
        "type": "object",
        "readOnly": true,
        "properties": {
          "source_currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/currency_code"
              },
              {
                "description": "The source currency from which to convert an amount."
              }
            ]
          },
          "target_currency": {
            "allOf": [
              {
                "$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",
            "minLength": 0,
            "maxLength": 2147483647,
            "pattern": "^[\\S\\s]*$"
          }
        }
      },
      "seller_receivable_breakdown": {
        "title": "Seller Receivable Breakdown",
        "description": "The detailed breakdown of the capture activity. This is not available for transactions that are in pending state.",
        "type": "object",
        "required": [
          "gross_amount"
        ],
        "properties": {
          "gross_amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The amount for this captured payment in the currency of the transaction."
              }
            ]
          },
          "paypal_fee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The applicable fee for this captured payment in the currency of the transaction."
              }
            ]
          },
          "paypal_fee_in_receivable_currency": {
            "allOf": [
              {
                "$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": {
            "allOf": [
              {
                "$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": {
            "allOf": [
              {
                "$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": {
            "allOf": [
              {
                "$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": {
            "description": "An array of platform or partner fees, commissions, or brokerage fees that associated with the captured payment.",
            "type": "array",
            "minItems": 0,
            "maxItems": 1,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/platform_fee"
                },
                {
                  "title": "platform_fee"
                }
              ]
            }
          }
        }
      },
      "processor_response": {
        "title": "processor_response",
        "description": "The processor response information for payment requests, such as direct credit card transactions.",
        "type": "object",
        "properties": {
          "avs_code": {
            "description": "The address verification code for Visa, Discover, Mastercard, or American Express transactions.",
            "type": "string",
            "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"
            ],
            "readOnly": true
          },
          "cvv_code": {
            "description": "The card verification value code for for Visa, Discover, Mastercard, or American Express.",
            "type": "string",
            "enum": [
              "E",
              "I",
              "M",
              "N",
              "P",
              "S",
              "U",
              "X",
              "All others",
              "0",
              "1",
              "2",
              "3",
              "4"
            ],
            "readOnly": true
          },
          "response_code": {
            "description": "Processor response code for the non-PayPal payment processor errors.",
            "type": "string",
            "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"
            ],
            "readOnly": true
          },
          "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",
            "enum": [
              "01",
              "02",
              "03",
              "04",
              "21",
              "22",
              "24",
              "25",
              "26",
              "27",
              "28",
              "29",
              "30",
              "40",
              "43"
            ],
            "readOnly": true
          }
        }
      },
      "capture": {
        "title": "capture",
        "description": "A captured payment.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/capture_status"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "description": "The PayPal-generated ID for the captured 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 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",
                "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
                  }
                ]
              },
              "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": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/seller_receivable_breakdown"
                  },
                  {
                    "readOnly": true
                  }
                ]
              },
              "disbursement_mode": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/disbursement_mode"
                  }
                ]
              },
              "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"
                    }
                  ]
                }
              },
              "processor_response": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/processor_response"
                  },
                  {
                    "description": "An object that provides additional processor information for a direct credit card transaction."
                  }
                ]
              }
            }
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/activity_timestamps"
              }
            ]
          }
        ]
      },
      "capture-2": {
        "title": "Captured Payment",
        "description": "A captured payment.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/capture"
          },
          {
            "type": "object",
            "properties": {
              "supplementary_data": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/supplementary_data"
                  },
                  {
                    "description": "An object that provides supplementary/additional data related to a payment transaction.",
                    "readOnly": true
                  }
                ]
              },
              "payee": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/payee_base"
                  },
                  {
                    "readOnly": true
                  }
                ]
              }
            }
          }
        ]
      },
      "reauthorize_request": {
        "title": "Reauthorize Request",
        "description": "Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. You can reauthorize a payment only once from days four to 29.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment once. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter.",
        "type": "object",
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The amount to reauthorize for an authorized payment."
              }
            ]
          }
        }
      },
      "payment_instruction-2": {
        "title": "payment_instruction",
        "description": "Any additional payments instructions during refund payment processing. This object is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.",
        "type": "object",
        "properties": {
          "platform_fees": {
            "description": "Specifies the amount that the API caller will contribute to the refund being processed. The amount needs to be lower than platform_fees amount originally captured or the amount that is remaining if multiple refunds have been processed. This field is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.",
            "type": "array",
            "minItems": 0,
            "maxItems": 1,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/platform_fee"
                },
                {
                  "title": "platform_fee",
                  "not": {
                    "required": [
                      "payee"
                    ]
                  }
                }
              ]
            }
          }
        }
      },
      "refund_request": {
        "title": "Refund Request",
        "description": "Refunds a captured payment, by ID. For a full refund, include an empty request body. For a partial refund, include an <code>amount</code> object in the request body.",
        "type": "object",
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The amount to refund. To refund a portion of the captured amount, specify an amount. If amount is not specified, an amount equal to <code>captured amount - previous refunds</code> is refunded. The amount must be a positive number and in the same currency as the one in which the payment was captured."
              }
            ]
          },
          "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. The pattern is defined by an external party and supports Unicode.",
            "type": "string",
            "minLength": 1,
            "maxLength": 127,
            "pattern": "^.*$"
          },
          "invoice_id": {
            "description": "The API caller-provided external invoice ID for this order. The pattern is defined by an external party and supports Unicode.",
            "type": "string",
            "minLength": 1,
            "maxLength": 127,
            "pattern": "^.*$"
          },
          "note_to_payer": {
            "description": "The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives. The pattern is defined by an external party and supports Unicode.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^.*$"
          },
          "payment_instruction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payment_instruction-2"
              },
              {
                "description": "Any additional refund instructions to be set during refund payment processing. This object is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability."
              }
            ]
          }
        }
      },
      "refund_status_details": {
        "title": "refund_status_details",
        "description": "The details of the refund status.",
        "type": "object",
        "properties": {
          "reason": {
            "title": "Refund Incomplete Reason",
            "description": "The reason why the refund has the `PENDING` or `FAILED` status.",
            "type": "string",
            "enum": [
              "ECHECK"
            ]
          }
        }
      },
      "refund_status": {
        "title": "refund_status",
        "description": "The refund status with details.",
        "type": "object",
        "properties": {
          "status": {
            "title": "Refund Status With Details",
            "description": "The status of the refund.",
            "type": "string",
            "enum": [
              "CANCELLED",
              "FAILED",
              "PENDING",
              "COMPLETED"
            ],
            "readOnly": true
          },
          "status_details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/refund_status_details"
              },
              {
                "description": "The details of the refund status.",
                "readOnly": true
              }
            ]
          }
        }
      },
      "net_amount_breakdown_item": {
        "title": "net_amount_breakdown",
        "description": "The net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the merchant holds their funds.",
        "type": "object",
        "properties": {
          "payable_amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The net amount debited from the merchant's PayPal account.",
                "readOnly": true
              }
            ]
          },
          "converted_amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/money"
              },
              {
                "description": "The converted payable amount.",
                "readOnly": true
              }
            ]
          },
          "exchange_rate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/exchange_rate"
              },
              {
                "description": "The exchange rate that determines the amount that was debited from the merchant's PayPal account.",
                "readOnly": true
              }
            ]
          }
        }
      },
      "refund": {
        "title": "refund",
        "description": "The refund information.",
        "type": "object",
        "allOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/refund_status"
              }
            ]
          },
          {
            "title": "Refund Properties",
            "description": "The detailed properties of the refund transaction, including identifiers, amounts, breakdowns, and associated metadata.",
            "type": "object",
            "properties": {
              "id": {
                "description": "The PayPal-generated ID for the refund.",
                "type": "string",
                "minLength": 0,
                "maxLength": 2147483647,
                "pattern": "^[\\S\\s]*$",
                "readOnly": true
              },
              "amount": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/money"
                  },
                  {
                    "description": "The amount that the payee refunded to the payer.",
                    "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": 1,
                "maxLength": 255,
                "pattern": "^[A-Za-z0-9-_.,]*$"
              },
              "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]+$"
              },
              "note_to_payer": {
                "description": "The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives.",
                "type": "string",
                "minLength": 0,
                "maxLength": 2147483647,
                "pattern": "^[\\S\\s]*$",
                "readOnly": true
              },
              "seller_payable_breakdown": {
                "title": "Seller Payable Breakdown",
                "description": "The breakdown of the refund.",
                "type": "object",
                "readOnly": true,
                "properties": {
                  "gross_amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The amount that the payee refunded to the payer.",
                        "readOnly": true
                      }
                    ]
                  },
                  "paypal_fee": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The PayPal fee that was refunded to the payer in the currency of the transaction. This fee might not match the PayPal fee that the payee paid when the payment was captured.",
                        "readOnly": true
                      }
                    ]
                  },
                  "paypal_fee_in_receivable_currency": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The PayPal fee that was refunded to the payer in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.",
                        "readOnly": true
                      }
                    ]
                  },
                  "net_amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The net amount that the payee's account is debited in the transaction currency. The net amount is calculated as <code>gross_amount</code> minus <code>paypal_fee</code> minus <code>platform_fees</code>.",
                        "readOnly": true
                      }
                    ]
                  },
                  "net_amount_in_receivable_currency": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The net amount that the payee's account is debited in the receivable currency. Returned only in cases when the receivable currency is different from transaction currency. Example 'CNY'.",
                        "readOnly": true
                      }
                    ]
                  },
                  "platform_fees": {
                    "description": "An array of platform or partner fees, commissions, or brokerage fees for the refund.",
                    "type": "array",
                    "minItems": 0,
                    "maxItems": 1,
                    "items": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/platform_fee"
                        },
                        {
                          "title": "platform_fee"
                        }
                      ]
                    }
                  },
                  "net_amount_breakdown": {
                    "description": "An array of breakdown values for the net amount. Returned when the currency of the refund is different from the currency of the PayPal account where the payee holds their funds.",
                    "type": "array",
                    "minItems": 0,
                    "maxItems": 32767,
                    "readOnly": true,
                    "items": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/net_amount_breakdown_item"
                        },
                        {
                          "title": "net_amount_breakdown_item"
                        }
                      ]
                    }
                  },
                  "total_refunded_amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/money"
                      },
                      {
                        "description": "The total amount refunded from the original capture to date. For example, if a payer makes a $100 purchase and was refunded $20 a week ago and was refunded $30 in this refund, the `gross_amount` is $30 for this refund and the `total_refunded_amount` is $50."
                      }
                    ]
                  }
                }
              },
              "payer": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/payee_base"
                  },
                  {
                    "description": "The details associated with the merchant for this transaction.",
                    "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"
                    }
                  ]
                }
              }
            }
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/activity_timestamps"
              }
            ]
          }
        ]
      },
      "guid": {
        "title": "GUID",
        "description": "A Globally Unique Identifier (GUID) value.",
        "type": "string",
        "minLength": 1,
        "maxLength": 68,
        "pattern": "^[A-Za-z0-9-{}(),]*$"
      },
      "find_eligible_methods_request_customer_channel": {
        "title": "Customer Channel",
        "description": "Channel through which the request is being posted.",
        "type": "object",
        "properties": {
          "browser_type": {
            "description": "The browser used by the customer. Example: Safari, Chrome, etc.",
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "pattern": "^[0-9a-zA-Z_,. -]+$"
          },
          "client_os": {
            "description": "The operating system on the device used by the customer. Example: iOS 16.5, Android 30, etc.",
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "pattern": "^[0-9a-zA-Z_,. -]+$"
          },
          "device_type": {
            "description": "The type of device used by the customer. Example: Mobile, Desktop, Tablet, etc.",
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "pattern": "^[0-9a-zA-Z_,. -]+$"
          }
        }
      },
      "find_eligible_methods_request_customer": {
        "title": "Customer",
        "description": "Customer who is making a purchase from the merchant/partner.",
        "type": "object",
        "properties": {
          "country_code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/country_code-2"
              },
              {
                "description": "Country from which the customer is purchasing products/services from the merchant/partner. Result will factor in local payment methods that are available in the country mentioned. Value should be in the 2-character ISO 3166-1 code format."
              }
            ]
          },
          "channel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/find_eligible_methods_request_customer_channel"
              },
              {
                "description": "Channel through which the request is being posted. This object intends to collect information such as browser, operating system, device of the buyer. If both channel and User-Agent header are passed, data passed in the channel object takes precedence and User-Agent header will be used for information not provided in channel object."
              }
            ]
          },
          "id": {
            "description": "The unique ID for a customer in merchant's or partner's system of records.",
            "type": "string",
            "minLength": 1,
            "maxLength": 36,
            "pattern": "^[0-9a-zA-Z_-]+$"
          },
          "email": {
            "$ref": "#/components/schemas/email_address"
          },
          "phone": {
            "allOf": [
              {
                "$ref": "#/components/schemas/phone-2"
              },
              {
                "not": {
                  "required": [
                    "extension_number"
                  ]
                }
              }
            ]
          }
        }
      },
      "eligibility_purchase_unit_request": {
        "title": "eligibility_purchase_unit_request",
        "description": "Purchase unit for payment eligibility.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/amount_with_breakdown"
          },
          "payee": {
            "$ref": "#/components/schemas/payee"
          }
        }
      },
      "payment_method": {
        "title": "payment_method",
        "description": "Set of unique payment methods.",
        "type": "string",
        "enum": [
          "PAYPAL",
          "VENMO",
          "PAYPAL_CREDIT",
          "PAYPAL_PAY_LATER"
        ]
      },
      "find_eligible_methods_request_preferences": {
        "title": "Preferences",
        "description": "Preferences of merchant/partner consuming the API.",
        "type": "object",
        "properties": {
          "payment_flow": {
            "title": "Payment Flow",
            "description": "This field specifies the payment flow, expected to provide a hint about which payment action the customer is intending to perform.",
            "type": "string",
            "enum": [
              "ONE_TIME_PAYMENT",
              "RECURRING_PAYMENT",
              "VAULT_WITH_PAYMENT",
              "VAULT_WITHOUT_PAYMENT"
            ]
          },
          "include_account_details": {
            "description": "If this value is set to true, response will include confirmation if the customer has PayPal and/or Venmo accounts if they are eligible payment methods. Value defaults to false.",
            "type": "boolean",
            "default": "false"
          },
          "include_vault_tokens": {
            "description": "If this value is set to true, response will include vaulted token information if the eligible funding source has any instrument vaulted for the customer. Value defaults to false.",
            "type": "boolean",
            "default": "false"
          },
          "payment_source_constraint": {
            "title": "Payment Source Constraint",
            "description": "Payment source constraint defines the payment methods that needs to be included/excluded for eligibility assessment. If not passed, all payment methods will be assessed for eligibility.",
            "type": "object",
            "required": [
              "constraint_type",
              "payment_sources"
            ],
            "properties": {
              "constraint_type": {
                "description": "Constraint type defines whether given payment sources needs to be included or excluded.",
                "type": "string",
                "enum": [
                  "INCLUDE",
                  "EXCLUDE"
                ]
              },
              "payment_sources": {
                "description": "Set of unique payment methods that will be included/excluded for eligibility assessment.",
                "type": "array",
                "minItems": 1,
                "maxItems": 75,
                "items": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            }
          }
        }
      },
      "find_eligible_methods_request": {
        "title": "Find Eligible Payment Methods Request",
        "description": "Request to get list of eligible payment methods.",
        "type": "object",
        "properties": {
          "customer": {
            "$ref": "#/components/schemas/find_eligible_methods_request_customer"
          },
          "purchase_units": {
            "description": "Array of purchase units.",
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/eligibility_purchase_unit_request"
            }
          },
          "preferences": {
            "$ref": "#/components/schemas/find_eligible_methods_request_preferences"
          }
        }
      },
      "credit_product_button_code": {
        "title": "Credit Button Eligibility Button Code",
        "description": "The button code corresponding to a particular product or set of products. The values followed are defined by the SDK team.",
        "type": "string",
        "enum": [
          "CREDIT",
          "PAYLATER",
          "PAY_IN_3",
          "PAY_IN_4"
        ]
      },
      "payment_method_common": {
        "title": "Common response fields",
        "description": "Common response fields for all payment methods.",
        "type": "object",
        "properties": {
          "can_be_vaulted": {
            "description": "Indicates if the payment method can be vaulted or not. A true value indicates the payment method can be vaulted using our vaults product. If false, vaulting is not currently supported for this payment method.",
            "type": "boolean",
            "default": "false"
          },
          "country_code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/country_code-2"
              },
              {
                "description": "Returns a country_code which is derived from the buyer's country."
              }
            ]
          },
          "product_code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/credit_product_button_code"
              },
              {
                "description": "Returns a product code."
              }
            ]
          }
        }
      },
      "payment_method_eligible_in_paypal_network": {
        "title": "PayPal services member indicator",
        "description": "Flag that indicates if the customer is in the PayPal network. This value will be included in the response if the include_account_details flag is set to \"true\" in the API request.",
        "type": "boolean"
      },
      "paypal": {
        "title": "Response for PayPal",
        "description": "Response for PayPal.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/payment_method_common"
          },
          {
            "type": "object",
            "properties": {
              "eligible_in_paypal_network": {
                "$ref": "#/components/schemas/payment_method_eligible_in_paypal_network"
              },
              "recommended": {
                "description": "Indicates if the payment method is recommended or not. A true value indicates the customer is payment ready and this payment method may be presented upfront.",
                "type": "boolean",
                "default": "false"
              },
              "recommended_priority": {
                "description": "This value is included in the response when recommended is true for a payment method. It indicates the priority of recommendation for payment readiness of eligible payment methods with lowest number taking the highest precedence.",
                "type": "integer",
                "minimum": 1,
                "maximum": 3
              }
            }
          }
        ]
      },
      "venmo": {
        "title": "Response for Venmo",
        "description": "Response for Venmo.",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/payment_method_common"
          },
          {
            "type": "object",
            "properties": {
              "eligible_in_paypal_network": {
                "$ref": "#/components/schemas/payment_method_eligible_in_paypal_network"
              },
              "recommended": {
                "description": "Indicates if the payment method is recommended or not. A true value indicates the customer is payment ready and this payment method may be presented upfront.",
                "type": "boolean",
                "default": "false"
              },
              "recommended_priority": {
                "description": "This value is included in the response when recommended is true for a payment method. It indicates the priority of recommendation for payment readiness of eligible payment methods with lowest number taking the highest precedence.",
                "type": "integer",
                "minimum": 1,
                "maximum": 3
              }
            }
          }
        ]
      },
      "payment_methods": {
        "title": "Payment Methods",
        "description": "List of payment methods.",
        "type": "object",
        "properties": {
          "paypal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/paypal"
              },
              {
                "description": "PayPal payment method."
              }
            ]
          },
          "venmo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/venmo"
              },
              {
                "description": "Venmo payment method."
              }
            ]
          },
          "paypal_credit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payment_method_common"
              },
              {
                "description": "PayPal Credit payment method."
              }
            ]
          },
          "paypal_pay_later": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payment_method_common"
              },
              {
                "description": "PayPal Pay Later payment method."
              }
            ]
          }
        }
      },
      "payer_base": {
        "title": "payer_base",
        "description": "The customer who approves and pays for the order. The customer is also known as the payer.",
        "type": "object",
        "properties": {
          "email_address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/email"
              },
              {
                "description": "The email address of the payer."
              }
            ]
          },
          "payer_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/account_id-2"
              },
              {
                "description": "The PayPal-assigned ID for the payer.",
                "readOnly": true
              }
            ]
          }
        }
      },
      "venmo_payment_token_info": {
        "title": "venmo_payment_token",
        "description": "Payment Token info for Venmo payment source.",
        "type": "object",
        "properties": {
          "user_name": {
            "description": "The Venmo username, as chosen by the user.",
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "pattern": "^[-a-zA-Z0-9_]*$"
          }
        }
      },
      "payment_token": {
        "title": "payment_token",
        "description": "Vaulted instrument for a payment-method.",
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "The PayPal-generated ID for the vault token.",
            "type": "string",
            "minLength": 7,
            "maxLength": 36,
            "pattern": "^[0-9a-zA-Z_-]+$"
          },
          "payment_source": {
            "title": "The vaulted payment method details",
            "description": "The vaulted payment method details.",
            "type": "object",
            "properties": {
              "paypal": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/payer_base"
                  },
                  {
                    "not": {
                      "required": [
                        "payer_id"
                      ]
                    }
                  }
                ]
              },
              "venmo": {
                "$ref": "#/components/schemas/venmo_payment_token_info"
              }
            }
          },
          "links": {
            "description": "An array of related [HATEOAS links](/api/rest/responses/#hateoas).",
            "type": "array",
            "minItems": 1,
            "maxItems": 32,
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/link_description"
            }
          }
        }
      },
      "find_eligible_methods_response": {
        "title": "paypal_response",
        "description": "Eligible payment methods along with applicable vault tokens, if requested.",
        "type": "object",
        "properties": {
          "eligible_methods": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payment_methods"
              },
              {
                "description": "List of payment methods that are eligible."
              }
            ]
          },
          "payment_tokens": {
            "description": "Payment tokens for vaulted instruments, if available. This object will be included only if include_vault_tokens is set to true in the request.",
            "type": "array",
            "minItems": 1,
            "maxItems": 64,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/payment_token"
                },
                {
                  "description": "Payment Token."
                }
              ]
            }
          }
        }
      }
    },
    "responses": {
      "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."
                }
              }
            }
          }
        }
      },
      "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."
                }
              }
            }
          }
        }
      },
      "204_response": {
        "description": "No Content."
      }
    },
    "callbacks": {
      "authorization_created": {
        "authorizations/{$request.path.authorization_id}": {
          "post": {
            "summary": "Authorization created notification",
            "description": "Notification sent when the authorization is created.",
            "operationId": "authorizations.created.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Authorization Created Event",
                    "description": "Webhook event notification for authorization created.",
                    "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.CREATED"
                        ]
                      },
                      "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_created": {
                      "summary": "Authorization created event",
                      "description": "Webhook notification when the authorization is created.",
                      "value": {
                        "id": "WH-5VE77420C3914002P-5G649181HP975980P",
                        "event_version": "1.0",
                        "create_time": "2022-10-27T22:00:21.590Z",
                        "resource_type": "authorization",
                        "resource_version": "2.0",
                        "event_type": "PAYMENT.AUTHORIZATION.CREATED",
                        "summary": "A successful payment authorization was created for $ 10.0 USD",
                        "resource": {
                          "amount": {
                            "value": "10.00",
                            "currency_code": "USD"
                          },
                          "seller_protection": {
                            "dispute_categories": [
                              "ITEM_NOT_RECEIVED",
                              "UNAUTHORIZED_TRANSACTION"
                            ],
                            "status": "ELIGIBLE"
                          },
                          "supplementary_data": {
                            "related_ids": {
                              "order_id": "91A92299SF4077927"
                            }
                          },
                          "update_time": "2022-10-27T22:00:17Z",
                          "create_time": "2022-10-27T22:00:17Z",
                          "expiration_time": "2022-11-25T22:00:17Z",
                          "links": [
                            {
                              "method": "GET",
                              "rel": "self",
                              "href": "https://api-m.paypal.com/v2/payments/authorizations/91T13242G72341823"
                            },
                            {
                              "method": "POST",
                              "rel": "capture",
                              "href": "https://api-m.paypal.com/v2/payments/authorizations/91T13242G72341823/capture"
                            },
                            {
                              "method": "POST",
                              "rel": "void",
                              "href": "https://api-m.paypal.com/v2/payments/authorizations/91T13242G72341823/void"
                            },
                            {
                              "method": "POST",
                              "rel": "reauthorize",
                              "href": "https://api-m.paypal.com/v2/payments/authorizations/91T13242G72341823/reauthorize"
                            }
                          ],
                          "id": "91T13242G72341823",
                          "status": "CREATED"
                        },
                        "links": [
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-5VE77420C3914002P-5G649181HP975980P",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-5VE77420C3914002P-5G649181HP975980P/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"
              }
            }
          }
        }
      },
      "capture_completed": {
        "captures/{$request.path.capture_id}": {
          "post": {
            "summary": "Capture completed notification",
            "description": "Notification sent when the capture is completed.",
            "operationId": "captures.completed.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Capture Completed Event",
                    "description": "Webhook event notification for capture completed.",
                    "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.CAPTURE.COMPLETED"
                        ]
                      },
                      "summary": {
                        "type": "string",
                        "description": "A summary description for the event notification.",
                        "minLength": 1,
                        "maxLength": 500,
                        "pattern": "^.*$"
                      },
                      "resource": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/capture-2"
                          }
                        ]
                      },
                      "links": {
                        "type": "array",
                        "description": "An array of request-related HATEOAS links.",
                        "minItems": 1,
                        "maxItems": 10,
                        "items": {
                          "$ref": "#/components/schemas/link_description-2"
                        }
                      }
                    }
                  },
                  "examples": {
                    "capture_completed": {
                      "summary": "Capture completed event",
                      "description": "Webhook notification when the capture is completed.",
                      "value": {
                        "id": "WH-152442318H6474839-1HN0997948621344U",
                        "event_version": "1.0",
                        "create_time": "2022-10-27T22:32:49.870Z",
                        "resource_type": "capture",
                        "resource_version": "2.0",
                        "event_type": "PAYMENT.CAPTURE.COMPLETED",
                        "summary": "Payment completed for $ 10.0 USD",
                        "resource": {
                          "amount": {
                            "value": "10.00",
                            "currency_code": "USD"
                          },
                          "seller_protection": {
                            "dispute_categories": [
                              "ITEM_NOT_RECEIVED",
                              "UNAUTHORIZED_TRANSACTION"
                            ],
                            "status": "ELIGIBLE"
                          },
                          "supplementary_data": {
                            "related_ids": {
                              "order_id": "28U14622MW998902M"
                            }
                          },
                          "update_time": "2022-10-27T22:32:45Z",
                          "create_time": "2022-10-27T22:32:45Z",
                          "final_capture": true,
                          "seller_receivable_breakdown": {
                            "paypal_fee": {
                              "value": "0.84",
                              "currency_code": "USD"
                            },
                            "gross_amount": {
                              "value": "10.00",
                              "currency_code": "USD"
                            },
                            "net_amount": {
                              "value": "9.16",
                              "currency_code": "USD"
                            }
                          },
                          "links": [
                            {
                              "method": "GET",
                              "rel": "self",
                              "href": "https://api-m.paypal.com/v2/payments/captures/27C890397M291943E"
                            },
                            {
                              "method": "POST",
                              "rel": "refund",
                              "href": "https://api-m.paypal.com/v2/payments/captures/27C890397M291943E/refund"
                            },
                            {
                              "method": "GET",
                              "rel": "up",
                              "href": "https://api-m.paypal.com/v2/checkout/orders/28U14622MW998902M"
                            }
                          ],
                          "id": "27C890397M291943E",
                          "status": "COMPLETED"
                        },
                        "links": [
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-152442318H6474839-1HN0997948621344U",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-152442318H6474839-1HN0997948621344U/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"
              }
            }
          }
        }
      },
      "capture_declined": {
        "captures/{$request.path.capture_id}/declined": {
          "post": {
            "summary": "Capture declined notification",
            "description": "Notification sent when capture for authorization is declined.",
            "operationId": "captures.declined.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Capture Declined Event",
                    "description": "Webhook event notification for capture declined.",
                    "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.CAPTURE.DECLINED"
                        ]
                      },
                      "summary": {
                        "type": "string",
                        "description": "A summary description for the event notification.",
                        "minLength": 1,
                        "maxLength": 500,
                        "pattern": "^.*$"
                      },
                      "resource": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/capture-2"
                          }
                        ]
                      },
                      "links": {
                        "type": "array",
                        "description": "An array of request-related HATEOAS links.",
                        "minItems": 1,
                        "maxItems": 10,
                        "items": {
                          "$ref": "#/components/schemas/link_description-2"
                        }
                      }
                    }
                  },
                  "examples": {
                    "capture_declined": {
                      "summary": "Capture declined event",
                      "description": "Webhook notification when capture for authorization is declined.",
                      "value": {
                        "id": "WH-30Y09481LL7353048-6K675100AV972021E",
                        "create_time": "2022-09-21T18:41:07.071Z",
                        "event_type": "PAYMENT.CAPTURE.DECLINED",
                        "event_version": "1.0",
                        "resource_type": "capture",
                        "resource_version": "2.0",
                        "summary": "A payment capture for $ 50.0 USD was declined.",
                        "resource": {
                          "id": "40222075YX552741V",
                          "status": "DECLINED",
                          "amount": {
                            "currency_code": "USD",
                            "value": "50.00"
                          },
                          "final_capture": false,
                          "seller_protection": {
                            "status": "ELIGIBLE",
                            "dispute_categories": [
                              "ITEM_NOT_RECEIVED",
                              "UNAUTHORIZED_TRANSACTION"
                            ]
                          },
                          "disbursement_mode": "INSTANT",
                          "seller_receivable_breakdown": {
                            "gross_amount": {
                              "currency_code": "USD",
                              "value": "50.00"
                            },
                            "paypal_fee": {
                              "currency_code": "USD",
                              "value": "2.24"
                            },
                            "net_amount": {
                              "currency_code": "USD",
                              "value": "47.76"
                            }
                          },
                          "invoice_id": "1663785654",
                          "supplementary_data": {
                            "related_ids": {
                              "order_id": "6AY135578D653613P",
                              "authorization_id": "3U5721406T774122W"
                            }
                          },
                          "create_time": "2022-09-21T18:40:22Z",
                          "update_time": "2022-09-21T18:41:03Z",
                          "links": [
                            {
                              "href": "https://api-m.paypal.com/v2/payments/captures/40222075YX552741V",
                              "rel": "self",
                              "method": "GET"
                            },
                            {
                              "href": "https://api-m.paypal.com/v2/payments/authorizations/3U5721406T774122W",
                              "rel": "up",
                              "method": "GET"
                            }
                          ]
                        },
                        "links": [
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972021E",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-30Y09481LL7353048-6K675100AV972021E/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"
              }
            }
          }
        }
      },
      "capture_pending_kyc_incomplete": {
        "captures/{$request.path.capture_id}/pending": {
          "post": {
            "summary": "Capture pending KYC incomplete notification",
            "description": "Notification sent when capture a sale order for a merchant with incomplete KYC status, and the partner is enabled for Progressive Onboarding.",
            "operationId": "captures.pending.kyc_incomplete.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Capture Pending KYC Incomplete Event",
                    "description": "Webhook event notification for capture pending due to incomplete KYC.",
                    "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.CAPTURE.PENDING"
                        ]
                      },
                      "summary": {
                        "type": "string",
                        "description": "A summary description for the event notification.",
                        "minLength": 1,
                        "maxLength": 500,
                        "pattern": "^.*$"
                      },
                      "resource": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/capture-2"
                          }
                        ]
                      },
                      "links": {
                        "type": "array",
                        "description": "An array of request-related HATEOAS links.",
                        "minItems": 1,
                        "maxItems": 10,
                        "items": {
                          "$ref": "#/components/schemas/link_description-2"
                        }
                      }
                    }
                  },
                  "examples": {
                    "capture_pending_kyc_incomplete": {
                      "summary": "Capture pending KYC incomplete event",
                      "description": "Webhook notification when capture a sale order for a merchant with incomplete KYC status.",
                      "value": {
                        "id": "WH-36845715LW9646800-7FJ097926K9003132",
                        "event_version": "1.0",
                        "create_time": "2025-07-08T22:07:56.096Z",
                        "resource_type": "capture",
                        "resource_version": "2.0",
                        "event_type": "PAYMENT.CAPTURE.PENDING",
                        "summary": "Payment pending for $ 80.0 USD",
                        "resource": {
                          "id": "30N459334R4656637",
                          "amount": {
                            "currency_code": "USD",
                            "value": "80.00"
                          },
                          "final_capture": true,
                          "seller_protection": {
                            "status": "NOT_ELIGIBLE"
                          },
                          "disbursement_mode": "INSTANT",
                          "status": "PENDING",
                          "status_details": {
                            "reason": "KYC_HOLD"
                          },
                          "processor_response": {
                            "avs_code": "A",
                            "cvv_code": "S",
                            "response_code": "0000"
                          },
                          "supplementary_data": {
                            "related_ids": {
                              "order_id": "9XF68199B43440616"
                            }
                          },
                          "payee": {
                            "merchant_id": "972Y8QJUSCK3W"
                          },
                          "create_time": "2025-07-08T22:07:50Z",
                          "update_time": "2025-07-08T22:07:50Z",
                          "links": [
                            {
                              "href": "https://msmaster1intdev52.dev52.cbf.dev.paypalinc.com:25137/v2/payments/captures/30N459334R4656637",
                              "rel": "self",
                              "method": "GET"
                            },
                            {
                              "href": "https://msmaster1intdev52.dev52.cbf.dev.paypalinc.com:25137/v2/payments/captures/30N459334R4656637/refund",
                              "rel": "refund",
                              "method": "POST"
                            },
                            {
                              "href": "https://msmaster1intdev52.dev52.cbf.dev.paypalinc.com:25137/v2/checkout/orders/9XF68199B43440616",
                              "rel": "up",
                              "method": "GET"
                            }
                          ],
                          "network_transaction_reference": {
                            "id": "752835256460198",
                            "network": "VISA"
                          }
                        },
                        "links": [
                          {
                            "href": "https://msmaster1intdev52.dev52.cbf.dev.paypalinc.com:14084/v1/notifications/webhooks-events/WH-36845715LW9646800-7FJ097926K9003132",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://msmaster1intdev52.dev52.cbf.dev.paypalinc.com:14084/v1/notifications/webhooks-events/WH-36845715LW9646800-7FJ097926K9003132/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"
              }
            }
          }
        }
      },
      "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"
                        ]
                      },
                      "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"
              }
            }
          }
        }
      },
      "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"
                        ]
                      },
                      "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"
              }
            }
          }
        }
      },
      "capture_refunded": {
        "captures/{$request.path.capture_id}/refunds": {
          "post": {
            "summary": "Capture refunded notification",
            "description": "Notification sent when a capture is refunded.",
            "operationId": "captures.refunded.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Capture Refunded Event",
                    "description": "Webhook event notification for capture refunded.",
                    "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.CAPTURE.REFUNDED"
                        ]
                      },
                      "summary": {
                        "type": "string",
                        "description": "A summary description for the event notification.",
                        "minLength": 1,
                        "maxLength": 500,
                        "pattern": "^.*$"
                      },
                      "resource": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/refund"
                          }
                        ]
                      },
                      "links": {
                        "type": "array",
                        "description": "An array of request-related HATEOAS links.",
                        "minItems": 1,
                        "maxItems": 10,
                        "items": {
                          "$ref": "#/components/schemas/link_description-2"
                        }
                      }
                    }
                  },
                  "examples": {
                    "capture_refunded": {
                      "summary": "Capture refunded event",
                      "description": "Webhook notification when a capture is refunded.",
                      "value": {
                        "id": "WH-3UE850097C805102A-18305212AB1299210",
                        "event_version": "1.0",
                        "create_time": "2022-10-27T22:34:27.088Z",
                        "resource_type": "refund",
                        "resource_version": "2.0",
                        "event_type": "PAYMENT.CAPTURE.REFUNDED",
                        "summary": "A $ 5.0 USD capture payment was refunded",
                        "resource": {
                          "seller_payable_breakdown": {
                            "total_refunded_amount": {
                              "value": "5.00",
                              "currency_code": "USD"
                            },
                            "paypal_fee": {
                              "value": "0.00",
                              "currency_code": "USD"
                            },
                            "gross_amount": {
                              "value": "5.00",
                              "currency_code": "USD"
                            },
                            "net_amount": {
                              "value": "5.00",
                              "currency_code": "USD"
                            }
                          },
                          "amount": {
                            "value": "5.00",
                            "currency_code": "USD"
                          },
                          "update_time": "2022-10-27T15:34:22-07:00",
                          "create_time": "2022-10-27T15:34:22-07:00",
                          "invoice_id": "1666910062",
                          "links": [
                            {
                              "method": "GET",
                              "rel": "self",
                              "href": "https://api-m.paypal.com/v2/payments/refunds/3NG36268BJ600681V"
                            },
                            {
                              "method": "GET",
                              "rel": "up",
                              "href": "https://api-m.paypal.com/v2/payments/captures/27C890397M291943E"
                            }
                          ],
                          "id": "3NG36268BJ600681V",
                          "note_to_payer": "Defective product",
                          "status": "COMPLETED"
                        },
                        "links": [
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-3UE850097C805102A-18305212AB1299210",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://api-m.paypal.com/v1/notifications/webhooks-events/WH-3UE850097C805102A-18305212AB1299210/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"
              }
            }
          }
        }
      },
      "refund_completed": {
        "refunds/{$request.path.refund_id}": {
          "post": {
            "summary": "Refund completed notification",
            "description": "Notification sent when non referenced credit request have been processed.",
            "operationId": "refunds.completed.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Refund Completed Event",
                    "description": "Webhook event notification for refund completed.",
                    "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.REFUND.COMPLETED"
                        ]
                      },
                      "summary": {
                        "type": "string",
                        "description": "A summary description for the event notification.",
                        "minLength": 1,
                        "maxLength": 500,
                        "pattern": "^.*$"
                      },
                      "resource": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/refund"
                          }
                        ]
                      },
                      "links": {
                        "type": "array",
                        "description": "An array of request-related HATEOAS links.",
                        "minItems": 1,
                        "maxItems": 10,
                        "items": {
                          "$ref": "#/components/schemas/link_description-2"
                        }
                      }
                    }
                  },
                  "examples": {
                    "refund_completed": {
                      "summary": "Refund completed event",
                      "description": "Webhook notification when non referenced credit request have been processed.",
                      "value": {
                        "id": "WH-COC11055RA711503B-4YM959094A144403T",
                        "create_time": "2019-12-05T21:21:49.000Z",
                        "event_type": "PAYMENT.REFUND.COMPLETED",
                        "resource_type": "refund",
                        "resource_version": "2.0",
                        "summary": "Non Referenced Credit Completed",
                        "resource": {
                          "id": "1JU08902781691411",
                          "amount": {
                            "value": "10.99",
                            "currency_code": "USD"
                          },
                          "status": "COMPLETED",
                          "note_to_payer": "Defective product",
                          "seller_payable_breakdown": {
                            "gross_amount": {
                              "value": "10.99",
                              "currency_code": "USD"
                            },
                            "paypal_fee": {
                              "value": "0",
                              "currency_code": "USD"
                            },
                            "net_amount": {
                              "value": "10.99",
                              "currency_code": "USD"
                            },
                            "total_refunded_amount": {
                              "value": "10.99",
                              "currency_code": "USD"
                            }
                          },
                          "create_time": "2019-11-18T11:24:19Z",
                          "update_time": "2018-11-18T11:24:19Z",
                          "links": [
                            {
                              "rel": "self",
                              "method": "GET",
                              "href": "https://api.paypal.com/v2/payments/refunds/1JU08902781691411"
                            }
                          ]
                        },
                        "links": [
                          {
                            "href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-COC11055RA711503B-4YM959094A144403T",
                            "rel": "self",
                            "method": "GET"
                          },
                          {
                            "href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-COC11055RA711503B-4YM959094A144403T/resend",
                            "rel": "resend",
                            "method": "POST"
                          }
                        ],
                        "event_version": "1.0"
                      }
                    }
                  }
                }
              }
            },
            "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"
              }
            }
          }
        }
      },
      "verification_verified": {
        "verifications/{$request.path.id}": {
          "post": {
            "summary": "Payment verification verified notification",
            "description": "Notification sent when payment verification has been verified.",
            "operationId": "verifications.verified.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Verification Verified Event",
                    "description": "Webhook event notification for payment verification verified.",
                    "properties": {
                      "context_id": {
                        "type": "string",
                        "description": "The context ID for the payment verification.",
                        "minLength": 1,
                        "maxLength": 255,
                        "pattern": "^.*$"
                      },
                      "idempotent": {
                        "type": "boolean",
                        "description": "Indicates if the operation is idempotent."
                      }
                    }
                  },
                  "examples": {
                    "verification_verified": {
                      "summary": "Payment verification verified event",
                      "description": "Webhook notification when payment verification has been verified.",
                      "value": {
                        "context_id": "50K38686VU458603L",
                        "payment": {
                          "payment_id": "50K38686VU458603L",
                          "status": "COMPLETED",
                          "intent": "VERIFICATION",
                          "payment_source": {
                            "card": {
                              "name": "**********",
                              "expiry": "2029-02",
                              "last_digits": "9107",
                              "type": "DEBIT",
                              "bin_details": {
                                "bin": "41252417",
                                "issuing_bank": "BPCE",
                                "bin_country_code": "FR",
                                "products": [
                                  "ELECTRONIC",
                                  "GOLD",
                                  "CONSUMER",
                                  "NON_ELECTRONIC",
                                  "CASH_WITHDRAWAL"
                                ]
                              },
                              "available_networks": [
                                "VISA"
                              ],
                              "billing_address": {
                                "address_line_1": "**********",
                                "admin_area_2": "**********",
                                "postal_code": "**********",
                                "country_code": "FR"
                              }
                            }
                          },
                          "verification": {
                            "verification_status": "VERIFIED",
                            "verification_id": "8P908649EK0538737",
                            "network_transaction_reference": {
                              "id": "385195638562731",
                              "network": "VISA"
                            }
                          },
                          "amount": {
                            "currency_code": "EUR",
                            "value": "0.00"
                          },
                          "transaction_context": {},
                          "links": [
                            {
                              "href": "https://api.paypal.com/v2/payments/payment/50K38686VU458603L",
                              "rel": "self",
                              "method": "GET"
                            },
                            {
                              "href": "https://api.paypal.com/v2/payments/verification/8P908649EK0538737",
                              "rel": "self",
                              "method": "GET"
                            }
                          ]
                        },
                        "idempotent": false
                      }
                    }
                  }
                }
              }
            },
            "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": "/payment",
                              "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"
              }
            }
          }
        }
      },
      "verification_failed": {
        "verifications/{$request.path.id}/failed": {
          "post": {
            "summary": "Payment verification failed notification",
            "description": "Notification sent when payment verification has failed.",
            "operationId": "verifications.failed.callback",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "title": "Verification Failed Event",
                    "description": "Webhook event notification for payment verification failed.",
                    "properties": {
                      "context_id": {
                        "type": "string",
                        "description": "The context ID for the payment verification.",
                        "minLength": 1,
                        "maxLength": 255,
                        "pattern": "^.*$"
                      },
                      "idempotent": {
                        "type": "boolean",
                        "description": "Indicates if the operation is idempotent."
                      }
                    }
                  },
                  "examples": {
                    "verification_failed": {
                      "summary": "Payment verification failed event",
                      "description": "Webhook notification when payment verification has failed.",
                      "value": {
                        "context_id": "3DT72694M7836131K",
                        "payment": {
                          "payment_id": "3DT72694M7836131K",
                          "status": "COMPLETED",
                          "intent": "VERIFICATION",
                          "payment_source": {
                            "card": {
                              "name": "**********",
                              "expiry": "2029-02",
                              "last_digits": "6514",
                              "type": "DEBIT",
                              "bin_details": {
                                "bin": "47666427",
                                "issuing_bank": "CAIXABANK SA",
                                "bin_country_code": "ES",
                                "products": [
                                  "CONSUMER"
                                ]
                              },
                              "available_networks": [
                                "VISA"
                              ],
                              "billing_address": {
                                "address_line_1": "**********",
                                "admin_area_2": "**********",
                                "postal_code": "**********",
                                "country_code": "FR"
                              }
                            }
                          },
                          "verification": {
                            "verification_status": "FAILED",
                            "verification_id": "3Y969738N8657733W"
                          },
                          "amount": {
                            "currency_code": "EUR",
                            "value": "0.00"
                          },
                          "transaction_context": {},
                          "links": [
                            {
                              "href": "https://api.paypal.com/v2/payments/payment/3DT72694M7836131K",
                              "rel": "self",
                              "method": "GET"
                            },
                            {
                              "href": "https://api.paypal.com/v2/payments/verification/3Y969738N8657733W",
                              "rel": "self",
                              "method": "GET"
                            }
                          ]
                        },
                        "idempotent": false
                      }
                    }
                  }
                }
              }
            },
            "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": "/payment",
                              "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"
              }
            }
          }
        }
      }
    }
  },
  "x-errors": [
    {
      "name": "AUTH_CAPTURE_CURRENCY_MISMATCH",
      "message": "Currency of capture must be the same as currency of authorization.",
      "description": "<br/>Verify the currency of the capture and try the request again."
    },
    {
      "name": "AUTHENTICATION_FAILURE",
      "message": "Authentication failed due to missing authorization header, or invalid authentication credentials.",
      "description": "<br/>Account validations failed for the user."
    },
    {
      "name": "AUTHORIZATION_ALREADY_CAPTURED",
      "message": "Authorization has already been captured.",
      "description": "<br/>If `final_capture` is set to to `true`, additional captures are not possible against the authorization."
    },
    {
      "name": "AUTHORIZATION_DENIED",
      "message": "A denied authorization cannot be captured.",
      "description": "<br/>You cannot capture a denied authorization."
    },
    {
      "name": "AUTHORIZATION_EXPIRED",
      "message": "An expired authorization cannot be captured.",
      "description": "<br/>You cannot capture an expired authorization."
    },
    {
      "name": "AUTHORIZATION_VOIDED",
      "message": "A voided authorization cannot be captured or reauthorized.",
      "description": "<br/>You cannot capture or reauthorize a voided authorization."
    },
    {
      "name": "CANNOT_BE_ZERO_OR_NEGATIVE",
      "message": "Must be greater than zero. If the currency supports decimals, only two decimal place precision is supported.",
      "description": "<br/>Specify a different value and try the request again."
    },
    {
      "name": "CANNOT_BE_VOIDED",
      "message": "A reauthorization cannot be voided. Please void the original parent authorization.",
      "description": "<br/>You cannot void a reauthorized payment. You must void the original parent authorized payment."
    },
    {
      "name": "REFUND_NOT_PERMITTED_DUE_TO_CHARGEBACK",
      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
      "description": "<br/>Refunds not allowed on this capture due to a chargeback on the card or bank. Please contact the payee to resolve the chargeback."
    },
    {
      "name": "TRANSACTION_DISPUTED",
      "message": "Partial refunds cannot be offered at this time because there is an open case on this transaction. Visit the PayPal Resolution Center to review this case.",
      "description": "<br/>Refund for an amount less than the remaining transaction amount cannot be processed at this time because of an open dispute on the capture. Please visit the PayPal Resolution Center to view the details."
    },
    {
      "name": "CAPTURE_FULLY_REFUNDED",
      "message": "The capture has already been fully refunded.",
      "description": "<br/>You cannot capture additional refunds against this capture."
    },
    {
      "name": "CARD_BRAND_NOT_SUPPORTED",
      "description": "Refund cannot be issued to this card. The card brand `card_brand` is not supported. Please try again with another card."
    },
    {
      "name": "CARD_BILLING_ADDRESS_COUNTRY_NOT_SUPPORTED",
      "description": "Specified country is not currently supported for payment processing."
    },
    {
      "name": "CARD_EXPIRED",
      "description": "The card is expired."
    },
    {
      "name": "CARD_ISSUER_COUNTRY_NOT_SUPPORTED",
      "description": "Card is issued by a financial institution for a country (e.g. Cuba, Iran, North Korea, Syria) that is not current supported for payment processing."
    },
    {
      "name": "CURRENCY_NOT_SUPPORTED_FOR_CARD_BRAND",
      "description": "Currency not supported for card specified. Card is `card_brand`. Only `currency_code` is supported for this brand of card."
    },
    {
      "name": "CURRENCY_NOT_SUPPORTED_FOR_COUNTRY",
      "description": "Currency code not supported for card payments in your country."
    },
    {
      "name": "DECIMAL_PRECISION",
      "message": "The value of the field should not be more than two decimal places.",
      "description": "<br/>If the currency supports decimals, only two decimal place precision is supported."
    },
    {
      "name": "DECIMALS_NOT_SUPPORTED",
      "message": "Currency does not support decimals.",
      "description": "<br/>Currency does not support decimals. Please refer to https://developer.paypal.com/docs/api/reference/currency-codes/ for more information."
    },
    {
      "name": "DUPLICATE_INVOICE_ID",
      "message": "Requested invoice number has been previously captured. Possible duplicate transaction.",
      "description": "<br/>Payment for this invoice was already captured."
    },
    {
      "name": "INSTRUMENT_DECLINED",
      "description": "The instrument presented was either declined by the processor or bank, or it can't be used for this payment."
    },
    {
      "name": "INVALID_ACCOUNT_STATUS",
      "message": "Account validations failed for the user.",
      "description": "<br/>The user account could not be validated."
    },
    {
      "name": "INVALID_CARD_NUMBER",
      "description": "The card number is invalid."
    },
    {
      "name": "INTERNAL_SERVER_ERROR",
      "message": "An internal server error has occurred.",
      "description": "<br/>Try your request again later."
    },
    {
      "name": "RATE_LIMIT_REACHED",
      "message": "Too many requests. Blocked due to rate limiting.",
      "description": "The rate limit was reached."
    },
    {
      "name": "INVALID_CURRENCY_CODE",
      "message": "Currency code should be a three-character ISO-4217 currency code.",
      "description": "<br/>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."
    },
    {
      "name": "INVALID_INVOICE_ID",
      "message": "Specified invoice_id does not exist.",
      "description": "<br/>Please check the invoice_id and try again."
    },
    {
      "name": "INVALID_PARAMETER_SYNTAX",
      "message": "The value of the field does not conform to the expected format.",
      "description": "<br/>Verify the specification for supported `pattern` and try the request again."
    },
    {
      "name": "INVALID_PARAMETER_VALUE",
      "message": "The value of a field is invalid.",
      "description": "<br/>Verify the specification for the allowed values and try the request again."
    },
    {
      "name": "INVALID_PAYEE_ACCOUNT",
      "message": "Payee account is invalid.",
      "description": "<br/>Verify the payee account information and try the request again."
    },
    {
      "name": "INVALID_PLATFORM_FEES_AMOUNT",
      "message": "The `platform_fees` amount cannot be greater than the capture amount.",
      "description": "<br/>Verify the `platform_fees` amount and try the request again."
    },
    {
      "name": "PLATFORM_FEES_NOT_SUPPORTED",
      "message": "The API Caller is not enabled to process transactions by specifying 'platform_fees'. Please work with your PayPal Account Manager to enable this option for your account.",
      "description": "<br/>Verify the API caller is enabled to process the transaction with platform fees."
    },
    {
      "name": "DELAYED_DISBURSEMENT_NOT_SUPPORTED",
      "message": "The API Caller is not enabled to process transactions by specifying disbursement mode as delayed.",
      "description": "<br/>Verify the API caller is enabled to process transaction with delayed disbursement."
    },
    {
      "name": "INVALID_PLATFORM_FEES_ACCOUNT",
      "message": "The specified platform_fees payee account is either invalid or account setup is incomplete. Please work with your PayPal Account Manager to enable this option for your account.",
      "description": "<br/>Verify the platform fee account set up is completed or correct account."
    },
    {
      "name": "PAYEE_NOT_CONSENTED",
      "description": "Payee does not have appropriate consent to allow the API caller to process this type of transaction on their behalf. Your current setup requires the 'payee' to provide a consent before this transaction can be processed successfully."
    },
    {
      "name": "INVALID_RESOURCE_ID",
      "message": "Specified resource ID does not exist. Please check the resource ID and try again.",
      "description": "<br/>Verify the resource ID and try the request again."
    },
    {
      "name": "INVALID_STRING_LENGTH",
      "message": "The value of a field is either too short or too long.",
      "description": "<br/>Verify the specification for the supported `min` and `max` values and try the request again."
    },
    {
      "name": "INVALID_STRING_MAX_LENGTH",
      "message": "The value of a field is too long.",
      "description": "<br/>The parameter string is too long."
    },
    {
      "name": "MAX_CAPTURE_AMOUNT_EXCEEDED",
      "message": "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. Local regulations (e.g. in PSD2 countries) prohibit overages above the amount authorized by the payer.",
      "description": "<br/>Specify a different amount and try the request again. Alternately, contact Customer Support to increase your limits."
    },
    {
      "name": "MAX_CAPTURE_COUNT_EXCEEDED",
      "message": "Maximum number of allowable captures has been reached. No additional captures are possible for this authorization. Please contact customer service or your account manager to change the number of captures that be made for a given authorization.",
      "description": "<br/>You cannot make additional captures."
    },
    {
      "name": "MAX_NUMBER_OF_REFUNDS_EXCEEDED",
      "message": "You have exceeded the number of refunds that can be processed per capture.",
      "description": "<br/>Please contact customer support or your account manager to review the number of refunds that can be processed per capture."
    },
    {
      "name": "MAX_REFUND_LIMIT_EXCEEDED",
      "description": "Refund amount exceeds allowable limit. Specify a different amount and try the request again. Alternately, contact Customer Support to increase your limits."
    },
    {
      "name": "MISSING_REQUIRED_PARAMETER",
      "message": "A required field / parameter is missing.",
      "description": "<br/>Verify the specification for `required` fields and try the request again."
    },
    {
      "name": "MULTIPLE_AUTHORIZATIONS_FOUND",
      "message": "Cannot void multiple authorizations.",
      "description": "<br/>Specified invoice_id is associated with more than one authorization."
    },
    {
      "name": "NOT_AUTHORIZED",
      "message": "You do not have permission to access or perform operations on this resource.",
      "description": "<br/>To make API calls on behalf of a merchant, ensure that you have sufficient permissions to proceed with this transaction."
    },
    {
      "name": "PARTIAL_REFUND_NOT_ALLOWED",
      "message": "You cannot do a refund for an amount less than the original capture amount.",
      "description": "<br/>Specify an amount equal to the capture amount or omit the `amount` object from the request. Then, try the request again."
    },
    {
      "name": "PAYEE_ACCOUNT_LOCKED_OR_CLOSED",
      "message": "Transaction could not complete because payee account is locked or closed.",
      "description": "<br/>To get more information about the status of the account, call Customer Support."
    },
    {
      "name": "PAYEE_ACCOUNT_RESTRICTED",
      "message": "Payee account is restricted.",
      "description": "<br/>To get more information about the status of the account, call Customer Support."
    },
    {
      "name": "PAYER_ACCOUNT_LOCKED_OR_CLOSED",
      "message": "The payer account cannot be used for this transaction.",
      "description": "<br/>Contact the payer for an alternate payment method."
    },
    {
      "name": "PAYER_ACCOUNT_RESTRICTED",
      "message": "Payer account is restricted.",
      "description": "<br/>To get more information about the status of the account, call Customer Support."
    },
    {
      "name": "PAYER_CANNOT_PAY",
      "message": "Payer cannot pay for this transaction.",
      "description": "<br/>Please contact the payer to find other ways to pay for this transaction."
    },
    {
      "name": "PENDING_CAPTURE",
      "message": "Cannot initiate a refund as the capture is pending.",
      "description": "<br/>Capture is typically pending when the payer has funded the transaction by using an e-check or bank account."
    },
    {
      "name": "PERMISSION_DENIED",
      "message": "You do not have permission to access or perform operations on this resource.",
      "description": "<br/>To make API calls on behalf of a merchant, ensure that you have sufficient permissions to proceed with this transaction."
    },
    {
      "name": "PERMISSION_NOT_GRANTED",
      "message": "Payee of the authorization has not granted permission to perform capture on the authorization.",
      "description": "<br/>To make API calls on behalf of a merchant, ensure that you have sufficient permissions to capture the authorization."
    },
    {
      "name": "PREVIOUSLY_CAPTURED",
      "message": "Authorization has been previously captured and hence cannot be voided.",
      "description": "<br/>This authorized payment was already captured. You cannot capture it again."
    },
    {
      "name": "PREVIOUSLY_VOIDED",
      "message": "Authorization has been previously voided and hence cannot be voided again.",
      "description": "<br/>This authorized payment was already voided. You cannot void it again."
    },
    {
      "name": "REFUND_AMOUNT_EXCEEDED",
      "message": "The refund amount must be less than or equal to the capture amount that has not yet been refunded.",
      "description": "<br/>Verify the refund amount and try the request again."
    },
    {
      "name": "REFUND_AMOUNT_TOO_LOW",
      "message": "The amount after applying currency conversion is zero and hence the capture cannot be refunded. The currency conversion is required because the currency of the capture is different than the currency in which the amount was settled into the payee account.",
      "description": "<br/>The amount after applying currency conversion is zero and hence the capture cannot be refunded. The currency conversion is required because the currency of the capture is different than the currency in which the amount was settled into the payee account."
    },
    {
      "name": "REFUND_CAPTURE_CURRENCY_MISMATCH",
      "message": "Refund must be in the same currency as the capture.",
      "description": "<br/>Verify the currency of the refund and try the request again."
    },
    {
      "name": "REFUND_FAILED_INSUFFICIENT_FUNDS",
      "message": "Refund cannot be processed due to insufficient funds.",
      "description": "<br/>Capture could not be refunded due to insufficient funds. Please check to see if you have sufficient funds in your PayPal account or if the bank account linked to your PayPal account is verified and has sufficient funds."
    },
    {
      "name": "REFUND_NOT_ALLOWED",
      "message": "Capture cannot be refunded.",
      "description": "<br/>You cannot refund this capture."
    },
    {
      "name": "REFUND_TIME_LIMIT_EXCEEDED",
      "message": "You are over the time limit to perform a refund on this capture.",
      "description": "<br/>The refund cannot be issued at this time."
    },
    {
      "name": "TRANSACTION_REFUSED",
      "message": "PayPal's internal controls prevent authorization from being captured.",
      "description": "<br/>For more information about this transaction, contact customer support."
    },
    {
      "name": "REFUND_NOT_SUPPORTED_FOR_PAYMENT_SOURCE",
      "message": "Refund was refused by the payment source.",
      "description": "<br/>Refunds are not supported for the payer's selected payment source. Contact the payer directly to arrange a refund via alternative means."
    },
    {
      "name": "REFUND_TIME_EXCEEDED_FOR_PAYMENT_SOURCE",
      "message": "Refund was refused by the payment source.",
      "description": "<br/>The time limit set by the payer's selected payment source to refund this transaction has expired. Contact the payer directly to arrange a refund via alternative means."
    },
    {
      "name": "REFUND_FAILED_BY_PAYMENT_SOURCE",
      "message": "Refund was refused by the payment source.",
      "description": "<br/>We're unable to process refunds for the payer's selected payment source. Contact the payer directly to arrange a refund via alternative means."
    },
    {
      "name": "PREVIOUS_REQUEST_IN_PROGRESS",
      "message": "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.",
      "description": "<br/>This scenario only occurs when making multiple API requests on the same resource within a very short duration. To resolve this, API callers need to make subsequent requests with a delay."
    },
    {
      "name": "REAUTHORIZATION_NOT_SUPPORTED",
      "message": "A reauthorize cannot be attempted on an authorization_id that is the result of a prior reauthorization or on an authorization made on an Order saved using the `v2/orders/id/save` API."
    },
    {
      "name": "AUTH_CURRENCY_MISMATCH",
      "message": "The currency specified during reauthorization should be the same as the currency specified in the original authorization. Please check the currency of the authorization for which you are trying to reauthorize and try again."
    },
    {
      "name": "SHIPPING_ADDRESS_INVALID",
      "message": "Address field does not match the corresponding validation regex."
    },
    {
      "name": "SHIPPING_ADDRESS_NOT_ALLOWED_BY_RESIDENCE_COUNTRY",
      "message": "The provided shipping address is not allowed by buyer's residency country."
    },
    {
      "name": "UPDATE_AUTHORIZATION_NOT_SUPPORTED",
      "message": "Update authorization is not allowed for this type of authorization."
    },
    {
      "name": "REFUND_TRANSACTION_REFUSED",
      "description": "PayPal's internal controls or user account settings prevent refund from being processed."
    },
    {
      "name": "MAX_PAYER_AMOUNT_LIMIT_EXCEEDED",
      "description": "Refund amount exceeds the allowed cumulative limit that the payer can refund."
    },
    {
      "name": "MAX_PAYEE_AMOUNT_LIMIT_EXCEEDED",
      "description": "Refund amount exceeds the allowed cumulative limit that the payee can receive."
    },
    {
      "name": "PAYER_REFUND_AMOUNT_LIMIT_EXCEEDED",
      "description": "Refund amount exceeds per transaction limit that the payer can refund."
    },
    {
      "name": "PAYEE_REFUND_AMOUNT_LIMIT_EXCEEDED",
      "description": "Refund amount exceeds per transaction limit that the payee can receive."
    },
    {
      "name": "DUPLICATE_REFUND",
      "description": "Requested invoice_id has been previously refunded. Possible duplicate transaction."
    },
    {
      "name": "CANNOT_REFUND_SELF",
      "description": "The payer and payee for the refund cannot be same."
    },
    {
      "name": "REFUND_FUNDS_NOT_AVAILABLE",
      "description": "There is no valid funding instrument linked to the account from which refund can be processed."
    },
    {
      "name": "REFUND_REFUSED_BY_PROCESSOR",
      "description": "The funding instrument linked to the account has been declined by either the processor or PayPal internal system."
    },
    {
      "name": "PLATFORM_FEE_NOT_ENABLED",
      "message": "The API Caller account is not setup to be able to process refunds with 'platform_fees'. Please contact your Account Manager. This feature is useful when you want to contribute a portion of the 'platform_fees' you had capture as part of the refund being processed."
    },
    {
      "name": "REFUND_IS_RESTRICTED",
      "message": "This refund can only be processed by the API caller that had 'captured' the transaction. If you facilitate your transactions via a platform/partner, please initiate a refund through them."
    },
    {
      "name": "PLATFORM_FEE_EXCEEDED",
      "message": "Platform fee amount specified exceeds the amount that is available for refund. You can only refund up to the available platform fee amount. This error is also returned when no platform_fee was specified or was zero when the payment was captured."
    },
    {
      "name": "CURRENCY_MISMATCH",
      "message": "All amounts specified should be in the same currency. Please ensure that the currency for the 'amount' and that of 'platform_fees.amount' is the same."
    },
    {
      "name": "CANNOT_BE_NEGATIVE",
      "description": "Must be greater than or equal to 0."
    },
    {
      "name": "INVALID_SECURITY_CODE_LENGTH",
      "description": "The security_code length is invalid for the specified card brand."
    },
    {
      "name": "CARD_TYPE_NOT_SUPPORTED",
      "description": "Processing of this card type is not supported. Use another type of card."
    },
    {
      "name": "TRANSACTION_REFUSED",
      "description": "The request was refused."
    },
    {
      "name": "CURRENCY_NOT_SUPPORTED_FOR_CARD_TYPE",
      "description": "Currency code not supported for direct card payments using this card type. See [Currency codes](/docs/api/reference/currency-codes/) for list of supported currency codes."
    },
    {
      "name": "INVALID_FX_RATE_ID",
      "description": "The specified FX Rate ID is not valid."
    },
    {
      "name": "PAYEE_FX_RATE_ID_EXPIRED",
      "description": "The specified FX Rate ID has expired."
    },
    {
      "name": "PAYEE_FX_RATE_ID_CURRENCY_MISMATCH",
      "description": "The specified FX Rate ID is for a currency that does not match with the currency of this request."
    },
    {
      "name": "FX_RATE_CHANGE_DUE_TO_MARKET_EVENT",
      "description": "The FX rate associated with the specified FX rate ID has been changed due to market events. Please refer to the provided new_fx_id link to retrieve a new FX rate ID and try the request again."
    },
    {
      "name": "INVALID_ARRAY_LENGTH",
      "message": "Request is not well-formed, syntactically incorrect, or violates schema.",
      "description": "<br/>The number of items in an array parameter is too small or too large."
    },
    {
      "name": "MALFORMED_REQUEST_JSON",
      "message": "Request is not well-formed, syntactically incorrect, or violates schema.",
      "description": "The request JSON is not well formed."
    },
    {
      "name": "INVALID_COUNTRY_CODE",
      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
      "description": "<br/>Country code is invalid. Please refer to https://developer.paypal.com/docs/integration/direct/rest/country-codes/ for a list of supported country codes."
    },
    {
      "name": "MULTI_CURRENCY_CODE",
      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
      "description": "<br/>Multiple differing values of currency_code are not supported. Entire request must have the same currency_code."
    },
    {
      "name": "PAYEE_ACCOUNT_INVALID",
      "message": "The requested action could not be performed, semantically incorrect, or failed business validation.",
      "description": "<br/>Payee account specified is invalid. Please check the `payee.merchant_id` specified and try again."
    },
    {
      "name": "COMPLIANCE_VIOLATION",
      "description": "Transaction is declined due to compliance violation."
    },
    {
      "name": "DUPLICATE_TRANSACTION",
      "description": "Duplicate invoice Id detected."
    },
    {
      "name": "AUTHORIZATION_AMOUNT_EXCEEDED",
      "description": "Authorization amount specified exceeded allowable limit. Specify a different amount and try the request again. Alternately, contact Customer Support to increase your limits. Local regulations (e.g. in PSD2 countries) prohibit overages above the amount authorized by the payer."
    },
    {
      "name": "REAUTHORIZATION_TOO_SOON",
      "description": "A reauthorization is only allowed once from Day 4 to Day 29 since the date of the original authorization."
    },
    {
      "name": "CAPTURED_AMOUNT_FULLY_REFUNDED",
      "description": "The captured amount has already been fully refunded."
    },
    {
      "name": "REFUND_CURRENCY_MISMATCH",
      "description": "Refund must be in the same currency as the capture."
    },
    {
      "name": "REAUTHORIZATION_DECLINED_BY_PROCESSOR",
      "description": "The reauthorization was declined by the processor."
    },
    {
      "name": "REAUTHORIZATION_NOT_SUPPORTED_FOR_PAYMENT_SOURCE",
      "description": "Reauthorization is not supported for the payment source."
    },
    {
      "name": "KYC_HOLD",
      "message": "The merchant's KYC status is incomplete.",
      "description": "The payment was pending due to the merchant's incomplete KYC status."
    }
  ]
}