Refund payment
If card payment method is enabled, you have card refunds as well. However, bank refunds are not enabled by default. If you would like to start using kevin. bank refunds, please contact our support team at [email protected].
Refunds can be either full or partial and are applicable to both card and bank payments. You can refund the payment multiple times without exceeding the initial payment amount with a partial refund.
The merchant must initiate each refund by indicating the refund amount. Everything else is handled by kevin. Every card payment refund is received the following night. Bank payment refunds are received on a daily basis on the next workday.
Refunds can be initiated in multiple ways:
  1. 1.
    On the most popular kevin. modules, such as WooCommerce, PrestaShop, Opencart, Magento, etc.
  2. 3.
    Using kevin. API.
Currently, bank refunds can be processed in EUR currency only. To process a bank refund, payments must be collected to kevin. internal account.
Bank refund process

Initiate payment refund

Full or partial refunds are initiated the same way. In both cases, it is required to indicate the refund amount. If the total sum of refunds exceeds the payment amount, then the refund will not be initiated.
PHP
cURL
The example below is written using kevin. PHP library.
use Kevin\Client;
​
$clientId = 'my-client-id';
$clientSecret = 'my-client-secret';
$options = ['error' => 'array', 'version' => '0.3', 'lang' => 'en'];
​
$kevinClient = new Client($clientId, $clientSecret, $options);
​
$paymentId = 'my-payment-id';
$attr = [
'amount' => '0.01',
'Webhook-URL' => 'https://example.com/notify'
];
​
$response = $kevinClient->payment()->initiatePaymentRefund($paymentId, $attr);
curl --request POST \
--url https://api.kevin.eu/platform/v0.3/pis/payment/{paymentId}/refunds \
--header 'Client-Id: my-client-id' \
--header 'Client-Secret: my-client-secret' \
--header 'Content-Type: application/json' \
--header 'Webhook-URL: https://example.com/notify' \
--data '{
"amount": "0.01"
}'

Get payment refunds

Because multiple refunds are allowed for a single payment, the list of refunds for an individual payment can be retrieved.
PHP
cURL
The example below is written using kevin. PHP library.
use Kevin\Client;
​
$clientId = 'my-client-id';
$clientSecret = 'my-client-secret';
$options = ['error' => 'array', 'version' => '0.3', 'lang' => 'en'];
​
$kevinClient = new Client($clientId, $clientSecret, $options);
​
$paymentId = 'my-payment-id';
$response = $kevinClient->payment()->getPaymentRefunds($paymentId);
curl --request GET \
--url https://api.kevin.eu/platform/v0.3/pis/payment/{paymentId}/refunds \
--header 'Client-Id: my-client-id' \
--header 'Client-Secret: my-client-secret'
Copy link
On this page
Initiate payment refund
Get payment refunds