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
      • Crear pago (sin token)
      • Solicitar opciones de diferido
      • Reembolsar una transacción
      • Autorizar pagos
      • Preautorización (sin token)
      • Anular una transacción
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Información de BIN V2
      • Información de BIN
      • Validar OTP
    • One-Click and 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
    • 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
    • Smartlinks
      • Crear un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
      • Actualizar un Smartlink
    • Payment Button
      • Crear un Payment Button
    • Analytics
      • Consultar listado de transacciones v2
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Commissions
      • Consultar configuración de comisiones
    • Payment Credentials
      • Crear una credencial
      • Activar o desactivar
      • Eliminar credencial
      • Regenerar una credencial
      • Actualizar credencial
      • Búsqueda avanzada
      • Buscar credenciales
    • Platform Status
      • Consultar estado de la plataforma
      • Consultar estado del gateway
    • Settlement
      • Consultar liquidación
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Fraud Report
      • Consultar alertas de fraude
  • Card Present Billpocket
    • Notas de versión
    • Notas de versión del SDK de Android
    • Notas de versión de la app de Android
    • Notas de versión de la app de iOS
    • Get Started
      • Crear una cuenta
      • User Token
      • API Keys
    • Webhooks
      • Webhooks — Transferencia de fondos a tu cuenta bancaria
      • Errores de transferencia de fondos
    • Terminals
      • App Review
      • Splash Screen
    • Card not Present Billpocket Services
      • 3DS Checkout
        • Crear checkout
        • Consultar detalles del checkout
      • E-commerce Flex
        • Obtener token
        • Validar token
        • Cobrar pagos
        • Reembolso
        • Capturar un pago autorizado
        • Consultar estado
    • Catalogs
      • Estados
      • Municipios
      • Empresas de impuestos
      • Actividades comerciales
    • Accounts
      • Clabe Account Setup
        • Agregar cuenta CLABE
      • Deposit Accounts
        • Agregar o actualizar cuenta CLABE
    • User Settings
      • Crear usuario
    • Card Present Payment Services
      • Cloud Terminal API
        • Cobrar pagos con tarjeta
        • Imprimir ticket
        • Cancelar notificación push
        • Consultar estado de la transacción
        • Cobrar pagos con tarjeta v2
      • App-to-App
        • Android intents
        • App to App — iOS
        • App to App — Mobile Web
      • Terminal SDK
        • Terminal SDK Android
        • Errores del SDK de Android
    • Transactions
      • Transaction List
        • Obtener token
        • Consultar listado de transacciones
        • Consultar listado de transacciones v2
        • Consultar listado de transacciones v3
        • Consultar listado de transacciones v4
      • Cancel Payments
        • Códigos de error de cancelación
        • Cancelar pagos
  • API Raw Card Present
    • El objeto Amount
    • Catálogo de errores
    • Proceso de intercambio de llaves
    • Notas de versión
    • Datos de prueba
    • 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
      • Webhooks — Pagos con tarjeta
      • Webhooks — Reembolsos
      • Webhooks — Introducción
      • Buenas prácticas
      • 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
        • 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)
  • 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
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-2
    • Card Present (CP)
    • one-and-two-step-payment-2
    • SubscriptionTransactionsResponse
    • FraudAlertRequest
    • StatusComponent
    • SettlementDateRangeRequest
    • amount
    • ChargebackItem
    • SubscriptionTransaction
    • extra_taxes
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • Deferred
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400
    • SettlementRecord
    • card
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • SettlementResponse
    • currency
    • webhooksItem
    • ErrorResponse
    • Country
    • ErrorResponse401
    • LinkFailure
    • ColumnItem
    • ValidationError
    • Amount
    • card_details
    • ErrorResponse403
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • extraTaxes
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • TransactionStatus
    • deferred
    • CommandSpace
    • ReadingType
    • pos_details
    • ContactDetails
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • Subscription
    • metadata
    • CommandImage
    • EventTerminal
    • documentType
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • SubscriptionUpdate
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • SubscriptionAdjustmentRequest
    • product
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • AmountCore
    • webhooks
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • webhooksChargeback
    • Metadata
    • 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
HomePerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Smartlinks

Smartlinks V2 te permite generar una URL de pago alojada que compartes con tus clientes en México 🇲🇽. No necesitas integración de frontend: Kushki aloja el formulario de pago. Los clientes abren el link, completan los campos personalizados, eligen un método de pago y pagan.
Los Smartlinks admiten:
Montos Fixed — defines el precio y el cliente paga exactamente ese monto
Montos Open — el cliente ingresa el monto en el checkout (útil para donaciones, facturas o recargas)
Tipos de pago — pago único, suscripción o mixto (pago único + opción de suscripción)
Métodos de pago — tarjeta de crédito, transferencia bancaria y efectivo

Cómo funciona#

1
Crea un Smartlink
Llama a POST /smartlink/v2/smart-link con tu configuración. Devuelve un smartLinkUrl listo para compartir.
Monto fijo — pago único:
{
  "publicMerchantId": "20000000103802320000",
  "merchantName": "mi-comercio-mexico",
  "paymentConfigType": "fixed",
  "paymentConfig": {
    "paymentType": "unique",
    "paymentMethod": ["credit-card", "transfer", "cash"],
    "amount": {
      "subtotalIva": 0,
      "subtotalIva0": 500,
      "iva": 0,
      "currency": "MXN"
    }
  },
  "generalConfig": {
    "productName": "Producto de ejemplo",
    "description": "Descripción del producto",
    "productImage": "https://yoursite.com/product.jpg",
    "brandLogo": "https://yoursite.com/logo.png",
    "executionLimit": 100,
    "showTimer": false,
    "enabled": true,
    "termsAndConditions": "https://yoursite.com/terms"
  },
  "styleAndStructure": {
    "structure": "checkout",
    "buttonStyle": "round",
    "primaryColor": "#1A4CFF"
  },
  "contact": {
    "email": "user@example.com",
    "phoneNumber": "+525512345678"
  },
  "formConfig": [
    {
      "name": "nombres",
      "label": "Nombre completo",
      "type": "input",
      "required": true,
      "selected": true
    }
  ],
  "language": "es"
}
Respuesta:
{
  "smartLinkUrl": "https://pay.kushkipagos.com/smartlink/abc123xyz"
}
2
Comparte la URL con tu cliente
Envía el smartLinkUrl por correo, SMS o WhatsApp, o incrústalo como botón en tu sitio. El cliente lo abre en su navegador: no necesita app ni SDK.
3
El cliente completa el pago
El cliente completa los campos personalizados del formulario, elige su método de pago y finaliza la transacción. Kushki se encarga de todo el flujo de pago.
4
Obtén, actualiza o elimina el Smartlink
Usa GET /smartlink/v2/smart-link/{smartlinkId} para obtener la configuración actual, PATCH para actualizar campos (por ejemplo, deshabilitar el link o cambiar el límite de usos) y DELETE para eliminarlo de forma permanente.

Tipos de configuración de pago#

paymentConfigTypeDescripción
fixedDefines el monto y el cliente paga exactamente ese valor
openEl cliente ingresa el monto en el checkout

Métodos de pago#

ValorDescripción
credit-cardTarjeta de crédito o débito
transferTransferencia bancaria
cashEfectivo en puntos de recaudo aliados
subscriptionPagos recurrentes con tarjeta

Tipos de pago#

ValorDescripción
uniquePago único
subscriptionPagos recurrentes por suscripción
mixedOfrece al cliente las opciones de pago único y de suscripción

Tipos de campo del formulario#

Los campos personalizados de formConfig pueden ser de cualquiera de estos tipos:
TipoDescripción
inputCampo de texto libre (nombre, correo, etc.)
selectLista desplegable de opciones
dateSelector de fecha
areaÁrea de texto de varias líneas
checkboxCasillas de selección múltiple
radioBotones de opción de selección única

Configuración de monto abierto#

Para paymentConfigType: "open", usa el objeto paymentConfig (ojo con el espacio al final: es una propiedad distinta de paymentConfig):
{
  "paymentConfigType": "open",
  "paymentConfig ": {
    "paymentType": "unique",
    "paymentMethod": ["credit-card", "transfer"],
    "currency": "MXN",
    "taxEnabled": false,
    "minAmount": 100,
    "maxAmount": 10000
  }
}
CampoDescripción
currencyMXN
taxEnabledSi se aplica IVA en el checkout
taxPercentageTasa de IVA (si taxEnabled: true)
defaultAmountMonto sugerido precargado
minAmountMonto mínimo que el cliente puede ingresar
maxAmountMonto máximo que el cliente puede ingresar

Campos de configuración general#

CampoObligatorioDescripción
productName✅Nombre del producto o servicio
description✅Descripción breve que se muestra en el checkout
productImage✅URL de la imagen del producto
brandLogo✅URL del logo de tu marca
executionLimit✅Cantidad máxima de veces que se puede usar este link
showTimer✅Muestra un contador de tiempo en la página de pago
enabled✅true para activar el link
termsAndConditions✅URL de tu página de términos y condiciones
expirationDateOpcionalTimestamp Unix — el link expira después de esa fecha
buyButtonTextOpcionalTexto personalizado del botón de pago

Estilo y estructura#

CampoOpcionesDescripción
structurecheckout, coverDisposición de la página
coverModelleft, center, rightPosición de la imagen (solo en la disposición cover)
buttonStylesquare, semi, roundEstilo de las esquinas del botón de pago
primaryColorColor hexadecimalColor principal de la marca
secondaryColorColor hexadecimalColor secundario de la marca

Moneda#

MonedaCódigoNotas
Peso mexicanoMXNDos decimales — los montos usan centavos (por ejemplo, 500.00)

Idioma#

Define el idioma de la página de checkout con el campo language:
ValorIdioma
esEspañol
enInglés
brPortugués

Autenticación#


Uso de la API#

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

Endpoints disponibles#

Crear un Smartlink
Genera una URL de pago alojada con la configuración de tu producto, el branding, los campos del formulario y los métodos de pago.
Consultar un Smartlink
Obtén la configuración actual y el estado de un Smartlink por su ID.
Actualizar un Smartlink
Modifica un Smartlink existente: habilítalo o deshabilítalo, actualiza el límite de usos o cambia campos de configuración.
Eliminar un Smartlink
Elimina un Smartlink de forma permanente. Esta acción no se puede deshacer.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-07 18:56:15
Previous
Saldo para payouts
Next
Crear un Smartlink
Built with