Objetivo
Conector Generador de Referencias
Retiros en EFectivo
Autenticación
Generar Referencia ClubPago
Este documento describe como desarrollar un conector de tu plataforma o aplicación administrativo con La Plataforma Tecnológica de CLUBPAGO para que puedas utilizar nuestras HERRAMIENTAS del CONECTOR: SERVICIO DE GENERADOR DE REFERENCIAS DE RETIROS.
CLUBPAGO ofrece la opción a los Emisores que sus clientes puedan hacer retiros en efectivo de su saldo a favor, en cadenas autorizadas.
Niveles de Servicio
| Disponibilidad de servicio Plataforma CLUBPAGO |
99% |
| Tiempo de respuesta máxima de conector CLUBPAGO |
5 segundos |
Alacence
Al desarrollar este conector con GENERADOR DE REFERENCIAS con CLUBPAGO te permitirá, reducir tu tiempo y costo de tu desarrollo para implementar el servicio de recibir tus pagos por CLUBPAGO. TE AYUDAMOS a que tu implementación de Retiros en Efectivo por CLUBPAGO sea fácil, rápido, simple.
PARA RETIRAR SALDO EN EFECTIVO DE TUS CLIENTES POR CLUBPAGO EN CADENAS
Permitirá crear una Referencia CLUBPAGO RETIROS que permita identificar plenamente el retiro, el emisor tendrá un saldo Retiros que deberá ser PREPAGO. Es decir, el Emisor realizará transferencias bancarias a la CLABE que le asigne CLUBPAGO.
Esta CLABE es única para cada Emisor, lo que le permite a CLUBPAGO que al recibir una trasferencia identificar que es un depósito del Emisor, y se le deberá sumar a su saldo de Retiros.
En la plataforma se debe habilitar la opción Checkbox Retiros ClubPago al Emisor y se solicitarán los siguientes datos:
Correo de notificación deposito al fondo
Saldo mínimo en la bolsa
Cobros al Emisor:
Porcentaje de comisión IVA Incluido
Comisión en dinero IVA incluido
Cargo Extra IVA incluido.
Límites de cantidades permitidas a retirar en cadena:
Monto mínimo.
Monto Máximo
Habilitar la opción CheckBox Se Reserva el saldo, es opcional en caso de que el Emisor así lo desee.
Tiempo de vigencia del retiro (HH:MM)
Una vez documentada dicha información y se guarda en la plataforma de ClubPago, se genera una Clabe única para hacer depósitos a su saldo a favor.
CONECTOR DE SERVICIO DE GENERADOR DE REFERENCIAS DE CLUBPAGO
Este Servicio te ayudará a reducir tu inversión de desarrollo tecnológico al contar con acceso a Herramientas que facilitaran emitir tus Referencias en código de barras e inclusive emitir el formato de pago y así acortar el tiempo de arrancar TU PROYECTO de recibir pagos en por CLUBPAGO
Además si deseas recibir pagos por SPEI, con esta herramienta podrá obtener una CLABE
que es única para tu cliente o pago. Y también generar link para cobro con tarjeta
El GENERADOR DE REFERENCIAS te ofrece 3 métodos/endpoints:
1.- GENERADOR DE REFERENCIA: Te genera tu referencia acorde a las especificaciones definidas para tu empresa
2.- GENERADOR CODIGO DE BARRAS: Te genera tu referencia en texto y código de Barras
3.- GENERADOR FORMATO DE PAGO: Te emite tu formato de pago completo que contiene datos cliente, referencia en texto y código de barras, cadenas donde poder pagar e instrucciones de como efectuar el pago.
a.ClubPago Retiros conforma su referencia como a continuación se describirá
b. Prefijo: Número fijo que identifica el servicio CLUBPAGO Retiros
c. Identificador: Debe ser un dato numérico único que identifica plenamente a
su cliente.
d. Dígito Verificador (DV). El DV es de un solo 1 digito y busca ser un código de control que evite capturas incorrectas cuando por cualquier razón no se utiliza un lector de código de barras si no que se teclea. Gracias a este DV se pueden detectar errores del cajero en el tecleo. La generación del dígito verificador deberá ser en Mod10. *La generación del dígito verificador deberá ser en Mod10 Aquí su algoritmo de generación.
e. Ejemplos
1. “LA EMPRESA” requiere generar una referencia para identificar el cliente y/o retiro. Su id de identificación de su cliente y orden de pago es de 6 dígitos
| Campo | Descripción | Formato | Columna | Tipo |
| PREFIJO | Número fijo para identificar el servicio retiros | ALFANUMÉRICO (555) | 1 al 3 | Obligatorio |
| EMISOR | Número Identificador proporcionado por CLUBPAGO |
ALFANUMÉRICO (370 | 4 al 6 | Obligatorio |
| IDENTIFICADOR | Número de identificación del cliente. | Numérico 12 dígitos. | 7 al 18 | Obligatorio |
| DV | Digito Verificador | Numérico 1 digito | 19 | Obligatorio |
Identificador de Empresa: 370
No. De cuenta: 12234 de 5 dígitos y sea autocompleta con 7 ceros a la izquierda
Se obtiene el DV acorde a Mod10 algoritmo:
https://es.wikipedia.org/wiki/Algoritmo_de_Luhn
Referencia Generada: 5553700000000122349
AUTENTICACIÓN PARA EL EMISOR
Para utilizar este conector GENERADOR DE REFERNCIAS, lo primero es hacer un proceso de Autenticación.
Se requiere conectarte por la siguiente URL AMBIENTE DE PRUEBAS:
https://qa.clubpago.site/auth/api/auth
Utilizar el método Http.Post
Recibe un JSON con la siguiente estructura:
| Nombre del Campo | Tipo del Valor | Descripción |
| user | Alfanumérico | Usuario |
| pswd | Alfanumérico | Contraseña |
Ejemplo de Solicitud :
var options = new RestClientOptions("")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("https://qa.clubpago.site/auth/api/auth", Method.Post);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "n" +
@" ""User"": ""YODIS"",
" + "n" +
@" ""Pswd"": ""Yodis123$""
" + "n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://qa.clubpago.site/auth/api/auth")
.header("Content-Type", "application/json")
.body("{rn "User": "YODIS"Pswd": "Yodis123$"rn}")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://qa.clubpago.site/auth/api/auth',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"User": "YODIS",
"Pswd": "Yodis123$"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;curl --location 'https://qa.clubpago.site/auth/api/auth'
--header 'Content-Type: application/json'
--data '{
"User": "YODIS",
"Pswd": "Yodis123$"
}'La autenticación de CLUBPAGO entregará un TOKEN que funcionará como identificador Único para el EMISOR. Este TOKEN es de longitud variable y se forma de letras y números. Entrega un JSON con la siguiente estructura:
| Nombre del Campo | Tipo del Valor | Descripción |
| Message | Alfanumérico | Mensaje (Exito, Error, etc) |
| Token | Alfanumérico | Serie de caracteres que contiene la información para la autenticación. |
| Expiration | Fecha | Fecha de vigencia del Token |
Ejemplo de Respuesta Exitosa :
{
“Message”: “Exito”,
“Token”: “eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9… “,
“Expiration”: “2020-05-20T00:29:34.2612771-05:00”
}
Ejemplo de Respuesta Faliida:
{
“Message”: “Datos Incorrectos”,
“Token”: “”,
“Expiration”: “0001-01-01T00:00:00”
}
GENERACIÓN DE REFERENCIAS DE CLUBPAGO
El servicio de GENERACION DE REFERENCIAS se realiza en la siguiente URL base:
OBTENER REFERENCIA
A continuación, se describe como solicitar EL SERVICIO Utilizar el método Http.Post
A continuación, las URLs para cada método:
Para obtener una Referencia:
https://qa.clubpago.site/referencegenerator/svc/generator/referenciaRetiroEfe
Se debe incluir el Token en el Header Authorization de la siguiente manera:
| Key | Value | Descripción |
| Authorization | {{TOKEN}} | Método de autenticación de usuarios |
En caso de que el Token no se incluya en el header, o sea inválido, o sin vigencia, la solicitud recibirá un Error Http.Unauthorized 401. En caso de que el Token ya no tenga vigencia, tienes que autenticarte nuevamente para obtener otro Token y repetir la operación.
En el método de GENERACIÓN DE REFERENCIAS, solicita la misma información por estandarización, siendo obligatorios: Descripción, Monto y cuenta o identificación de tu operación. Aquí EL MONTO lo solicitará mayor de cero.
Recibe un JSON con la siguiente estructura:
| Nombre del Campo | Tipo del Valor | Descripción |
| Description | Alfanumérico | Descripción de la Referencia |
| Monto | Numérico incluye decimales | Monto a pagar |
| Cuenta | Numérico | Cuenta o Cliente |
| Correo | Alfanumérico OPCIONAL | Correo del Cliente |
| Nombre | Alfanumérico OPCIONAL | Nombre del cliente |
| Celular | Alfanumérico OPCIONAL | Número de Teléfono |
| Imagen | Falso/Verdadero | URL |
ExpirationDate tiene la condición que si las especificaciones de la referencia lo incluye, previamente acordadas en contrato, es obligatoria cuando no es necesaria se manda un “null”
Monto No acepta números decimales
Responde un JSON con la siguiente estructura:
Ejemplo de Solicitud :
var options = new RestClientOptions("") { MaxTimeout = -1, }; var client = new RestClient(options); var request = new RestRequest("https://qa.clubpago.site/referencegenerator/svc/generator/reference", Method.Post); request.AddHeader("Authorization", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IldFRE9PWCIsIkVtaXNvcklkIjoiMzc2IiwianRpIjoiNGE5YThmMWYtOTNhZC00OTlkLWI2NWMtYTk2ZDI2YTFkMjVlIiwiVXNlcklkIjoiMzgyIiwiSXNBZG1pbiI6IkZhbHNlIiwiVXNlck5hbWUiOiJXRURPT1giLCJuYmYiOjE3NzI0OTM3NjksImV4cCI6MTc3MjUzNjk2OSwiaXNzIjoiY2x1YnBhZ28ubXgiLCJhdWQiOiJjbHVicGFnby5teCJ9.6k-uOkjiipoQOQTNvXD7gckfggBTOnwstPpFyKe95YM"); request.AddHeader("Content-Type", "application/json"); var body = @"{ " + "n" + @"""Description"": ""Test"", " + "n" + @"""Amount"": 10000, " + "n" + @"""Account"": ""1234561"", " + "n" + @"""CustomerEmail"": ""qa_it@clubpago.mx"", " + "n" + @"""CustomerName"": ""Ricardo Carranza"", " + "n" + @"""ExpirationDate"": ""2024-12-30"", " + "n" + @"""RequestClabe"": 1, " + "n" + @"""RequestPayTD"": 0 " + "n" +
Unirest.setTimeouts(0, 0); HttpResponse<String> response = Unirest.post("https://qa.clubpago.site/referencegenerator/svc/generator/reference") .header("Authorization", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IldFRE9PWCIsIkVtaXNvcklkIjoiMzc2IiwianRpIjoiNGE5YThmMWYtOTNhZC00OTlkLWI2NWMtYTk2ZDI2YTFkMjVlIiwiVXNlcklkIjoiMzgyIiwiSXNBZG1pbiI6IkZhbHNlIiwiVXNlck5hbWUiOiJXRURPT1giLCJuYmYiOjE3NzI0OTM3NjksImV4cCI6MTc3MjUzNjk2OSwiaXNzIjoiY2x1YnBhZ28ubXgiLCJhdWQiOiJjbHVicGFnby5teCJ9.6k-uOkjiipoQOQTNvXD7gckfggBTOnwstPpFyKe95YM") .header("Content-Type", "application/json") .body("{rn"Description": "Test",rn"Amount": 10000,rn"Account": "1234561",rn"CustomerEmail": "qa_it@clubpago.mx",rn"CustomerName": "Ricardo Carranza",rn"ExpirationDate": "2024-12-30",rn"RequestClabe": 1,rn"RequestPayTD": 0rn}") .asString();
<?php$curl = curl_init();curl_setopt_array($curl, array( CURLOPT_URL => 'https://qa.clubpago.site/referencegenerator/svc/generator/reference', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{ "Description": "Test", "Amount": 10000, "Account": "1234561", "CustomerEmail": "qa_it@clubpago.mx", "CustomerName": "Ricardo Carranza", "ExpirationDate": "2024-12-30", "RequestClabe": 1, "RequestPayTD": 0 }', CURLOPT_HTTPHEADER => array( 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IldFRE9PWCIsIkVtaXNvcklkIjoiMzc2IiwianRpIjoiNGE5YThmMWYtOTNhZC00OTlkLWI2NWMtYTk2ZDI2YTFkMjVlIiwiVXNlcklkIjoiMzgyIiwiSXNBZG1pbiI6IkZhbHNlIiwiVXNlck5hbWUiOiJXRURPT1giLCJuYmYiOjE3NzI0OTM3NjksImV4cCI6MTc3MjUzNjk2OSwiaXNzIjoiY2x1YnBhZ28ubXgiLCJhdWQiOiJjbHVicGFnby5teCJ9.6k-uOkjiipoQOQTNvXD7gckfggBTOnwstPpFyKe95YM', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
curl --location 'https://qa.clubpago.site/referencegenerator/svc/generator/reference'
--header 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IldFRE9PWCIsIkVtaXNvcklkIjoiMzc2IiwianRpIjoiNGE5YThmMWYtOTNhZC00OTlkLWI2NWMtYTk2ZDI2YTFkMjVlIiwiVXNlcklkIjoiMzgyIiwiSXNBZG1pbiI6IkZhbHNlIiwiVXNlck5hbWUiOiJXRURPT1giLCJuYmYiOjE3NzI0OTM3NjksImV4cCI6MTc3MjUzNjk2OSwiaXNzIjoiY2x1YnBhZ28ubXgiLCJhdWQiOiJjbHVicGFnby5teCJ9.6k-uOkjiipoQOQTNvXD7gckfggBTOnwstPpFyKe95YM'
--header 'Content-Type: application/json'
--data-raw '{
"Description": "Test",
"Amount": 10000,
"Account": "1234561",
"CustomerEmail": "qa_it@clubpago.mx",
"CustomerName": "Ricardo Carranza",
"ExpirationDate": "2024-12-30",
"RequestClabe": 1,
"RequestPayTD": 0
}'
Ejemplo de Respuesta Exitosa :
“Error”:false,
“Reference”:“5553719876543213035”,
“ExpirationDate”:null
}
Ejemplo de Respuesta Fallida :
“Error”:true,
“Message”:“No habilitado para generar referencias de retiro”,
“Reference”:null,
“ExpirationDate”:null
}