Cargo único

❗️

IMPORTANTE

Esta modalidad de pago con tarjeta te permitirá crear órdenes sin necesidad de almacenar/recordar la información del medio de pago en Conekta.

Si tu negocio no cuenta con una Certificación Nivel I de PCI DSS, con permisos para gestionar y procesar datos, deberás utilizar el “Component” de Conekta para integrar esta modalidad. Ve al siguiente enlace para continuar con tu implementación.

Características

  • No es necesario registrar/almacenar un cliente en Conekta
  • No es necesario registrar/almacenar un método de pago en Conekta (tarjeta)
  • Cada vez que un cliente quiera realizar un pago, tendrá que ingresar los datos de la tarjeta de nuevo

Flujo

Pasos para integrar

Generar autenticación de API

Para configurar los headers de tus peticiones, sigue las instrucciones de la sección “Primeros Pasos”.

Crear orden de pago

La orden requiere de cierta información que obtiene ya sea de algún servicio interno del negocio, o directamente del FrontEnd al solicitarla al usuario/cliente final. Los datos principales traducidos a atributos del request son:

  • ¿Quién está pagando? -> Customer
  • ¿Qué está pagando? -> Line_items
  • ¿Cuánto está pagando? -> Unit_pice multiplicado por Quantity
  • ¿Cuál es el método de pago? -> Payment_method
  • ¿Información extra requerida por el negocio? -> Metadata

Request

-H "Accept: application/vnd.conekta-v2.0.0+json" \
-H "Content-type: application/json" \
-u key_YOUR_PRIVATE_API_KEY: \
-X POST -d '{
"line_items": [{ 
     "name": "Nombre del Producto o Servicio",
     "unit_price": 23000,
     "quantity": 1
   }],
   "currency": "MXN",
   "customer_info": {
     "name": "Jorge Martínez",
     "email": "[email protected]",
     "phone": "+5218181818181"
   },
    "metadata":{
     "datos_extra": "1234"
   },
   "charges":[{
     "payment_method": {
       "type": "card",
       "number": "283081093801218301",
        "name": "Jorge Martinez",
        "exp_month": "12",
        "exp_year": "2024",
        "cvc": "198",
     }
   }]
}’https://api.conekta.io/orders
{
    "livemode": false,
    "amount": 23000,
    "currency": "MXN",
    "payment_status": "paid",
    "amount_refunded": 0,
    "customer_info": {
        "email": "[email protected]",**
        "phone": "+5218181818181",**
        "name": "Jorge Martínez",**
        "object": "customer_info"
    },
    "object": "order",
    "id": "ord_2tQAKpPrfkdyzZvfM",
    "metadata": {**
        "datos_extra": "1234"
    },
    "is_refundable": true,
    "created_at": 1676929549,
    "updated_at": 1676929551,
    "line_items": {**
        "object": "list",
        "has_more": false,
        "total": 1,
        "data": [
            {
                "name": "Nombre del Producto o Servicio",**
                "unit_price": 23000,**
                "quantity": 1,**
                "object": "line_item",
                "id": "line_item_2tQAKpPrfkdyzZvfK",
                "parent_id": "ord_2tQAKpPrfkdyzZvfM",
                "metadata": {},
                "antifraud_info": {}
            }
        ]
    },
    "charges": {
        "object": "list",
        "has_more": false,
        "total": 1,
        "data": [
            {
                "id": "63f3ea0d88dc6c0019a3fe39",
                "livemode": false,
                "created_at": 1676929549,
                "currency": "MXN",
                "device_fingerprint": "e6edc7bb5ca296c0c61acb60ad20d083",
                "payment_method": {
                    "name": "ESTEFANIA ALBARRAN",
                    "exp_month": "12",
                    "exp_year": "23",
                    "auth_code": "731650",
                    "object": "card_payment",
                    "type": "credit",
                    "last4": "4242",
                    "brand": "visa",
                    "issuer": "banamex",
                    "account_type": "BANAMEX",
                    "country": "MX",
                    "fraud_indicators": []
                },
                "object": "charge",
                "description": "Payment from order",
                "status": "paid",**
                "amount": 23000,**
                "paid_at": 1676929550,**
                "fee": 1255,**
                "customer_id": "",
                "order_id": "ord_2tQAKpPrfkdyzZvfM" **
            }
        ]
    }
}

🚧

Nota

El mapeo de la respuesta es importante para que puedas realizar la conciliación automática de tu negocio, es decir, cuando recibas un pago puedas registrarlo en tu sistema y ejecutar los procesos requeridos como: actualización de balances, activación de servicio o entrega de producto.

Puedes utilizar el response del request para creación de orden tomando en cuenta los datos principales (marcados con **) y demás información que consideres necesaria para los procesos mencionados anteriormente.

Notificaciones vía webhook

Esta modalidad de pago a través de tarjeta tiene comunicación directa vía API para cada uno de los momentos de la transacción. Lo que significa que a cada request hay un response exitoso o fallido inmediato con el que puedes conciliar automáticamente.

Sin embargo, todos los eventos que ocurran antes, durante y después de una transacción pueden ser notificados a través de webhooks, justo en el momento en que ocurren. Te enlistamos todos los eventos que intervienen en esta modalidad, accediendo al siguiente enlace para revisar el detalle del payload correspondiente a cada uno de ellos, y mapearlos para llevar a cabo los procesos internos de tu negocio requeridos.

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.

What’s Next

Puedes probar la funcionalidad con tu API Key Privada de pruebas, lo único que necesitas hacer es crear una orden de pago (por la cantidad que desees) y en automático se pagará. Los eventos que se mencionan arriba en las "Notificaciones vía webhook" se generarán en ese momento.