Process Refund


You can process a full or partial refund and then mark the invoice refunded.

The default refund period is 180 days from the transaction date.

If you refund a payment for goods or services, there are no fees to make the refund, but the fees you originally paid as the seller are not returned to you. The amount of the refunded payment will be deducted from your PayPal account.

To learn how to make a refund after 180 days from the original transaction, see All about refunds at PayPal.

  1. Call show invoice details to see the ID of the invoice you want to mark as refunded.
  2. Call record refund for invoice. In the request URI, include the ID of the invoice to mark as refunded. To process a full refund, including the merchant's fee to PayPal, omit the amount object. To process a partial refund, include the amount object with a value of less than the full amount of the invoice.

After you process a refund, call show invoice details. The invoice status of a full refund is REFUNDED and the status of a partial refund is PARTIALLY_REFUNDED.

Mark invoice as refunded

You can mark an invoice, by ID, as refunded.

Include these parameters in the JSON request body:

Parameter Type Description
refund_date string Optional. The date when the invoice was refunded, in Internet date and time format. For example, 2014-02-27.
method enum Required: The payment mode or method through which the invoicer can accept the payments.
amount object

Optional. The currency and amount to record as refunded.

If you omit the amount, the total invoice paid amount is recorded as refunded.

To record a partial refund, enter an amount that is less than the amount that has been manually recorded as paid.

The refund amount cannot exceed the total amount that was marked as paid against this invoice.

You cannot mark an invoice as refunded if it was originally paid online through PayPal. For invoices paid online through PayPal, use the Payment API or Activity page, and the refund status will automatically display on the invoice.

This sample request marks an invoice as refunded:

curl -v -X POST \ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <Access-Token>" \
  -d '{
    "method": "BANK_TRANSFER",
              "refund_date": "2018-05-21",
              "amount": {
                  "currency_code": "USD",
                  "value": "5.00"

A successful request returns the HTTP 200 OK status code with no JSON response body.

Continue to Generate QR Code.