Manage refunds
Last updated: Oct 1st, 9:13am
Process full, partial, or multiple partial refunds for captured Afterpay payments. Refunds must be initiated within 120 days of the original transaction through the refunds API.
Path parameter: capture_id is the unique identifier for the payment capture found in the webhook response after order completion.
Full refund
Send a POST request to /v2/payments/captures/{capture_id}/refund including the full transaction amount.
1curl -X POST https://api.sandbox.paypal.com/v2/payments/captures/{capture_id}/refund \2 -H "Content-Type: application/json" \3 -H "Authorization: Bearer <ACCESS_TOKEN>" \4 -H "PayPal-Request-Id: <UNIQUE_REQUEST_ID>" \5 -d '{6 "amount" : {7 "value": "26.10",8 "currency_code": "USD"9 }10}
Partial refund
Send a POST request to /v2/payments/captures/{capture_id}/refund with the partial amount. You can issue multiple partial refunds as long as the total doesn't exceed the original captured amount.
1curl -X POST https://api.sandbox.paypal.com/v2/payments/captures/{capture_id}/refund \2 -H "Content-Type: application/json" \3 -H "Authorization: Bearer <ACCESS_TOKEN>" \4 -H "PayPal-Request-Id: <UNIQUE_REQUEST_ID>" \5 -d '{6 "amount" : {7 "value": "13.05",8 "currency_code": "USD"9 }10}
Note: PayPal tracks cumulative refund amounts automatically. You'll receive a PAYMENT.CAPTURE.REFUNDED webhook upon successful completion of each refund.