Para realizar una compra con promoción es necesaria una lista de las promociones disponibles por organización para su selección. Para ello existe un servicio adicional que devuelve un listado de las promociones disponibles.
Obtener promociones disponibles por organización
Tipo de petición: POST
Ruta de petición: https://api.pagandocheck.com/v1/pagando/promotions/get-terminal-promotions-nouser
Headers: Autorization: Bearer <token provisto>
Parámetros (Sin registro de tarjeta)
Campo | Tipo | Descripción | Requerido |
---|---|---|---|
bin | String | Primeros 6 dígitos de la tarjeta a procesar | true |
cardBrand | String | Marca de la tarjeta a procesar | true |
amount | String | Monto por el que se procesara el pago | true |
Ejemplo de parámetros.
{
"bin": "512104",
"cardBrand":"MASTERCARD",
"amount":"2000"
}
Parámetros (Con registro de tarjeta)
Campo | Tipo | Descripción | Requerido |
---|---|---|---|
cardId | String | Identificador de la tarjeta registrada | true |
amount | String | Monto por el que se procesara el pago | true |
{
"cardId":"cd_eb5ijox4x-jk5zua",
"amount":"301"
}
Ejemplo de respuesta
Todas las respuestas de API se encuentran homologadas para asegurar consistencia con el cliente, puedes conocer más a fondo esto en el glosario de respuestas.
Así mismo, los campos generales type
, key
, message
, code
vienen explicados en ese mismo glosario.
Respuesta exitosa
{
"type": "API_ORDERS",
"key" : "SUCCESS_REQUEST",
"message": "The request ended successfully.",
"code": 99,
"data": {
"MSI": {
"3": {
"time": "3",
"priority": false, //No creo que deba ir
"minAmount": "300",
"promotionName": "Promociones Generales",// No creo que deba de ir
"promotionCheck": "65527588a383e700133af591",
"customAfiliation": true, // Tampoco con
"monthlyPayment": "666.67",
"rate": 0.5,
"monthsWait": []
},
"6": {
"time": "6",
"priority": false,
"minAmount": "600",
"promotionName": "Promociones Generales",
"promotionCheck": "65527588a383e700133af591",
"customAfiliation": true,
"monthlyPayment": "333.33",
"rate": 0.5,
"monthsWait": []
},
},
"maxTime": 18
}
Explicación de campos
La respuesta de este servicio esta dividido del tipo de promoción aplicable, actualmente utilizamos MSI que corresponde al tipo de promoción, este es un identificador de tipo enumerador por lo que trae la información. Dentro viene un objeto que contiene la información de cada una de las promociones disponibles con la siguiente estructura.
Campo | Explicación |
time | Número de plazos de la promoción |
minAmount | Monto mínimo para aplicar la promoción, esto esta validado por sistema |
promotionCheck | Identificador de la promoción que será usado en los parámetros para el envío de la promoción |
monthsToWait | Si se busca que una promoción esté disponible para pague después, en este campo aparecerán en formato numérico los meses de espera |
monthlyPayment | Monto aproximado de pago según una división sencilla entre el número de plazos y el monto, ésta es solo una estimación y el cobro dependerá totalmente del emisor de la tarjeta |
Respuesta con error
{
"type": "API_AUTHENTICATION",
"key": "USER_ID_INVALID",
"message": "There is no user for the provided userId",
"code": 101,
"data": null,
"error": true
}
Posibles códigos de respuesta
Código | Mensaje | Explicación |
---|---|---|
99 | The request ended successfully. | Obtención de promociones de manera exitosa |
Realizar compra con promoción
Para este apartado se usa exctamente la misma documentación que la compra normal, con la adición de los parámetros que especifican el tipo de promoción.
Tipo de petición: POST
Ruta de petición: https://api.pagandocheck.com/v1/pagando/orders/create-order
Headers: Autorization: Bearer <token provisto>
Parámetros agregados
Campo | Tipo | Descripción | Requerido |
---|---|---|---|
promotionType | String | Tipo de promoción a utilizar | true |
timeToApply | String | Plazo seleccionado para la aplicación de la promoción | true |
monthsToWait | String | Tiempo para esperar para procesar el pago | true |
promotionCheck | String | Identificador de la promoción utilizada en la compra | true |
Ejemplo de parámetros
Para este ejemplo se eliminaron todos los parámetros opcionales.
{
"userId":"328cf8d5-0f30-46fc-XXXX-AAAAAAA",
"amount":"200",
"concept":"Prueba Pagando con Api normal",
"cardId":"cd_XXXXXXXXX",
"pin": "063",
"paymentPromotion":{
"promotionType":"MSI",
"timeToApply": 3,
"monthsToWait": 0,
"promotionCheck": "65527588a383e700133af591"
}
}
Toda la información adicional es igual a la compra sin promoción.