POST /payments/{paymentPspReference}/refunds
Refunds a payment that has been captured, and returns a unique reference for this request. You get the outcome of the request asynchronously, in a REFUND webhook.
You can refund either the full captured amount or a part of the captured amount. You can also perform multiple partial refunds, as long as their sum doesn't exceed the captured amount.
Some payment methods do not support partial refunds. To learn if a payment method supports partial refunds, refer to the payment method page such as cards, iDEAL, or Klarna.
If you want to refund a payment but are not sure whether it has been captured, use the /payments/{paymentPspReference}/reversals
endpoint instead.
For more information, refer to Refund.
Servers
- https://checkout-test.adyen.com/v71
Path parameters
Name | Type | Required | Description |
---|---|---|---|
paymentPspReference |
String | Yes |
The |
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Idempotency-Key |
String | No |
A unique identifier for the message with a maximum of 64 characters (we recommend a UUID). |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
applicationInfo |
Object | No |
Information about your application. For more details, see Building Adyen solutions. |
applicationInfo.merchantApplication |
Object | No |
Merchant developed software, such as cashier application, used to interact with the Adyen API. |
applicationInfo.merchantApplication.name |
String | No |
Name of the field. For example, Name of External Platform. |
applicationInfo.merchantApplication.version |
String | No |
Version of the field. For example, Version of External Platform. |
applicationInfo.externalPlatform |
Object | No |
Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc. |
applicationInfo.externalPlatform.integrator |
String | No |
External platform integrator. |
applicationInfo.externalPlatform.name |
String | No |
Name of the field. For example, Name of External Platform. |
applicationInfo.externalPlatform.version |
String | No |
Version of the field. For example, Version of External Platform. |
applicationInfo.merchantDevice |
Object | No |
Merchant device information. |
applicationInfo.merchantDevice.osVersion |
String | No |
Version of the operating system on the merchant device. |
applicationInfo.merchantDevice.os |
String | No |
Operating system running on the merchant device. |
applicationInfo.merchantDevice.reference |
String | No |
Merchant device reference. |
applicationInfo.adyenLibrary |
Object | No |
Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc. |
applicationInfo.adyenLibrary.name |
String | No |
Name of the field. For example, Name of External Platform. |
applicationInfo.adyenLibrary.version |
String | No |
Version of the field. For example, Version of External Platform. |
applicationInfo.shopperInteractionDevice |
Object | No |
Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests. |
applicationInfo.shopperInteractionDevice.osVersion |
String | No |
Version of the operating system on the shopper interaction device. |
applicationInfo.shopperInteractionDevice.locale |
String | No |
Locale on the shopper interaction device. |
applicationInfo.shopperInteractionDevice.os |
String | No |
Operating system running on the shopper interaction device. |
applicationInfo.adyenPaymentSource |
Object | No |
Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc. |
applicationInfo.adyenPaymentSource.name |
String | No |
Name of the field. For example, Name of External Platform. |
applicationInfo.adyenPaymentSource.version |
String | No |
Version of the field. For example, Version of External Platform. |
splits[] |
Array | No |
An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces or platforms. |
splits[].account |
String | No |
The unique identifier of the account to which the split amount is booked. Required if
|
splits[].description |
String | No |
Your description for the split item. |
splits[].amount |
Object | No |
The amount of the split item.
|
splits[].amount.value |
Integer | Yes |
The value of the split amount, in minor units. |
splits[].amount.currency |
String | No |
The three-character ISO currency code. By default, this is the original payment currency. |
splits[].type |
String | Yes |
The part of the payment you want to book to the specified Possible values for the Balance Platform:
Possible values for the Classic Platforms integration: Commission, Default, MarketPlace, PaymentFee, VAT. Possible values:
|
splits[].reference |
String | No |
Your unique reference for the part of the payment booked to the specified This is required if For the other types, we also recommend providing a unique reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. |
merchantRefundReason |
String | No |
Your reason for the refund request Possible values:
|
amount |
Object | Yes |
The amount that you want to refund. The |
amount.value |
Integer | Yes |
The amount of the transaction, in minor units. |
amount.currency |
String | Yes |
The three-character ISO currency code. |
merchantAccount |
String | Yes |
The merchant account that is used to process the payment. |
reference |
String | No |
Your reference for the refund request. Maximum length: 80 characters. |
store |
String | No |
The online store or physical store that is processing the refund. This must be the same as the store name configured in your Customer Area. Otherwise, you get an error and the refund fails. |
lineItems[] |
Array | No |
Price and product information of the refunded items, required for partial refunds.
|
lineItems[].size |
String | No |
Size of the item. |
lineItems[].description |
String | No |
Description of the line item. |
lineItems[].brand |
String | No |
Brand of the item. |
lineItems[].taxAmount |
Integer | No |
Tax amount, in minor units. |
lineItems[].quantity |
Integer | No |
Number of items. |
lineItems[].productUrl |
String | No |
Link to the purchased item. |
lineItems[].amountExcludingTax |
Integer | No |
Item amount excluding the tax, in minor units. |
lineItems[].imageUrl |
String | No |
Link to the picture of the purchased item. |
lineItems[].marketplaceSellerId |
String | No |
Marketplace seller id. |
lineItems[].id |
String | No |
ID of the line item. |
lineItems[].amountIncludingTax |
Integer | No |
Item amount including the tax, in minor units. |
lineItems[].itemCategory |
String | No |
Item category, used by the payment methods PayPal and Ratepay. |
lineItems[].receiverEmail |
String | No |
Email associated with the given product in the basket (usually in electronic gift cards). |
lineItems[].sku |
String | No |
Stock keeping unit. |
lineItems[].manufacturer |
String | No |
Manufacturer of the item. |
lineItems[].taxPercentage |
Integer | No |
Tax percentage, in minor units. |
lineItems[].upc |
String | No |
Universal Product Code. |
lineItems[].color |
String | No |
Color of the item. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.