You can refund funds from your (merchant) bank account to customer accounts for:
- Successful payment or settlement transactions processed by Nuvei.
- Transactions not settled by Nuvei (unreferenced refunds).
Transactions Processed by Nuvei
To perform a refund for a successful payment or settlement processed by Nuvei using REST 2.0, send a POST /payments/{payment-id}/refunds or /payments/{payment-id}/settles/{settle-id}/refunds API request with its mandatory parameters and according to these instructions:
- Use the
paymentIdof the original payment or settlement transaction. - For settlements, use the
settleIdof the original settlement transaction. - The refund
amountcannot exceed the original payment or settlementamount. - The sum of the
amountin this refund request plus all previous partial refund requests cannot exceed the original payment or settlementamount. (This is one of the reasons why this method is unsuitable for refunding payouts and winnings.) - The refund request
currencymust match that of the original payment or settlement.
Example POST payments/{payment-id}/refunds Request
{
"processingEntityId": "<your processingEntityId>",
"amount": 0.5
}
refundId appears in the response and is required if the merchant needs to void the refund.
Example POST payments/{payment-id}/refunds Response
{
"refundId": "457801",
"transactionId": "2110000000010755354",
"amount": 0.5,
"currency": "USD",
"authCode": "348671",
"result": {
"status": "approved"
}
}
Unreferenced Refunds
Merchants can process unreferenced refunds for transactions not settled by Nuvei, with no need for a paymentId. For example, when another PSP settled the original transaction, and the merchant is using Nuvei to process the refund.
To perform an unreferenced refund, send a POST /refunds API request with its mandatory parameters and full credit card details.
Example POST /refunds Request
{
"processingEntityId": "<your processingEntityId>",
"merchantTransactionId": "<ID of the transaction in the merchant system>",
"buyerId": "unique customer identifier in your system",
"amount": 1.5,
"currency": "USD",
"buyerDetails": {
"firstName": "John",
"lastName": "Smith",
"billingAddress": {
"city": "Boston",
"countryCode": "US"
}
},
"paymentOption": {
"card": {
"cardHolderName": "John Smith",
"cardNumber": "5101081046006034",
"expirationMonth": "12",
"expirationYear": "2023"
}
}
}
Example POST /refunds Response
{
"refundId": 515021,
"transactionId": "2110000000010953869",
"amount": 1.5,
"currency": "USD",
"authCode": "492575",
"result": {
"status": "approved"
}
}