Skip to main content
Rate this article:

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:
Logo of Verifone