Kushki's Online Payments API covers the full payment lifecycle for Peru 🇵🇪: collect money from your customers via card, bank transfer, or cash; disburse funds to third parties; manage recurring subscriptions; create hosted payment pages; and access transaction records for reconciliation and reporting.
Supported currencies#
| Currency | Code |
|---|
| Peruvian Sol | PEN |
| US Dollar | USD |
Document types#
| Value | Description |
|---|
DNI | Documento Nacional de Identidad 🇵🇪 |
CE | Carné de Extranjería 🇵🇪 |
PAS | Pasaporte 🇵🇪 |
RUC | Registro Único de Contribuyentes 🇵🇪 |
Collect payments (Pay-in)#
Card
Accept credit and debit card payments — single charges, deferred installments, pre-authorization flows, 3DS, network tokens, and zero-amount card verification.
One-Click & Scheduled Payments
Save a card once and charge it on demand or on a recurring schedule — without asking the customer for card details again.
Transfer In
Accept bank transfer payments — redirect the customer to their bank's portal and receive a confirmation once the transfer completes.
Cash In
Accept cash payments at physical collection points (e.g., Payvalida) — Kushki generates a PIN that the customer presents to pay.
Disburse funds (Pay-out)#
Transfer Out
Send funds directly to a recipient's bank account — disbursements, supplier payments, and refunds via ACH bank transfer.
Card Out
Push funds directly to a Visa or Mastercard — one-time payouts or subscription-based recurring disbursements. Supports PCI and non-PCI merchants via hosted fields.Card Out is currently in beta. Contact your account manager to enable it for your merchant.
Smartlinks V2
Create hosted payment pages and share a URL with your customers — no frontend integration required. Supports card, transfer, cash, and subscriptions.
Payment Button
Embed a Kushki-hosted checkout button directly into your website or e-commerce platform.
Merchant management#
Payment Credentials
Create, rotate, activate, and delete API key pairs for your merchant account programmatically.
Reporting & reconciliation#
Analytics
Query your full transaction history — paginated, with flexible filters for reconciliation and monitoring. Use v2 for card-present and card-not-present transactions in a single endpoint.
Settlement
Retrieve settlement records by date range or by ticket number — including transaction amounts, Kushki fees, and the net amount paid to the merchant.
Chargebacks
Search and export chargeback records — filter by status, date, type, and risk level. Export asynchronously via webhook notification.
Subscription Transactions
Query the transaction history for a specific subscription — all charges, statuses, and amounts in one place.
Status & monitoring#
Gateway Status
Check the operational status of Kushki's payment gateway and processing networks in real time.
Platform Status
Monitor the availability of Kushki's core platform services.
Common request pattern#
Most pay-in operations follow a token → charge flow: sensitive data is tokenized on your backend first, then the token is used to submit the charge. Your server never needs to store raw card or bank account data.POST /card/v1/tokens → one-time token
POST /card/v1/charges → charge using the tokenTransfer Out and Cash In follow a similar token → init pattern. Card Out uses the same approach: generate a payout token first (via API or hosted fields), then call Push Funds. Kushki confirms payment via webhook or a status endpoint you can poll.
Authentication#
All endpoints use your merchant keys in the request headers. Use Private Key for server-to-server calls; never expose it in frontend code.Using the API#
https://api.kushkipagos.com/
When a card requires OTP validation in the sandbox environment, use 555 for both PEN and USD transactions.