🚀 Lanzamiento v2.3: Activa y desactiva métodos de pago para tu Conekta Checkout desde el Panel, sin tocar tu código. Ver documentación →

Pagos con Tarjeta

Acepta pagos con tarjeta a través de la API de Conekta. Elige el flujo según tu caso de uso: pago único, cargo bajo demanda o suscripciones.

Conekta soporta tres modalidades de pago con tarjeta a través de su API. Elige la que mejor se adapte a tu modelo de negocio:

ModalidadCuándo usarla
Pago únicoEl cliente compra un producto o servicio y paga en ese momento. No se guarda la tarjeta.
Cargo bajo demandaEl cliente autoriza guardar su tarjeta para que el comercio pueda cobrar en cualquier momento sin su intervención.
SuscripcionesEl cliente se inscribe a un plan con cobros recurrentes automáticos. Disponible a través del producto de Suscripciones de Conekta.

El flujo de pago único es el más simple: el cliente ingresa los datos de su tarjeta, se tokeniza y se cobra en ese momento. La tarjeta no se guarda.

1. Crear un Customer (opcional)

Si quieres asociar el pago a un cliente registrado en Conekta, crea un customer primero y usa su customer_id al crear la orden. Si no, puedes incluir los datos del cliente directamente en el campo customer_info de la orden.

curl --location 'https://api.conekta.io/customers' \
  --header 'Accept: application/vnd.conekta-v2.3.0+json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer key_XXXXXXX' \
  --data '{
    "name": "Jorge Martínez",
    "email": "[email protected]",
    "phone": "+52181818181"
  }'

2. Tokenizar la tarjeta

Integra el Tokenizador de Conekta en tu plataforma para capturar los datos de la tarjeta sin que pasen por tus servidores:

Ambas opciones te devuelven un token_id a través del callback onCreateTokenSucceeded.

3. Crear la orden

Usa el token_id directamente en el objeto charges de la orden:

curl --location 'https://api.conekta.io/orders' \
  --header 'Accept: application/vnd.conekta-v2.3.0+json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer key_XXXXXXX' \
  --data '{
    "currency": "MXN",
    "customer_info": {
      "name": "Jorge Martínez",
      "email": "[email protected]",
      "phone": "+52181818181"
    },
    "line_items": [
      {
        "name": "Nombre del producto",
        "unit_price": 50000,
        "quantity": 1
      }
    ],
    "charges": [
      {
        "payment_method": {
          "type": "card",
          "token_id": "tok_2ww3PnDK3FtuqJ6pU"
        }
      }
    ]
  }'

Capturar eventos del pago

Automatiza tus procesos a través de los eventos que se generan en el flujo de pago. Para recibir estos eventos y ejecutar acciones sigue la guía de webhooks.

⚠️

La integración de webhooks es obligatoria. El estado de un pago puede cambiar de forma asíncrona — confiar únicamente en el resultado de la API puede generar inconsistencias en tu sistema. Los webhooks son el mecanismo confiable para mantener tus órdenes siempre actualizadas con el estado real del pago.

Te recomendamos capturar los siguientes eventos:

EventoDescripción
order.paidEnviado cuando el cliente completa un pago de forma exitosa
order.pending_paymentEnviado cuando una orden es creada pero está pendiente de pago
order.declinedEnviado cuando el pago de una orden es declinado

Al capturar estos eventos podrás tomar acciones post venta como:

  • Ejecutar un flujo de logística.
  • Actualizar tus bases de datos de órdenes.
  • Actualizar tus sistemas contables.

Did this page help you?