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

Smartlinks V2

Los Smartlinks son páginas de pago alojadas por Kushki. Creas un link, lo compartes con tu cliente (por email, WhatsApp, SMS o cualquier canal) y el cliente completa el pago en un formulario alojado por Kushki, sin que necesites integración de frontend.

Tipos de configuración de pago#

TipoDescripción
fixedDefines el monto al crear el link. El cliente paga exactamente ese monto. Admite flujos de pago único, suscripción y mixto.
openEl cliente ingresa el monto en el checkout. Útil para donaciones, facturas con totales variables o flujos de propina.

Métodos de pago soportados#

Métodofixedopen
credit-card✅✅
cash✅✅
transfer✅✅
subscription✅—

Crea un Smartlink#

Llama a POST /smartlink/v2/smart-link. Kushki devuelve un smartLinkUrl listo para compartir.
{
  "publicMerchantId": "20000000103802320000",
  "merchantName": "Mi Comercio Perú",
  "paymentConfigType": "fixed",
  "paymentConfig": {
    "paymentType": "unique",
    "amount": {
      "currency": "PEN",
      "subtotalIva": 0,
      "subtotalIva0": 250,
      "iva": 0,
      "ice": 0
    },
    "paymentMethod": ["credit-card", "transfer"]
  },
  "generalConfig": {
    "productName": "Consulta médica",
    "description": "Pago por consulta médica online",
    "productImage": "https://yoursite.com/img/product.png",
    "brandLogo": "https://yoursite.com/img/logo.png",
    "executionLimit": 1,
    "showTimer": false,
    "enabled": true,
    "termsAndConditions": "https://yoursite.com/terms"
  },
  "styleAndStructure": {
    "structure": "checkout"
  },
  "contact": {
    "email": "soporte@micomercio.pe"
  },
  "formConfig": [],
  "language": "es"
}
Respuesta:
{
  "smartLinkUrl": "https://pay.kushkipagos.com/global/4RUvloWDA"
}

Campos de la solicitud#

Nivel raíz#

CampoRequeridoDescripción
publicMerchantIdSíTu Public Key de Kushki.
merchantNameSíNombre que se muestra en la URL del Smartlink.
paymentConfigTypeNofixed (monto predefinido) u open (el cliente ingresa el monto).
paymentConfigNoConfiguración de pago para el tipo fixed: ver abajo.
paymentConfig NoConfiguración de pago para el tipo open: ver abajo.
generalConfigSíInformación del producto, ajustes de visualización y límites de uso: ver abajo.
styleAndStructureSíDisposición y estilo visual: ver abajo.
contactSíDatos de contacto de soporte.
formConfigSíArreglo de campos personalizados del formulario que se muestran en el checkout (puede ir vacío []).
languageNoIdioma del checkout: es (español), en (inglés), br (portugués).

paymentConfig — monto predefinido#

CampoRequeridoDescripción
paymentTypeSíunique (pago único), subscription (recurrente) o mixed (ambas opciones).
amountSíObjeto de monto: currency, subtotalIva, subtotalIva0, iva, ice.
paymentMethodSíArreglo de métodos habilitados: cash, credit-card, transfer, subscription.
subscriptionOptionsNoRequerido cuando paymentType es subscription o mixed.
mixedOptionsNoRequerido cuando paymentType es mixed.
fastPaymentsNoMétodos de pago rápido a habilitar (por ejemplo, "APPLE_PAY").

paymentConfig — monto abierto#

CampoRequeridoDescripción
paymentTypeSíSiempre unique.
paymentMethodSíArreglo de métodos habilitados: cash, credit-card, transfer.
currencySíPEN o USD.
taxEnabledSítrue para aplicar impuestos.
taxPercentageNoPorcentaje de impuesto. Requerido si taxEnabled es true.
defaultAmountNoMonto precargado (debe estar entre minAmount y maxAmount).
minAmountNoMonto mínimo que el cliente puede ingresar.
maxAmountNoMonto máximo que el cliente puede ingresar.

generalConfig#

CampoRequeridoDescripción
productNameSíNombre del producto o servicio que se muestra en el checkout.
descriptionSíDescripción (admite HTML).
productImageSíURL de la imagen del producto.
brandLogoSíURL del logo de tu marca.
executionLimitSíCuántas veces se puede usar el link. Envía 0 para uso ilimitado.
showTimerSíMuestra un contador de tiempo en la página de checkout.
enabledSítrue para activar el link de inmediato.
termsAndConditionsSíURL de tus términos y condiciones.
expirationDateNoTimestamp de expiración (epoch UTC).
promotionalTextNoMensaje promocional que se muestra en el checkout.
buyButtonTextNoTexto personalizado del botón de compra. Requerido si structure es cover.
payButtonTextNoTexto personalizado del botón de pago.
hidePayButtonAmountNotrue para ocultar el monto en el botón de pago.

styleAndStructure#

CampoRequeridoDescripción
structureSícheckout (formulario estándar) o cover (diseño de portada a página completa).
coverModelNoAlineación de la imagen para cover: left, center o right. Requerido para cover.
buttonStyleNoForma del botón: square, semi o round. Requerido para cover.
primaryColorNoColor primario de marca en hexadecimal.
secondaryColorNoColor secundario de marca en hexadecimal.

Campos personalizados del formulario (formConfig)#

Agrega hasta 6 tipos de campos personalizados para recolectar información de tu cliente en el checkout:
TipoDescripción
InputCampo de texto de una línea (por ejemplo, nombre o ID de orden).
SelectLista desplegable con opciones predefinidas.
DateCalendario selector de fecha.
AreaÁrea de texto de varias líneas.
CheckboxSelección múltiple de una lista.
RadioSelección única de una lista.

Otras operaciones#

MétodoEndpointDescripción
GET/smartlink/v2/smart-link/{smartlinkId}Obtén la configuración actual y las estadísticas de uso de un Smartlink.
PATCH/smartlink/v2/smart-link/{smartlinkId}Actualiza la configuración de un Smartlink existente.
DELETE/smartlink/v2/smart-link/{smartlinkId}Elimina un Smartlink de forma permanente. Los links eliminados quedan inhabilitados de inmediato.

Autenticación#

Todos los endpoints requieren tu Private Key:

Uso de la API#

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

Endpoints disponibles#

Crear un Smartlink
Genera la URL de una página de pago alojada. Configura el tipo de monto, los métodos de pago, la disposición y los campos personalizados del formulario.
Consultar un Smartlink
Obtén la configuración completa y el número de usos de un Smartlink existente.
Actualizar un Smartlink
Modifica los ajustes de un Smartlink existente sin eliminarlo ni volverlo a crear.
Eliminar un Smartlink
Elimina un Smartlink de forma permanente. Los clientes que intenten usar la URL la verán como no disponible.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-07 16:55:44
Previous
Estado de la transacción
Next
Crear un Smartlink
Built with