Bienvenido al Conekta Developer's Hub. Aquí encontrarás la más robusta documentación del API Conekta y todos los tutoriales que te ayudarán a comenzar a recibir pagos de la manera más rápida, sencilla y segura.
¿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?
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.
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"
Con esto tus clientes estarán listos para pagar con una referencia personalizada.
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_method": {
"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"
}]
}
}
begin
customer = Conekta::Customer.create({
name: "Fulanito",
email: "[email protected]",
phone: "+5218181818181",
payment_method: {
type: "spei_recurrent"
}
})
rescue Conekta::Error => error
for error_detail in error.details do
puts error_detail.message
end
end
try:
customer = conekta.Customer.create({
"name": "Fulanito",
"email": "[email protected]",
"phone": "+5218181818181",
"payment_method": {
"type": "spei_recurrent"
}
})
except conekta.ConektaError as e:
print e.message
#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"
}]
}
}
customer = conekta.Customer.create({
"name": "Fulanito",
"email": "[email protected]",
"phone": "+5218181818181",
"payment_method": {
"type": "spei_recurrent"
}
}, function(err, res) {
console.log(res.toObject());
});
//Respuesta de API
{
"livemode":false,
"name":"Fulanito",
"email":"fulani[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 customer = Customer.create(
new JSONObject("{"
+ "'name': 'Fulanito',"
+ "'email': '[email protected]',"
+ "'phone': '+5218181818181',"
+ "'payment_method': {"
+ "'type': 'spei_recurrent',"
+ "}"
+ "}"
)
);
}catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
//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{
conekta.Customer customer = new conekta.Customer ().create(@"{
""name"": ""Fulanito"",
""email"": ""[email protected]"",
""phone"": ""+5218181818181"",
""payment_method"": {
""type"": ""spei_recurrent"",
}
}");
} catch (ConektaException e) {
foreach (JObject obj in e.details) {
System.Console.WriteLine("\n [ERROR]:\n");
System.Console.WriteLine("message:\t" + obj.GetValue("message"));
System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message"));
System.Console.WriteLine("code:\t" + obj.GetValue("code"));
}
}
//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"
}]
}
}
payment := &conekta.PaymentSourceCreateParams{
PaymentType: "spei_recurrent",
}
cus := &conekta.CustomerParams{}
cus.Name = "Mario Lopez Perez"
cus.Email = "[email protected]"
cus.Phone = "+5215555555555"
cus.PaymentSources = append(cus.PaymentSources, payment)
res, err := customer.Create(cus)
//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"
}]
}
}
Nuestra plataforma debe estar en constante comunicación contigo a través de Webhooks para:
1) Validar que la referencia del usuario sea correcta y pueda hacer pagos.
2) Aprobar la cantidad que el usuario quiere abonar.
3) 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.
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.