Pagos vía SPEI Recurrente

Transferencias Bancarias Recurrentes vía SPEI

¿Qué es?

Es una solución para que los merchants puedan recibir pagos por grandes montos de manera recurrente mediante la asignación de una referencia única a sus clientes o proveedores.

¿Qué ventajas ofrece la solución?

  • Transacciones interbancarias recurrentes por grandes montos.
  • Asignación de una referencia única a los usuarios del merchant.
  • Permite a los usuarios del merchant realizar pagos 24/7 las veces que desee.
  • Facilita al merchant la identificación y conciliación de operaciones.
  • Permite visualizar y recibir notificaciones de los pagos en tiempo real.

📘

Primeros pasos

  • Es necesario contar con conocimiento de APIs.
  • Es preferible ser desarrollador fullstack (frontend + backend).
  • Instalar e incluir una de las librerías disponibles de Conekta.
  • Contar con tus API Keys (llave personal) de pruebas.

Paso 1 - Añade tu llave privada y versión del API

Necesitarás tu llave privada de pruebas. Si aún no cuentas con ella, puedes obtenerla en tu panel Conekta.

# N/A
require_once("/path/to/lib/Conekta.php");
\Conekta\Conekta::setApiKey("key_eYvWV7gSDkNYXsmr");
\Conekta\Conekta::setApiVersion("2.0.0");
require "conekta"
Conekta.api_key = "key_eYvWV7gSDkNYXsmr"
Conekta.api_version = "2.0.0"
import conekta
conekta.api_key = "key_eYvWV7gSDkNYXsmr"
conekta.api_version = "2.0.0"
var conekta = require('conekta');
conekta.api_key = 'key_eYvWV7gSDkNYXsmr';
conekta.api_version = '2.0.0';
import com.conekta;
Conekta.setApiKey("key_eYvWV7gSDkNYXsmr");
com.conekta.Conekta.apiVersion = "2.0.0"
using conekta;
conekta.Api.apiKey = "key_eYvWV7gSDkNYXsmr";
conekta.Api.version = "2.0.0";
import (
    conekta "github.com/conekta/conekta-go"
)
conekta.APIKey = "key_pMcnDF4zFyWKyLG15LuqwA"

Paso 2 - Crea tu SPEI Recurrente

Con esto tus clientes estarán listos para pagar con una referencia personalizada. Para este proceso necesitas primero crear un customer e indicar que va a utilizar el payment_source de spei_recurrente. Con esto se genera la CLABE (referencia en la respuesta) que podrá usar tu cliente y realizar pagos con SPEI de manerá recurrente en su banca seleccionando como banco STP.

Nota: En modo de pruebas se generá la misma referencia, en modo productivo esta cambia.

curl --request POST \
  --url https://api.conekta.io/customers \
  --header 'accept: application/vnd.conekta-v2.0.0+json' \
  -u key_eYvWV7gSDkNYXsmr: \
  --header 'content-type: application/json' \
  --data '{
      "name": "Fulanito",
      "email": "[email protected]",
      "phone": "+5218181818181",
      "payment_sources": {
        "type": "spei_recurrent"
      }
  }'

#Respuesta de API
{
   "livemode":false,
   "name":"Fulanito",
   "email":"[email protected]",
   "phone":"+5215555555555",
   "id":"cus_2nNW3ZFwnaeicFygP",
   "object":"customer",
   "created_at":1587510139,
   "corporate":false,
   "custom_reference":"",
   "payment_sources":{
      "object":"list",
      "has_more":false,
      "total":1,
      "data":[{
         "id":"off_ref_2nZpKdaweaacDUz6W",
         "object":"payment_source",
         "type":"spei_recurrent",
         "reference":"646180111812345678",
         "created_at":1587510139,
         "parent_id":"cus_2nNW3ZFwnaeicFygP"
      }]
   }
}
try{
    $customer = \Conekta\Customer::create(
      array(
          'name'  => "fulanito",
          'email' => "[email protected]",
          'phone' => "+5218181818181",
          'payment_sources' => array(
                array(
                'type' => "spei_recurrent"
                )
            )
      )
    );
    var_dump(json_encode($customer));
  } catch (\Conekta\ProcessingError $error){
    echo $error->getMessage();
  } catch (\Conekta\ParameterValidationError $error){
    echo $error->getMessage();
  } catch (\Conekta\Handler $error){
    echo $error->getMessage();
  }

#Respuesta de API
{
   "livemode":false,
   "name":"Fulanito",
   "email":"[email protected]",
   "phone":"+5215555555555",
   "id":"cus_2nNW3ZFwnaeicFygP",
   "object":"customer",
   "created_at":1587510139,
   "corporate":false,
   "custom_reference":"",
   "payment_sources":{
      "object":"list",
      "has_more":false,
      "total":1,
      "data":[{
         "id":"off_ref_2nZpKdaweaacDUz6W",
         "object":"payment_source",
         "type":"spei_recurrent",
         "reference":"646180111812345678",
         "created_at":1587510139,
         "parent_id":"cus_2nNW3ZFwnaeicFygP"
      }]
   }
}
# N/A
# N/A
# N/A
# N/A
# N/A
# N/A

Paso 3 - Crear un Webhook

Nuestra plataforma debe estar en constante comunicación contigo a través de Webhooks para:

Notificar un pago.

Un Webhook es un sistema de notificaciones, donde tu plataforma web debe definir una URL, para que nuestra API mande peticiones HTTP y pueda notificarte de los distintos eventos que posteriormente vamos a especificar. Por ello, deberás crear un Webhook desde tu Admin. De esta forma estarás activando la notificación de eventos. En el Admin. abre el menú principal de tu cuenta, ubicado en la esquina superior derecha, y selecciona la sección ​Webhooks​.

402

Después de crear una referencia para tus clientes y añadir un ​Webhook​ a tu ​Admin Conekta, estarás listo para recibir pagos.

Si lo deseas, puedes ver más información de eventos y configuración de webhook.

Con todo esto configurado ahora podrás utilizar SPEI Recurrente para tus clientes.