1. Online Payments
Español
  • English
  • Español
  • Docs de API 🇵🇪
  • Online Payments
    • Errores ISO
    • Errores del API de Kushki
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Preautorización (sin token)
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Verificar cuenta
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Validar OTP
      • Información de BIN
      • Información de BIN V2
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Hacer un pago One-click
      • Cancelar un cargo recurrente
      • Actualizar un cargo recurrente
      • Agregar un cargo o descuento temporal
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar información del cargo recurrente
    • Card Out
      • Obtener token de Card Payout
      • Obtener token de suscripción
      • Push funds
      • Push Funds en suscripciones
      • Consultar estado de la transacción
      • Eliminar suscripción
    • Transfer In
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
    • Transfer Out
      • Consultar lista de bancos
      • Consultar lista de bancos V2
      • Solicitar un token de Transfer Out
      • Iniciar transacción
      • Consultar estado
      • Saldo para payouts
    • Cash In
      • Solicitar un token de Cash In
      • Iniciar transacción
      • Estado de la transacción
    • Smartlinks V2
      • Crear un Smartlink
      • Actualizar un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
    • Analytics
      • Consultar listado de transacciones v2
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Gateway Status
      • Consultar estado del gateway
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Búsqueda avanzada
      • Activar o desactivar
      • Eliminar credencial
      • Actualizar credencial
      • Regenerar una credencial
    • Payment Button
      • Crear un Payment Button
    • Platform Status
      • Consultar estado de la plataforma
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Settlement
      • Consultar liquidación
    • Fraud Report
      • Consultar alertas de fraude
  • Card Present Payments (API Raw)
    • Notas de versión
    • Proceso de intercambio de llaves
    • Datos de prueba
    • Catálogo de errores de Kushki para transacciones POS
    • El objeto Amount
    • One-time Payments
      • Pago único
    • Two-step Payments
      • Autorización y captura
    • Voids & Refunds
      • Reembolsar una transacción
      • Anular y reversar
    • Card information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Query Transactions
      • Búsqueda de transacciones
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Reembolsos
      • Pagos con tarjeta
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment Cloud
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Refund
          • Abort
          • Void
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print Cloud
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment Local
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print Local
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • Shared
      • ErrorResponse
      • BadRequestResponse
      • InvalidBinResponse
      • payment_method
      • payment_submethod
      • messageFields
      • Channel
    • Amount & Taxes
      • Amount-cash-in
      • GetConfigurationRequest
    • Identity & Contact
      • Shipping Address
    • Card & Payments
      • ChargesVoidCardResponse
      • Promotions
      • Submerchant
    • Subscriptions
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • SubscriptionTransactionsResponse
    • Webhooks
    • Analytics
      • AnalyticsTransactionItem
      • AnalyticsListResponse
    • Settlement
      • SettlementDateRangeRequest
      • SettlementTicketRequest
      • SettlementResponse
    • Chargebacks
      • ChargebackListResponse
      • ChargebackSearchRequest
    • Cash
      • CashChargeInitRequest
      • CashStatusResponse
    • Transfer
      • TransferTokenRequest
      • TransferInitRequest
      • TransferStatusResponse
    • Payouts
      • PayoutsWebhooksItem
    • Smart Link
      • SmartLinkAmount
    • Terminal
      • TerminalContactDetails
      • TerminalCardDetails
      • TerminalPosDetails
      • TransactionSearchRequest
      • TerminalCardData
    • RequestBodies
      • one-and-two-step-payment
    • card-old
    • AmountWithTaxes-old
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment
    • Card Present (CP)
    • one-and-two-step-payment1
    • Card
    • amount
    • FraudAlertRequest
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • Shipping Address
    • transactionType
    • ChargebackItem-old
    • SubscriptionTransaction
    • amount
    • AmountCore-old
    • CommandText-old
    • Language
    • extra_taxes
    • CommandText
    • RawResponse
    • Card Not Present (CNP)
    • Deferred
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400-old
    • Deferred-old
    • SettlementResponse
    • extra_taxes-old
    • ExtraTaxes-old
    • CommandColumns-old
    • card
    • CommandColumns
    • CardData
    • FraudAlertRecord
    • currency
    • currency
    • ErrorResponse
    • webhooksItem
    • orderDetails-old
    • Country
    • ErrorResponse401-old
    • SettlementRecord
    • pos_details-old
    • ColumnItem-old
    • LinkFailure
    • ColumnItem
    • Amount
    • card_details
    • ValidationError
    • documentType
    • ErrorResponse403-old
    • card_details-old
    • TransactionResponse-old
    • CommandDivider-old
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • extraTaxes
    • extraTaxes-old
    • payment_method
    • ErrorResponse500-old
    • threeDomainSecure
    • enc_tlv
    • RawResponse-old
    • CommandFeed-old
    • CommandFeed
    • TransactionStatus
    • deferred
    • binInfo
    • contact_details-old
    • CardData-old
    • CommandSpace-old
    • CommandSpace
    • ReadingType
    • pos_details
    • Billing-Address-old
    • deferred-old
    • sub_merchant
    • AmountWithTip-old
    • CommandCut-old
    • metadata
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • headers
    • metadata
    • LinkFailure-old
    • CommandImage-old
    • CommandImage
    • EventTerminal
    • Amount-old
    • ContactDetails-old
    • SubscriptionUpdate
    • TransactionSearchRequest-old
    • CommandQR-old
    • orderDetails
    • CommandQR
    • EventOperation
    • Subscription
    • payment_submethod
    • citMit
    • SubscriptionAdjustmentRequest
    • CommandBarcode-old
    • Shipping Address
    • CommandBarcode
    • EventAmount
    • messageFields
    • PrinterError-old
    • Billing Address
    • EventExtraTaxes
    • PrintJobAccepted
    • webhooksChargeback
    • Language
    • PrintJobStatus-old
    • PrinterError
    • EventMetadata
    • networkToken-old
    • PrintWebhookPayload-old
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • webhooks
    • AmountCore
    • webhooks
    • product-old
    • headers
    • PrintWebhookPayload
    • ExtraTaxes
    • Metadata
    • webhooksChargeback
    • UnexpectedErrorResponse-old
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • Card-old-old
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • Promotions-old
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • EventTerminal_2
    • EventOperation_2
    • InvalidBinResponse-old
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • currency
    • Amount-CL-old
    • SettlementTicketRequest
    • metadata
    • payment_method
    • currency
    • currency
    • Submerchant
    • Shipping Address
    • GetConfigurationRequest-old
    • BadRequestResponse
    • ContactDetails
    • product
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Card Out

Card Outs (card payouts) te permite enviar dinero directamente a la tarjeta de débito de un destinatario. Úsalo para dispersiones, pago de premios, reembolsos a tarjeta o cualquier flujo en el que necesites enviar fondos a un número de tarjeta específico.
¡Ten en cuenta!
La generación del token requiere tu Private Key (Private-Merchant-Id). Nunca la expongas en código de cliente o de frontend: llama siempre al endpoint de token desde tu backend.

Dos modos de dispersión#

ModoDescripción
Dispersión únicaTokeniza la tarjeta una vez y envía los fondos de inmediato.
Dispersión por suscripciónRegistra la tarjeta como suscripción y envía fondos on demand en cualquier momento con el subscriptionId.

Flujo de dispersión única#

1
Solicita un token de card payout
Llama a POST /payouts/card/v1/tokens con los datos de la tarjeta del destinatario y el paymentType. Devuelve un token de un solo uso.
{
  "card": {
    "name": "Carlos Ramirez",
    "number": "4111111111111111",
    "expiryMonth": "12",
    "expiryYear": "29"
  },
  "paymentType": "FD"
}
Respuesta:
{
  "token": "8122eb4bda29476f8dc71b6426a7fd5d",
  "maskedPan": "495703XXXXXX0454",
  "brand": "VISA"
}
2
Envía los fondos
Llama a POST /payouts/card/v1/pushFunds con el token (o los datos de la tarjeta directamente), el monto y los datos del destinatario.
{
  "token": "8122eb4bda29476f8dc71b6426a7fd5d",
  "paymentType": "FD",
  "amount": {
    "currency": "PEN",
    "totalAmount": 250.00
  },
  "clientTransactionId": "a3f8d721-1b2c-4e5f-9a0d-123456789abc",
  "recipient": {
    "address": "Av. Larco 1301",
    "city": "Lima",
    "country": "PER",
    "zipCode": "15046"
  },
  "fullResponse": "v2"
}
Un envío exitoso devuelve transactionStatus: "APPROVAL" con un ticketNumber y un transactionReference.
3
Verifica la transacción
Llama a GET /payouts/card/v1/transaction/{transactionReference} para confirmar el estado final.
{
  "transactionStatus": "APPROVAL",
  "ticketNumber": "951738256068368362",
  "transactionReference": "763274a1-b47b-493f-934f-047801cc04a0",
  "amount": 250.00,
  "processor": {
    "code": "00",
    "message": "Approved and completed successfully"
  }
}

Flujo de dispersión por suscripción#

Usa suscripciones cuando necesites enviar fondos a la misma tarjeta varias veces (por ejemplo, dispersiones periódicas o premios recurrentes).
1
Crea un token de suscripción
Llama a POST /payouts/card/v1/subscriptions/tokens con los datos de la tarjeta. Devuelve un subscriptionId que guardas de tu lado.
{
  "card": {
    "name": "Carlos Ramirez",
    "number": "4111111111111111",
    "expiryMonth": "03",
    "expiryYear": "27"
  },
  "paymentType": "FD"
}
Respuesta:
{
  "subscriptionId": "956a8eb60epa4993b378e34488610e7f",
  "maskedPan": "495703XXXXXX0454",
  "brand": "VISA"
}
2
Envía fondos con la suscripción
Llama a POST /payouts/card/v1/subscriptions/pushFunds/{subscriptionId} cada vez que quieras dispersar fondos: no necesitas volver a enviar los datos de la tarjeta.
{
  "paymentType": "FD",
  "amount": {
    "currency": "PEN",
    "totalAmount": 250.00
  },
  "clientTransactionId": "b7e9c432-2d3e-5f6a-0b1c-234567890bcd",
  "recipient": {
    "address": "Av. Larco 1301",
    "city": "Lima",
    "country": "PER",
    "zipCode": "15046"
  },
  "fullResponse": "v2"
}
3
Elimina la suscripción (cuando termines)
Llama a DELETE /payouts/card/v1/token/{subscriptionId} para eliminar la tarjeta registrada cuando ya no necesites más dispersiones.

Tipos de pago#

Perú admite dos valores de paymentType:
ValorDescripción
FDDispersión de fondos: envío de fondos de propósito general
OGJuegos en línea: para plataformas de juegos y lotería

Campos de la solicitud push funds#

CampoRequeridoDescripción
tokenUno de token o cardToken de un solo uso del endpoint de payout token.
cardUno de token o cardDatos de la tarjeta directamente (name, number, expiryMonth, expiryYear).
paymentTypeSíFD o OG.
amount.currencySíSiempre PEN para Perú.
amount.totalAmountSíMonto a enviar a la tarjeta.
clientTransactionIdSíTu UUID único para esta transacción: se usa para idempotencia y para consultar el estado.
recipient.addressNoDirección del destinatario.
recipient.cityNoCiudad del destinatario.
recipient.countryNoCódigo de país del destinatario (por ejemplo, "PER").
recipient.zipCodeNoCódigo postal del destinatario.
webhooksNoArray de URLs a notificar cuando cambia el estado de la transacción.
fullResponseNoEnvía "v2" para recibir el detalle completo de la transacción, incluidos datos del BIN, código de aprobación y montos.
metadataNoPares clave-valor personalizados para tu propio seguimiento.

Webhooks#

Incluye un array webhooks en tu solicitud push funds para recibir notificaciones en tiempo real:
{
  "webhooks": ["https://yoursite.com/kushki/notify"]
}

Autenticación#


Uso de la API#

🟢 Producción
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Endpoints disponibles#

Solicitar un token de Card Out
Tokeniza una tarjeta para una dispersión única. Devuelve un token de un solo uso y el PAN enmascarado.
Enviar fondos
Envía fondos a una tarjeta con un token o con los datos de la tarjeta directamente. Admite webhooks y full response.
Solicitar un token de suscripción
Registra una tarjeta para dispersiones recurrentes. Devuelve un subscriptionId para envíos futuros.
Enviar fondos (suscripción)
Envía fondos a una tarjeta ya registrada como suscripción sin volver a enviar los datos de la tarjeta.
Consultar el estado de la transacción
Consulta el estado de un card payout por su transaction reference.
Eliminar una suscripción
Elimina de forma permanente una suscripción de tarjeta registrada.

¿Tienes una sugerencia sobre esta documentación? Escríbenos.
Modified at 2026-09-07 16:54:15
Previous
Consultar información del cargo recurrente
Next
Obtener token de Card Payout
Built with