PayPal · Schema
Refund Request
Refunds a captured payment, by ID. For a full refund, include an empty request body. For a partial refund, include an amount object in the request body.
BillingCommerceDisputesInvoicesOrderPaymentsPayoutsSubscriptionTokensWebhook
Properties
| Name | Type | Description |
|---|---|---|
| amount | object | The amount to refund. To refund a portion of the captured amount, specify an amount. If amount is not specified, an amount equal to captured amount - previous refunds is refunded. The amo |
| custom_id | string | 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 |
| invoice_id | string | The API caller-provided external invoice ID for this order. The pattern is defined by an external party and supports Unicode. |
| note_to_payer | string | 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. |
| payment_instruction | object | 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 Plat |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/refund_request",
"title": "Refund Request",
"type": "object",
"description": "Refunds a captured payment, by ID. For a full refund, include an empty request body. For a partial refund, include an <code>amount</code> object in the request body.",
"properties": {
"amount": {
"description": "The amount to refund. To refund a portion of the captured amount, specify an amount. If amount is not specified, an amount equal to <code>captured amount - previous refunds</code> is refunded. The amount must be a positive number and in the same currency as the one in which the payment was captured.",
"$ref": "#/components/schemas/money"
},
"custom_id": {
"type": "string",
"description": "The API caller-provided external ID. Used to reconcile API caller-initiated transactions with PayPal transactions. Appears in transaction and settlement reports. The pattern is defined by an external party and supports Unicode.",
"minLength": 1,
"maxLength": 127,
"pattern": "^.*$"
},
"invoice_id": {
"type": "string",
"description": "The API caller-provided external invoice ID for this order. The pattern is defined by an external party and supports Unicode.",
"minLength": 1,
"maxLength": 127,
"pattern": "^.*$"
},
"note_to_payer": {
"type": "string",
"description": "The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives. The pattern is defined by an external party and supports Unicode.",
"minLength": 1,
"maxLength": 255,
"pattern": "^.*$"
},
"payment_instruction": {
"description": "Any additional refund instructions to be set during refund payment processing. This object is only applicable to merchants that have been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability. Please speak to your account manager if you want to use this capability.",
"$ref": "#/components/schemas/payment_instruction-2"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/paypal-refund-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.