Returns, cancellations, and refunds

Learn how to cancel a payment or request a refund for your customers

This functionality is available for the following models:

☐ Acquirer
☑ Aggregator

With Kushki you can process debit and credit card payment returns with an approved status. Once a return is approved, the funds will be returned to your customer’s card.

Returns can be of two types, according to the day and the time the original transaction and the cancellation request are processed:

1. Online cancellation (Void)

It occurs when the return request is processed during the same day of the transaction, before 21:00 . We will make up to three return attempts with the processor and if successful, the purchase will be removed from your customer’s bank statement and the purchase amount will be returned to their account.

Online Cancellation Void EN

2. Refund

When an online cancellation is not possible, a refund will be required. This type of refund can take up to 7 business days to processed and up to 45 business days to appear on your customer’s bank statement, depending on the card issuing bank.

Manual Refund EN

Refund can occur in the following scenarios:

  • When the return request is processed after on the day on which the customer’s payment took place.
  • When the three online cancellation attempts fail.
  • When the cancellation request is made on a day other than that of the original transaction.

How to process a return?

The return process can have two outcomes: Void or Refund. The return will be done as void if it is requested until 21:00 hours on the day of the transaction. If it exceeds that time, then it will be processed as a refund. Refunds can take up to 7 business days to process and up to 45 business days to reflect on your customer’s statement, depending on the card issuing bank.

You can process returns from your Administration Console as explained here or integrate our cancellations request API method into your application, so that your buyers can request the return of a purchase from your website.

In order to request the cancellation of a payment, it is necessary to use the ticketNumber of the original transaction as path parameter and send your private credential, as shown in the example below:

  • Javascript
  • Python
  • PHP
var request = require("request");
var options = {
method: 'DELETE',
headers: {
'Private-Merchant-Id': 'your-private-merchat-id', // Replace with your Private merchant id
'Content-Type': 'application/json' },
url: 'https://api-uat.kushkipagos.com/v1/charges/ticket number ', // Test environment
body: {
fullResponse: true
},
json:true
};
request(options, function(error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://api-uat.kushkipagos.com/v1/charges/ticket number"
payload = '{"fullResponse":true}'
headers = {
"Private-Merchant-Id": "your-private-merchat-id",
"Content-Type": "application/json",
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append('{\"fullResponse\":true}');
$request->setRequestUrl('https://api-uat.kushkipagos.com/v1/charges/6383937262783');
$request->setRequestMethod('DELETE');
$request->setBody($body);
$request->setHeaders(array(
'Private-Merchant-Id: 'your-private-merchat-id',// Replace this with your Private Key
'Content-Type: application/json'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody()

What is the time limit to request a refund?

The time limit for your customers to request a refund varies is up to 6 months after a payment has been made.

How to check the status of a return?

You can check the status of a cancellation from your Administration Console as explained here or set up a Webhook for returns, in which Kushki will notify you when a return request, either a cancellation (void) or a refund, is successfully completed.


Recommended

Check the status of your returns