1. Online Payments
Español
  • English
  • Español
  • Docs de API 🇨🇴
  • Online Payments
    • Errores del API de Kushki
    • Errores ISO
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Preautorización (sin token)
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Verificar cuenta
      • 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
      • Hacer un pago One-click
      • Actualizar los datos de la tarjeta del cargo recurrente
      • 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
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Transfer in
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
      • Cancelar transacción
    • 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
      • Eliminar una transacción de Cash In
      • Actualizar una transacción de Cash In
    • Cash-out
      • Solicitar un token de Cash Out
      • Iniciar transacción
      • Estado de la transacción
      • Actualizar una transacción de Cash Out
      • Eliminar una transacción de Cash Out
    • Smartlinks-v2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Actualizar un Smartlink
      • Eliminar un Smartlink
    • Analytics
      • Consultar listado de transacciones v2
    • Gateway-status
      • Consultar estado del gateway
      • Consultar estado de la plataforma
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Búsqueda avanzada
      • Eliminar credencial
      • Regenerar una credencial
      • Activar o desactivar
      • Actualizar credencial
    • Payment Button
      • Crear un Payment Button
    • Settlement
      • Consultar liquidación
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • 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)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • 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
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • API Raw Card Present Payments
    • Notas de versión
    • Catálogo de errores
    • El objeto Amount
    • Proceso de intercambio de llaves
    • Datos de prueba
    • One-time Payments
      • Pago único
    • Two-step Payments
      • Autorización y captura
    • Card Information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Voids & Refunds
      • Anular y reversar
      • Reembolsar una transacción
    • Query Transactions
      • Búsqueda de transacciones
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Webhooks-Pagos con tarjeta
      • Webhooks-Reembolsos
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • ChargebackListResponse
    • TransactionResponse
    • PrintJobRequest
    • card
    • one-and-two-step-payment-3
    • Card Present (CP)
    • one-and-two-step-payment-3
    • SubscriptionTransactionsResponse
    • Amount-cash-in
    • SettlementDateRangeRequest
    • amount
    • FraudAlertRequest
    • SubscriptionTransaction
    • ChargebackItem
    • SettlementRecord
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400
    • CardData
    • CommandColumns
    • extra_taxes
    • FraudAlertRecord
    • ErrorResponse
    • currency
    • Deferred
    • webhooksItem
    • SettlementResponse
    • ErrorResponse401
    • LinkFailure
    • ColumnItem
    • Amount
    • ValidationError
    • pos_details
    • ErrorResponse403
    • CommandDivider
    • enc_tlv
    • TransactionEvent
    • extraTaxes
    • card_details
    • Country
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • TransactionStatus
    • deferred
    • CommandSpace
    • ReadingType
    • contact_details
    • ContactDetails
    • CommandCut
    • sub_merchant
    • FailureReason
    • CommandImage
    • metadata
    • EventTerminal
    • documentType
    • Subscription
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • SubscriptionUpdate
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • product
    • webhooks
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • webhooksChargeback
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
    • ErrorResponse
    • TransactionEvent_23
    • TransactionStatus4
    • ReadingType5
    • FailureReason_26
    • EventTerminal_27
    • EventOperation_28
    • EventAmount_29
    • EventMetadata_210
    • EventExtraTaxes_211
    • PrintWebhookPayload12
    • TransactionEvent13
    • FailureReason14
    • EventTerminal15
    • EventOperation16
    • EventAmount17
    • EventMetadata18
    • EventExtraTaxes19
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
  1. Online Payments

Payment Button

El Payment Button (Webcheckout) te permite crear una página de pago alojada con una sola llamada al API. En vez de construir y mantener tu propio formulario de pago, Kushki genera una URL a la que rediriges a tu cliente: ahí elige su método de pago preferido y completa la transacción en una página alojada por Kushki.
¡Ten en cuenta!
Por nuestras políticas de riesgo, los métodos de pago disponibles y el tipo de integración pueden variar una vez que completes la afiliación. Te indicaremos cómo proceder si este proceso aplica a tu comercio.

Cómo funciona#

Crear un Webcheckout
Llama al endpoint Create a payment button desde tu backend usando tu Private Merchant ID. Envía los detalles de la orden: productos, monto, métodos de pago aceptados y una URL de redirección.
Kushki devuelve un webcheckoutUrl: una página de checkout alojada, única y lista para usar.
Redirigir al cliente
Redirige a tu cliente al webcheckoutUrl. Verá una página de checkout alojada por Kushki, precargada con el resumen de su orden, y podrá pagar con cualquiera de los métodos de pago que configuraste.
Métodos de pago aceptados en Colombia 🇨🇴:
ValorMétodo
credit-cardTarjeta de crédito y débito
cashEfectivo en puntos de pago (Baloto, Efecty, Bancolombia, etc.)
transferTransferencia bancaria por PSE
El cliente completa el pago
Cuando el cliente termina (o abandona) el checkout, Kushki lo redirige a tu redirectURL. Usa el webcheckoutId que se devuelve al crear el botón para consultar el estado de la transacción si lo necesitas.

Campos de la solicitud#

CampoObligatorioDescripción
kind✅Siempre "webcheckout"
redirectURL✅URL a la que se envía al cliente después de completar o abandonar el checkout
products✅Array de objetos de producto — se muestran en el resumen de la orden
paymentConfig✅Configuración del pago; incluye el monto y los métodos aceptados
contactDetailname y email del cliente — precargan el formulario de checkout
transactionTypeEnvía "PRE_AUTH" para crear una preautorización (flujo de autorización y captura)
additionalInformationCampos clave-valor adicionales que se muestran en el resumen de compra de la página de checkout

Array products#

Cada elemento de products describe una línea del resumen de checkout:
CampoObligatorioDescripción
name✅Nombre del producto
description✅Descripción del producto
quantity✅Cantidad
unitPrice✅Precio unitario en COP

Objeto paymentConfig#

CampoObligatorioDescripción
amount✅Desglose del monto — consulta Amount Object más abajo
paymentMethodArray de métodos de pago aceptados. Si lo omites, se muestran todos los métodos disponibles para tu comercio.

Objeto amount#

{
  "paymentConfig": {
    "amount": {
      "subtotalIva": 42017,
      "subtotalIva0": 0,
      "iva": 7983,
      "currency": "COP"
    }
  }
}
CampoDescripción
subtotalIvaBase gravable del monto (antes de IVA)
subtotalIva0Monto no gravado (IVA = 0)
ivaValor del IVA
currencySiempre COP para Colombia
El total que se muestra en la página de checkout es subtotalIva + subtotalIva0 + iva.

Ejemplo de solicitud#

{
  "kind": "webcheckout",
  "contactDetail": {
    "email": "user@example.com",
    "name": "Andrés Martínez"
  },
  "redirectURL": "https://www.micomercio.com/gracias",
  "products": [
    {
      "name": "Tenis Trekking Pro",
      "description": "Talla 42, color negro",
      "quantity": 1,
      "unitPrice": 250000
    }
  ],
  "paymentConfig": {
    "amount": {
      "subtotalIva": 0,
      "subtotalIva0": 250000,
      "iva": 0,
      "currency": "COP"
    },
    "paymentMethod": ["credit-card", "cash", "transfer"]
  }
}

Ejemplo de respuesta#

{
  "webcheckoutId": "T3iDy0G4I",
  "webcheckoutUrl": "https://webcheckout.kushkipagos.com/webcheckout/T3iDy0G4I"
}
Redirige al cliente de inmediato al webcheckoutUrl: los links son de un solo uso y expiran al terminar la sesión.

Flujo de preautorización#

Para crear una preautorización (reservar fondos sin capturarlos), envía transactionType: "PRE_AUTH" en paymentConfig. Después de que el cliente autorice el pago en la página de checkout, capturas los fondos por separado con el API de Card.
{
  "paymentConfig": {
    "transactionType": "PRE_AUTH",
    "amount": { ... }
  }
}

Autenticación#

Este endpoint requiere tu Private Key. Nunca la expongas en código del cliente ni del frontend.

Usar la API#

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

Endpoints disponibles#

Crear un Payment Button
Genera una URL de Webcheckout alojada, precargada con los detalles de tu orden y los métodos de pago aceptados. Devuelve un webcheckoutUrl al que rediriges al cliente.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:49:02
Previous
Actualizar credencial
Next
Crear un Payment Button
Built with