PayPal Refund
Last updated: 13-Mar-2024
Overview
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
amount
object in the JSON request body
Note: A valid JWT Token is required to make the API call.
Required fields
There are no required fields for the Refund API.
Optional fields
- reason - The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives.
- amount - The
amount
object tells the amount to refund. If not provided, whole amount will be refunded. - amount.value - Amount to refund. Always expects integer (112 will be 1.12 for USD/ EUR. For most currencies, 1000 is equal to 10; it depends on the number of digits after the decimal separator. You can see the list of all currencies here).
- amount.currencyCode - Currency code (ISO-4217)
Refunding a payment
Here is an example request that can be used for refunding a transaction payment:
POST /transactions/{id}/refund
{
"amount": {
"value": "1099",
"currencyCode": "USD"
},
"reason": "defected product"
}
Note: You can make the request with empty body. In that case, full amount will be refunded.
The response for refund transaction payment will look like this:
{
"id": "6a0ff62c-a869-47c1-a380-3298d9718a42",
"refundId": "123456",
"status": "AUTHORISED",
"createdAt": "2020-07-10T21:20:49Z",
}
Response fields are:
- id - the transaction ID
- refundId - ID saved on PayPal for this refund
- status - the current status for the transaction
- createdAt - the datetime when the refund was created
Rate this article: