1. Online Payments
  • API Docs Chile 🇨🇱
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Create payment (tokenless)
      • Make a charge or deferred charge
      • Void a transaction
      • Refund a transaction
      • Request deferred options
      • Authorize payments
      • Preauthorization (tokenless)
      • Reauthorize payments
      • Capture an authorized payment
      • Verify Account
      • Validate OTP
      • Bin Info V2
      • Bin Info
      • Voucher
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Update recurring charge card data
      • Make an One-click payment
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Card Async
      • Request a card async token
      • Init Transaction
      • Authorize payments
      • Capture an authorized payment
      • Get Status
    • Async Card Recurring Charges
      • Request an async card recurring charge token
      • Init an async card recurring charge
      • Authorize payments
      • Capture an authorized payment
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Transfer In
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Transfer Out
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Balance for Payouts
    • Cash In
      • Request a cash in token
      • Init Transaction
      • Transaction Status
    • Smartlinks V2
      • Create a Smartlink
      • Get a Smartlink
      • Delete a smartlink
      • Update a Smartlink
    • Payment Button
      • Create a payment button
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Status
      • Get platform status
      • Get gateway status
    • Subscription Transactions
      • Get subscription transactions
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Update credential
      • Regenerate a credential
      • Delete credential
      • Activate or deactivate
      • Advanced search
    • Settlement
      • Query settlement
  • API Raw Card Present Payments
    • Release Notes
    • Error Catalog
    • Test Data
    • Key Exchange Process
    • One-time payments
      • Single payment
    • Two-step-payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
      • Void & Reverse
    • Card information
      • Get BIN Info
      • Bin Info V2
      • Request deferred options
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
  • Kushki One
    • Cloud Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search — Online
        • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • documentType
    • Amount-cash-in
    • amount
    • Card
    • ChargebackListResponse
    • Channel
    • StatusComponent
    • SubscriptionTransactionsResponse
    • SettlementDateRangeRequest
    • AmountWithTaxes
    • PrintJobRequest
    • networkToken
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • SettlementTicketRequest
    • AmountCore
    • CommandText
    • webhooks
    • card
    • Amount-CL
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • ExtraTaxes
    • CommandColumns
    • headers
    • currency
    • Amount
    • card_details
    • ErrorResponse401
    • SettlementRecord
    • ColumnItem
    • Metadata
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • ErrorResponse
    • TransactionResponse
    • CommandDivider
    • extraTaxes
    • Country
    • binInfo
    • Deferred
    • deferred
    • ErrorResponse500
    • payment_method
    • RawResponse
    • CommandFeed
    • SubscriptionUpdate
    • pos_details
    • CardData
    • CommandSpace
    • ContactDetails
    • Language
    • contact_details
    • sub_merchant
    • AmountWithTip
    • CommandCut
    • Subscription
    • metadata
    • LinkFailure
    • CommandImage
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • Billing-Address
    • PrinterError
    • product
    • PrintJobStatus
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • PrintWebhookPayload
    • webhooksChargeback
    • citMit
    • network
    • messageFields
    • UnexpectedErrorResponse
    • ExternalReferenceId
    • ExternalSubscriptionId
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Chargebacks

The Chargebacks API lets you query and export chargeback records for your merchant account in Chile 🇨🇱 — directly via API, without logging into the Kushki Console.
Two operations are available:
OperationEndpointDescription
SearchPOST /data/v1/chargebacks/searchPaginated list of chargebacks with filters
ExportPOST /data/v1/chargebacks/exportAsync export — Kushki POSTs the download link to your webhook when ready

Search chargebacks#

Returns a paginated list of chargebacks matching your filters.

Minimal request — by transaction date#

{
  "filters": {
    "time": {
      "transaction_date": {
        "from": "2026-02-01",
        "to": "2026-02-28"
      }
    }
  },
  "pagination": {
    "page": 1,
    "page_size": 20
  }
}

Request with filters and additional fields#

{
  "filters": {
    "time": {
      "request_date": {
        "from": "2026-01-15",
        "to": "2026-03-15"
      }
    },
    "chargeback_status": ["INITIALIZED"],
    "country_name": ["CHILE"]
  },
  "fields": [
    "ticket_code",
    "business_unit",
    "chargeback_type"
  ],
  "pagination": {
    "page": 1,
    "page_size": 20
  }
}

Filters reference#

Time filter (required)#

Use either transaction_date (the original payment date) or request_date (the date the chargeback was raised) — not both.
FieldDescription
time.transaction_date.from / toFilter by original transaction date (YYYY-MM-DD)
time.request_date.from / toFilter by chargeback request date (YYYY-MM-DD)

Optional filters#

FilterTypeDescription
chargeback_statusarrayOne or more status values — see table below
chargeback_typearrayType of chargeback
ticket_codearrayKushki ticket code of the original transaction
chargeback_ticket_codearrayChargeback-specific ticket code
country_namearray["CHILE"]

Chargeback status values#

StatusDescription
INITIALIZEDChargeback created — pending review
APPROVALChargeback resolved in favor of the merchant
DECLINEDChargeback resolved in favor of the cardholder
NOT_MARKABLEChargeback cannot be actioned or disputed

Additional fields#

By default, the search response includes a standard set of fields. Use the fields array to request additional data:
FieldDescription
ticket_codeTicket code of the original transaction
chargeback_ticket_codeChargeback-specific ticket code
business_unitBusiness unit associated with the merchant
chargeback_typeType of chargeback raised

Export chargebacks#

Initiates an asynchronous export of chargeback records. The request body follows the same structure as POST /data/v1/chargebacks/search, with the addition of the webhooks field. Kushki processes the export in the background and sends a POST notification to each URL in the webhooks array when the file is ready — including the download link and its expiration timestamp.

Basic export#

{
  "filters": {
    "time": {
      "request_date": {
        "from": "2026-01-15",
        "to": "2026-03-15"
      }
    }
  },
  "webhooks": [
    "https://yoursite.com/webhooks/chargebacks"
  ]
}
Response:
{
  "id": "1339b164-9298-4ea1-a52a-a9c053879194"
}
Use the id to track the request or report any delivery issues to Kushki support. When the file is ready, Kushki POSTs the following payload to each configured webhook URL:
{
  "id": "1339b164-9298-4ea1-a52a-a9c053879194",
  "request": {
    "filters": {
      "time": {
        "request_date": {
          "from": "2026-01-15",
          "to": "2026-03-15"
        }
      }
    },
    "fields": ["ticket_code", "business_unit"]
  },
  "file_url": "https://s3.amazonaws.com/kushki-chargebacks/export_abc123.csv?X-Amz-Expires=14400",
  "expiration_timestamp": 1742318400000
}
4-hour download window
file_url is an S3 pre-signed URL valid for 4 hours from the moment of generation. Check expiration_timestamp (Unix timestamp, milliseconds) before attempting the download.

Export with filters and additional fields#

{
  "filters": {
    "time": {
      "request_date": {
        "from": "2026-01-15",
        "to": "2026-03-15"
     }
    },
    "chargeback_status": ["INITIALIZED"],
    "country_name": ["CHILE"]
  },
  "fields": ["ticket_code", "business_unit"],
  "webhooks": [
    "https://yoursite.com/webhooks/chargebacks",
    "https://yoursite.com/webhooks/backup"
  ]
}
Async export
The export endpoint returns immediately with an id. The actual file is generated asynchronously — your webhook receives the download link when it's ready. webhooks accepts a maximum of 5 URLs. Design your webhook handler to be idempotent in case of delivery retries.

Webhook security#

To verify that a notification was sent by Kushki and not a third party, validate the following headers included in every webhook call:
HeaderDescription
X-Kushki-IdUnix timestamp (13 digits, milliseconds) of when the notification was sent.
X-Kushki-SignatureHMAC SHA256 signature of private-merchant-id|request|X-Kushki-Id. The signing secret is the merchant's own private-merchant-id.
To validate the signature on your side, compute:
HMAC-SHA256({private-merchant-id}, "{private-merchant-id}|{request}|{X-Kushki-Id}")
And compare the result with the value received in X-Kushki-Signature. If they match, the notification is authentic.

Authentication#


Using the API#

🟢 Production
🧪 Sandbox (uAT)
https://api.kushkipagos.com/

Available Endpoints#

Query Chargebacks
Paginated search with filters by date, status, type, and ticket code.
Request Chargeback Export
Async export — returns immediately with a job ID. Download link delivered to your webhook URL.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-29 14:48:56
Previous
Capture an authorized payment
Next
Query chargebacks
Built with