# Refund

Return funds from a purchase transaction back to a customer.

## Refund a purchase transaction

/v1/transactions/{systemTransactionId}/modifications

### Request example

Use the following request to return funds from a purchase transaction back to the original payment method.

You can also perform a refund by [initiating a transaction](/guides/transactions/initiate-transactions) and setting the intent to `Refund`.


```json
{
  "fundingType": "Card",
  "merchant": "MERCHANT-1",
  "site": "SITE-1",
  "merchantTransactionId": "TRANSACTION-2",
  "merchantTransactionDate": "2025-01-27T08:51:02.826Z",
  "amounts": {
    "transaction": 24.99
  },
  "operation": "Refund"
}
```

| 
| Parameter | Description |
| `fundingType`string (enum) | The type of funding source used for the transaction.Possible values:`Card``Paypal` |
| `merchant`string (≤ 20 characters) | Your unique merchant identifier, as assigned by PXP. |
| `site`string (≤ 20 characters) | Your unique site identifier, as assigned by PXP. |
| `merchantTransactionId`string (≤ 50 characters) | The unique identifier for this transaction, as chosen by you. |
| `merchantTransactionDate`date-time | The date and time when the initial transaction happened, in ISO 8601 format. |
| `amounts`object | Details about the transaction amount. |
| `amounts.transaction`string | The value of the transaction. For `Refund` operations, this can't be more than the original transaction value. |
| `amounts.gratuity`number | The gratuity or tip amount. |
| `operation`string | The type of modification that you want to make. Set this to `Refund`. Possible values:`Capture``FinalCapture``Refund``Incremental``Void` |
| `remark`string | Optional remark or note about the modification. |
| `data`object | Optional key-value pairs for additional data. |
| `dccData`object | Details about the Dynamic Currency Conversion (DCC). |
| `dccData.rateSelectedIndicator`string (enum) | Whether a DCC rate was selected for the transaction.Possible values:`NotSelected``Selected``NotAvailable``CardNotEligible``Error` |
| `dccData.amounts`object | Details about the transaction amount in the local currency and the cardholder's currency. |
| `dccData.amounts.local`string | Details about the transaction amount in the local currency. |
| `dccData.amounts.local.transaction`number | The transaction amount in the local currency. |
| `dccData.amounts.local.currencyCode`string | The currency code in ISO 4217 format. |
| `dccData.amounts.cardholder`object | Details about the transaction amount in the cardholder's currency. |
| `dccData.amounts.cardholder.transaction`number | The transaction amount in the cardholder's currency. |
| `dccData.amounts.cardholder.currencyCode`string | The currency code in ISO 4217 format. |
| `dccData.exchangeRate`number | The exchange rate used for the DCC. |
| `dccData.providerData`object | Details about the DCC provider. |
| `dccData.providerData.provider`string | The name of the DCC provider. |
| `dccData.providerData.referenceId`string | The reference ID provided by the DCC provider. This is required if your provider is Elavon, otherwise it's ignored. |
| `dccData.providerData.merchantId`string | The merchant ID assigned by the DCC provider. This is required if your provider is Elavon, otherwise it's ignored. |
| `dccData.providerData.terminalId`string | The terminal ID assigned by the DCC provider. This is required if your provider is Elavon, otherwise it's ignored. |
| `dccData.providerData.markupTextIndicator`integer | The mark-up text indicator for the DCC provider. |
| `dccData.markupRate`number or null | The mark-up rate. |
| `dccData.disclaimer`string or null | The disclaimer text. |


### Response example

If your request is successful, you'll receive a `200` request containing a new `systemTransactionId`. You'll also receive a Transaction (Authorised) webhook notification.


```json
{
  "state": "Authorised",
  "stateData": {},
  "merchantTransactionDate": "2025-03-27T10:53:38.499Z",
  "merchantTransactionId": "ac47966d-b732-4706-8f29-c4335fd84f02",
  "systemTransactionId": "bfdf16cc-d824-4812-8ee6-a206a2c08043",
  "fundingData": {
    "cardScheme": "MasterCard",                   		     
    "maskedPrimaryAccountNumber": "526600******0075",
    "expiryMonth": "12",
    "expiryYear": "2031",
    "gatewayTokenId": "5fbd77ce-02c1-40ed-94bc-1016660b7512",
    "providerResponse": {
      "provider": "pxpfinancial",
      "code": "00",
      "emvDataResponse": {},
      "paymentAccountReference": "637607302178175469",
      "merchantAdvice": {},
      "authorisedAmount": 0
     }
  } 
}
```