Refund payments Copy section link Copied!

If the payment method used for the transaction was Card, you can refund the captured payment and return the funds to the shopper. The refund request must be made in the 75 days following the payment capture. The refund may be full or partial.

For payments that have yet not been Completed, you can Cancel it, in some cases, depending on the payment solution chosen.

In order to refund a payment, you must first make sure that:

  • The initial payment operation status is cashed.
  • The transaction status is completed.
  • The payment split has already occurred.
  • The total amount of the refund doesn't exceed the amount of the initial payment.
  • In some rare cases, additional checks may be performed by the Payment Solution Providers and can lead to a refusal of the refund.


In order to refund a payment, the funds must be available in the accounts used for the refund ("status": "cashed"), and in your main marketplace account. A new breakdown of the payment must be given with the refund request.


The refund will be made using the same payment method that was used to initiate the payment. Please refer to each payment method section to learn more about its specifics.

Please refer to the process flows to understand when this operation is valid.

If you want to learn more about our payment process, you can read our Process payment section.

Refund a payment Copy section link Copied!

For every item in the breakdownList, the amount taken from the vendor is equal to the sum of the breakdown amount and the commission amount.

If the platform wants to cover a part or the entirety of the commission fees for the vendor, your breakdownList must contain 2 items :

  • One item for the vendor with the corresponding amount
  • One item for the platform, corresponding to the remaining amount

The total amount of the items must always be equal to the total refund amount.

From your server, make a /payin/refund request:

Parameter Name
Required
Type
Description
orderId
check
string
Order id obtained in order creation
transactionAmount
check
object
amount information
transactionId
string
Id of the payment transaction.
metaData
object
JSON data for the marketplace. This data is not used by payment systems.
reason
string
Operation label transmitted in payment system. Maximum length of 140 characters.
breakdownList
array
orderReference
check
string
Marketplace reference for this order. Characters authorized are: a to z, A to Z, 0 to 9 and - / . + _ : and space
payer
check
object
payer information

Example Copy section link Copied!

Here is a JSON payload example of a /payin/refund request:

JSON
Copy
Copied
{
"orderId": "14326513",
"transactionId": "123456789",
"transactionAmount": {
"value": "100",
"currency": "EUR"
},
"payer": {
"reference": "customer_1363"
},
"breakdownList": [
{
"label": "bdl1",
"sellerAccountNumber": "1300600000EUR01006110",
"amount": {
"value": "98.20",
"currency": "EUR"
},
"commission": {
"amount": "0.23",
"account": "1300600000EUR01004110"
}
},
{
"label": "bdl2",
"sellerAccountNumber": "1300600000EUR01004110",
"amount": {
"value": "1.80",
"currency": "EUR"
}
}
]
}
Copy
Copied

Retrieving the result Copy section link Copied!

In response to your request, you will receive a refundResponse object, including the following:

Parameter Name
Type
Description
orderStatus
string
transactionList
array
resultCode
string
resultCodeMessage
string
orderId
string

Example Copy section link Copied!

A successful JSON response payload will look like:

JSON
Copy
Copied
{
"resultCode": "0",
"orderId": "14326513",
"transactionId": "123456789",
"transactionList": [
{
"id": "123123123",
"status": "completed",
"amount": {
"value": "100",
"currency": "EUR"
},
"paymentMethodId": "002"
},
{
"id": "123123124",
"status": "refund",
"amount": {
"value": "100",
"currency": "EUR"
},
"paymentMethodId": "002"
}
]
}
Copy
Copied

If your request encountered an error, you can use the following codes for troubleshooting. You can also check these additional resources: