1. Refunds
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Functionalities by business model
    • How do third party commissions work?
    • Integration guide Third Party Commissions
    • Network Tokens
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Direct charge (without token)
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Two-steps Payments
      • How do single payments with authorization and capture work?
      • Receive payments with authorization and capture
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • Introduction to 3DS
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
    • Apple Pay Payments
      • Apple Pay Configuration
      • Apple Pay Sandbox testing
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • External subscriptions to Kushki
    • Authenticate your subscriptions with 3DS
    • Accept one-click payments with 3DS
    • Error codes in recurring charges
    • Apple Pay for Subscriptions
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Create a recurring charge
      • Manage your Scheduled Charges
    • OneClick Payments
      • Accepting One-Click Payments
      • How do OneClick payments with authorization and capture work?
      • Receive one-click payments with authorization and capture
  • Card-present payments
    • Card present payments
    • Accept card present payments
    • Test data
    • Webhooks for card present
    • Cloud Terminal API
      • Cloud terminal API overview
      • Take payments
      • Cancel a payment request
      • Check the status of a payment request
      • How to print a customized ticket?
    • App-to-app
      • App-to-app overview
      • Take payments
    • Terminal SDK
      • Terminal SDK Introduction
      • Take payments
    • Raw card-present API
      • Raw card-present API overview
      • Cryptographic key exchange
      • Sample script to encrypt information
      • Take Payments
      • Frequently Asked Questions
      • Error codes for card-present transactions
    • Transactions
      • Transactions
      • Cancel payments
    • Kushki One
      • First Steps
      • Autenticación y Cifrado de Requests
      • Accept payments with Kushki One
      • Amount Format
      • Async services and webhooks
      • Printing on SmartPOS terminal
      • Unified Error Catalog — Kushki ONE Connect
    • Kushki One Payment App
      • Overview
      • Process a payment
      • Split payment on the terminal
      • Refunds and PreAuth & Capture
      • Review Your Transactions
      • Terminal Setup
  • Wire Transfers
    • How do Payments by Wire Transfers Work?
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
  • Money Disbursement
    • Wire Transfer
      • How Does a Payment Distribution by Wire Transfer Work?
      • Payment Distribution to Bank Accounts
      • Error codes for transfer dispersions
  • Payment Links
    • Smartlinks
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Webhooks
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment Distribution Webhooks
      • Webhook for payment disbursement through wire transfer
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. Refunds

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 credit and debit card payment returns in an approved status. Once a return is approved, the funds will be returned to your customer's card.
Important
Kushki only supports refunds on card payments. To handle refunds for cash or wire transfer payments you must do the process manually, in agreement with your customer.
Refunds can be of two kinds, depending on the day and time the original transaction and reversal request is processed:

1. Online Void#

This is when the return request is processed during the same day as the transaction, before 23:00. We will make up to three return attempts with the processor and if successful, the purchase will be removed from your customer's transaction statement and the purchase amount will be refunded to your customer's account.
Anulación en línea ES

2. Refund#

When an online cancellation is not possible, a refund will be required. A refund can be given in the following scenarios:
When the refund request is processed after 23:59 on the transaction approval day.
When all three online reversal attempts fail.
When the reversal request is made on a different day than the original transaction day.
These types of 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.
Below is an illustration of the refund process:
Reembolso manual ES

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 22:59 hours on the day of the transaction. If it exceeds that time, then it will be processed as a refund. Refunds may 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 Console as explained here or integrate our cancel request API method into your application so that your buyers can request from your site the return of a purchase.
If you integrate returns via API, it will be enough to use the cancel request method, in case it is not possible to complete an automatic reversal of the transaction, Kushki will take care of processing it as a manual return.
Once a return request is approved, it cannot be reversed.
To request a reversal of a payment you need to use the ticketNumber of the original transaction as path parameter and send your private credential, as shown in the following example:
JavaScript
Python
PHP
See our API reference for more information.

What is the time limit to request a refund?#

The time limit for your customers to request a refund varies depending on the affiliation model:
Aggregation (Gateway)Kushki Acquiring
Up to 30 days after a payment has been made.Up to 120 days after a payment has been made.

How to process a partial refund?#

You can allow your customers to request partial refunds using the same transaction reversal endpoint, so it is possible for a single charge to have multiple refund requests associated with it, as long as the sum of these does not exceed the total amount of the original transaction.
Partial refunds can be requested manually, through the Console or via API, as explained below.

Partial refunds via API#

To request a partial refund, you can use the cancellation request endpoint. You must send the ticketNumber as path parameter, your private credential and the amount and tax breakdown in the amount object. Make sure that the tax and amount calculation is correct.
JavaScript
Python
PHP

How to know the status of a return?#

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

Webhook for returns
Check the status of your returns
Modificado en 2026-10-14 19:42:53
Anterior
Refunds
Siguiente
3DS Authentication
Built with