Skip to content

Instantly share code, notes, and snippets.

@gerardosandoval
Created June 21, 2021 16:50
Show Gist options
  • Save gerardosandoval/82572e1618f38602a4dcbbc39995c055 to your computer and use it in GitHub Desktop.
Save gerardosandoval/82572e1618f38602a4dcbbc39995c055 to your computer and use it in GitHub Desktop.
---
openapi: 3.0.3
info:
title: Arcus AutoPay
description: "Arcus \"Autopay\" es un servicio que permite el registro de facturas para pagos recurrentes y pagos únicos\n\n# Autenticación\n\n## Descripción\n\nEste sección del documento describe el método de autenticación requerido para habilitar la comunicación de servidor a servidor con Arcus API.\n\n## Método de Autenticación\n\nArcus API usa autenticación JSON Web Token, como se define en RFC7519. La generación del token se realiza del lado del cliente, mientras que Arcus se realizara las validaciones del token generado por el cliente.\n\n## Definición JWT\n\n### Header\n\nEl header debe contener los siguientes valores\n\n| Claim | Description | \n| ----- | ----------- |\n| alg | El algoritmo principal en uso para firmar, para Arcus API debe ser siempre HS256 que presenta HMAC usando un algoritmo hash SHA-256 |\n| typ | El tipo de medio de JWT, para Arcus API siempre debe ser JWT |\n\nUn ejemplo de un header con buen formato es:\n\n```json\n{ \"alg\":\"HS256\", \"typ\":\"JWT\" }\n```\n\n### Payload\n\nEl payload es el elemento donde se ubica la fecha que identifica el request. El payload deberá contener los siguientes valores.\n\n| Valor | Descripción |\n| ---- | ----------- |\n| sub | De la palabra subject. Una cadena sensible que distingue entre mayúsculas y minúsculas que únicamente identifica la parte que utilizó el JWT. En tus credenciales de arcus, este valor se identifica como API KEY. |\n| exp | De la palabra expiration (tiempo). Un número que representa una fecha y hora específicas en formato \"segundos desde época\" según lo definido por POSIX. Esta afirmación establece el momento exacto a partir del cual este JWT se considera inválido. **Por ejemplo:** 1583712900, que corresponde a GMT: lunes 9 de marzo de 2020 00:15:00 |\n| iat | De issued at (hora). Un número que representa una fecha y hora específicas (en el mismo formato que exp) en la que se emitió este JWT. **Por ejemplo:** 1583712000, que corresponde a GMT: lunes 9 de marzo de 2020 00:00:00 |\n| jti | De JWT ID. Una cadena que representa un identificador único para este JWT. El mismo valor enviado en el encabezado Idempotency-Key debe enviarse aquí |\n\n\nUn payload válido sería:\n```json\n{ \"sub\":\"your-api-key\",\n \"exp\":1583712900,\n \"iat\":1583712000,\n \"jti\":\"91c50bef-d10f-41ec-ba08-dc6bfea86330\" }\n```\n\n### Firma\n\nPara la firma, la API de Arcus requiere HMAC con SHA-256, esto se llama HS256 en la especificación JWA.\n\n### Validaciones extra\n* El valor *exp* en el payload se limita a 15 minutos después de la hora *iat*. Esto significa que, por ejemplo, si se emite un token a las 12:00, el tiempo máximo de vencimiento es a las 12:15.\n* El valor *iat* en el payload no puede ser futuro.\n* JWT inseguro (JWT sin firma) no son aceptados.\n* Si alguna de las validaciones extra falla, se regresará un error con estatus HTTP 403\n\n## Ejemplo de creación de JWT\n\nUsando las siguientes credenciales, esta sección describirá cómo crear un JWT\n\n| Credencial | Valor |\n|------|--------|\n| API Key| your-api-key |\n| Secret Key| your-secret-key |\n\n\nEl token web de Json tiene la siguiente estructura:\n\n**`<base64url_header>.<base64url_payload>.<base64url_signature>`**\n\n\n### Header\n\nUna vez que tenga el json con las claves y valores anteriores descritos en la sección Definición y encabezado de JWT, es necesario codificarlo en base64url.\n\n**Ejemplo:**\n```json\n{ \"typ\":\"JWT\", \"alg\":\"HS256\" }\n```\n\nEl siguiente ejemplo es usando el comando linux:\n\n`echo -n \"{\\\"alg\\\":\\\"HS256\\\",\\\"typ\\\":\\\"JWT\\\"}\" | openssl base64`\n\nEl comando generaría:\n\n**eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9**\n\nEsta es la primera parte del JWT\n\n### Creación de payload\n\nUna vez más, tiene el payload JSON y necesitamos codificarla en base64url\n\n```json\n{\n \"sub\": \"your-api-key\",\n \"exp\": 1583712900,\n \"iat\": 1583712000, \n \"jti\": \"c8990c4e-b551-4f04-9155-3cda38fa16c5\"\n}\n```\n\nEl siguiente ejemplo es usando el comando linux:\n\n```\necho -n \"{\\\"sub\\\":\\\"your-api-key\\\",\\\"exp\\\":1583712900,\\\"iat\\\":1583712000,\\\"jti\\\":\\\"c8990c4e-b551-4f04-9155-3cda38fa16c5\\\"}\" | openssl base64 -e -A | sed s/\\+/-/ | sed -E s/=+$//\n```\n\nEl comando generaría:\n\n**eyJzdWIiOiJ5b3VyLWFwaS1rZXkiLCJleHAiOjE1ODM3MTI5MDAsImlhdCI6MTU4MzcxMjAwMCwianRpIjoiYzg5OTBjNGUtYjU1MS00ZjA0LTkxNTUtM2NkYTM4ZmExNmM1In0**\n\nEsta es la segunda parte del JWT\n\n\n### Firmando el JWT\n\nPara generar la tercera parte del JWT, tome el header codificado y el payload y fírmelos usando la clave secreta (secret key) como contraseña. Luego, encripte el resultado en base64url.\n\nLa cadena a encriptar estaría en el siguiente formato:\n\n**`<base64url_header>.<base64url_payload>`**\n\nUsando los ejemplos de las secciones anteriores, la cadena a encriptar sería:\n\n**eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ5b3VyLWFwaS1rZXkiLCJleHAiOjE1ODM3MTI5MDAsImlhdCI6MTU4MzcxMjAwMCwianRpIjoiYzg5OTBjNGUtYjU1MS00ZjA0LTkxNTUtM2NkYTM4ZmExNmM1In0**\n\nCon el siguiente comando de linux:\n\n```\necho -n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ5b3VyLWFwaS1rZXkiLCJleHAiOjE1ODM3MTI5MDAsImlhdCI6MTU4MzcxMjAwMCwianRpIjoiYzg5OTBjNGUtYjU1MS00ZjA0LTkxNTUtM2NkYTM4ZmExNmM1In0\" | openssl dgst -binary -sha256 -hmac your-secret-key | openssl base64 -e -A | sed s/\\+/-/ | sed -E s/=+$//`\n```\n\nEl comando generaría: \n\n**Jb92jInEI9l386dKUukf291z3/klOdyRtryeT20bkCw**\n\nEsta es la firma del JWT\n\n### Token\n\nComo se mencionó anteriormente, el token está formado por el header codificado, la payload y la firma de la parte anterior unidos por un punto.\n\nEstructura del Token:\n\n**`<base64url_header>.<base64url_payload>.<base64url_signature>`**\n\nEl resultado final es:\n\n**eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ5b3VyLWFwaS1rZXkiLCJleHAiOjE1ODM3MTI5MDAsImlhdCI6MTU4MzcxMjAwMCwianRpIjoiYzg5OTBjNGUtYjU1MS00ZjA0LTkxNTUtM2NkYTM4ZmExNmM1In0.Jb92jInEI9l386dKUukf291z3/klOdyRtryeT20bkCw**\n\n## Ejemplo de petición\n\nGET /merchants\n\nDefiniendo los headers\n\n| Header | Valor |\n|------|--------|\n| Authorization| **Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ5b3VyLWFwaS1rZXkiLCJleHAiOjE1ODM3MTI5MDAsImlhdCI6MTU4MzcxMjAwMCwianRpIjoiYzg5OTBjNGUtYjU1MS00ZjA0LTkxNTUtM2NkYTM4ZmExNmM1In0.Jb92jInEI9l386dKUukf291z3/klOdyRtryeT20bkCw** |\n| Accept| application/vnd.regalii.v4.0+json |\n| Content-Type | application/json |\n\n\n### Exitoso\n\n| Clave | Valor |\n|-----|-----|\n| Status | 200 |\n| Message| |\n\n\n### No autorizado\n\n| Clave | Valor |\n|-----|-----|\n| Status | 401 |\n| Message| Invalid Authorization |\n\n### Prohibido\n\n| Clave | Valor |\n|-----|-----|\n| Status | 403 |\n| Message| Forbidden |\n\n## Resumen\n\nToda la codificación hecha aquí para generar el JWT se usaba directamente **openssl** a través de la línea de comando solo para mostrarle cómo se construye el token. Pero le recomendamos encarecidamente que utilice cualquier implementación de JWT de acuerdo con el lenguaje de programación que utilice. Para obtener más información, visite https://jwt.io/ donde puede encontrar la implementación necesaria en función de su lenguaje de programación para generar el JWT de una manera más fácil.\n\n\n# Idempotency Key\n\n## Descripción\n\nLos métodos PUT y DELETE se definen como idempotentes, también los métodos GET, HEAD, OPTIONS y TRACE se definen como seguros, lo que significa que solo están destinados a recuperar datos. Esto también los hace idempotentes, ya que múltiples solicitudes idénticas se comportarán de la misma manera.\n\nPor otro lado, POST no es idempotente, generalmente (no necesariamente) POST se usa para crear un nuevo recurso en el servidor. Entonces, cuando invoca la misma solicitud POST N veces, tendrá N nuevos recursos en el servidor. Entonces, POST no es idempotente por definición.\n\n\n## Casos de Uso\n\n- La API de Arcus admite la idempotencia, lo que le permite reintentar una solicitud varias veces mientras solo realiza la acción una vez. Esto ayuda a evitar la duplicación no deseada en caso de fallas y reintentos.\n\n- En el caso de un error de tiempo de espera, es posible volver a intentar enviar de forma segura la misma llamada de pago API varias veces con la garantía de que el pago solo se cargará una vez.\n\n## Implementación\n\nArcus API admite idempotencia en las solicitudes POST, el uso de esta característica es opcional, para habilitar esta funcionalidad solo necesitará agregar un nuevo encabezado a su solicitud POST llamada. `Idempotency-Key`\n\n### Reglas:\nReglas que implementan la clave de idempotencia para la API de Arcus:\n- La longitud máxima admitida para la clave de idempotencia será de 36 dígitos\n- La longitud mínima admitida para la clave de idempotencia será de 12 dígitos\n- Recomendamos utilizar la versión 4 UUID para dicha clave de idempotencia\n- La clave de idempotencia caducará después de 24 horas de haber sido creada\n\n\n\n# Paginación\n\nEl header `X-Pagination` contiene la informacion de paginación en formato `json`, tiene todo lo necesario para la navegacion de los registros.\n\n| Nombre | Descripcion | \n| ----- | ----------- |\n| total_entries | Total de registros de la consulta |\n| total_pages | Número de páginas totales de la consulta |\n| previous_page | Número de página anterior |\n| current_page | Número de página actual |\n| next_page | Número de página posterior | \n\n# Diccionario de Valores\n\nSe describe la lista de posibles valores de campos en algunas respuestas de la API, el que algunos valores no se muestren dependerá de las compañias asignadas por contrato\n\n## Lista de valores campo `periodicity`\n\n| Valor | Descripción | \n|-------| ------- |\n| monthly | Servicios con cargo mensual |\n| bimonthly | Servicios con cargo bimestral |\n\n## Lista de valores campo `bill_type`\n\n| Valor | Descripción | \n|-------| ------- |\n| account_number | Tipo referencia de pago estándar utilizada para el pago de servicio |\n| bar_code | Tipo de referencia de pago adicional que algunos proveedores implementan\n| phone_number | Tipo de referencia utilizada para servicios de telefonía\n\n## Lista de valores campo `biller_type`\n\n| Valor | Descripción | \n|------- | ---------- |\n| Cable | Televisión de Paga |\n| Electricity | Servicios de Electricidad del Gobierno Federal |\n| Gas | Servicios de Gas del Gobierno Federal |\n| GiftCard | Tarjetas de Regalo |\n| Government | Gobiernos Estatales |\n| Internet | Servicio de Internet |\n| Landline | Telefonía fija y Telecomunicaciones |\n| Mortgage | Hipotecas |\n| MXCell | Recargar Electrónicas |\n| PostPaidCell | Facturas de Telefonía Celular |\n| Satellite | Televisión de Paga por Satélite |\n| Toll | Peaje |\n| Utilities | Servicios Varios |\n| Water | Aguas Estatales |\n \n# Códigos de Error\n\nUna respuesta no exitosa en Arcus API tiene una respuesta que contiene un código y un mensaje.\n\n```json\n{ \"code\": \"P6\", \"message\": \"Invalid Authorization\" }\n```\n\n| Código | Mensaje |\n| ------ | ------- |\n| P0 | Successful. |\n| P1 | Can not create Payment Order. |\n| P2 | Missing client_id. |\n| P3 | Payment amount is greater than client limit. |\n| P4 | Payment amount it is more than the Chain limit. |\n| P5 | Max limit of Client Bills created for Client reached. |\n| P6 | Invalid Authorization |\n| P7 | Invalid Idempotency Key |\n| P8 | Missing Charge Processor |\n| P9 | Unable to perform the operation |\n| P15 | Bill limit creation same company exceeded |\n| P16 | Bill limit creation exceeded |\n| P17 | Bill number payments same company limit exceeded |\n| P18 | Bill number payments limit exceeded |\n| P19 | Active recurring payments same company limit exceeded |\n| P21 | Active recurring payments limit exceeded |\n| P22 | Updates limit exceeded |\n| P42 | Reverse not allowed |\n| P43 | Reverse Failed |\n| P44 | Payment not found |\n| P98 | Request still in process |\n| P99 | Catchall error. |\n| R1 | Invalid number of digits in account number |\n| R2 | Invalid Account Number |\n| R3 | Invalid Payment Amount |\n| R4 | Account number does not resolve with biller |\n| R5 | Invalid Phone Number |\n| R6 | Invalid Biller |\n| R7 | Account Number is valid but cannot receive payments like this |\n| R8 | Balance has already been paid |\n| R9 | Unexpected error (everything entered was correct) |\n| R10 | Incorrect Biller for the Provided Account Number |\n| R11 | Invalid Payment Amount: You must pay the full amount balance |\n| R12 | Payment Already Made |\n| R13 | Name on account is required |\n| R14 | Payment amount too large, max amount is 1500 USD |\n| R15 | Account Balance is 0 |\n| R16 | Failed to make the consult, please try again later |\n| R17 | Invalid Topup amount |\n| R18 | Topup daily limit exceeded |\n| R19 | Payments with this biller are currently unavailable |\n| R20 | Lookup time out with biller |\n| R21 | Configuration issue between us and our biller |\n| R22 | Biller maintenance in progress, please try again later |\n| R24 | Timeout from biller |\n| R23 | No transaction to reverse |\n| R25 | Error with performing the cancellation |\n| R26 | Reversal not supported for this biller |\n| R27 | Overdue Bill |\n| R28 | Invalid Account Number: Sky account numbers should start with 401 or 501 or 601 |\n| R29 | The biller returned an error. Please check the account number. |\n| R30 | Different company |\n| R31 | Phone number is no longer active |\n| R32 | Invalid Payment Amount: Sky minimum payment is $ 185 MXN |\n| R33 | Fraud suspected |\n| R34 | Invalid Currency |\n| R35 | Temporary communication error with carrier. Please try again |\n| R36 | Blocked attempt to make a possible duplicate payment. Requests for this account number with this payment amount are blocked for 1 hour |\n| R37 | Recurring payments enabled for this account |\n| R41 | Invalid Payment Amount: You must pay at least the actual account balance |\n| R42 | Account Number is valid, but is postpaid and doesn't have balance yet |\n| R43 | Invalid Barcode Format. Please the payment with the account number |\n| R44 | Invalid Customer Status. This customer is required to show in person at the Biller location. |\n| R45 | The maximum number of payments for this account on this day was reached |\n| R46 | Can't get balance. This customer is required to show in person at the Biller location. |\n| R47 | No connection with the biller |\n| R48 | Unable to perform operation, biller returned an unexpected error |\n| R99 | Catchall error |\n| R100 | Insufficient balance |\n| R101 | Biller doesn't support balance lookup |\n| R102 | Invalid or missing parameters |\n| R103 | Transaction already reversed |\n| R104 | Invalid Subsription ID. Please verify the ID that you passed or create a nds subscription |\n| R105 | Only same day reversals are allowed |\n| R114 | Payment amount too large, max amount is 2500 USD |\n| R115 | POS number is invalid |\n| R116 | Incorrect encryption |\n| R117 | Company is not assigned |\n| R404 | Not found |\n\n\n# Notificaciones Webhook\n\n## Cuerpo del Mensaje\n\nEl mensaje enviado es un JSON el cual contiene tres campos que definen el propósito de la notificación\n\n```json\n{ \n \"uid\":notification_identifier, \n \"Type\":notification_type, \n \"payload\": serializer_of_type, \n “metadata”: metadata_transaction\n}\n```\n| Campo | Tipo | Descripción | \n| ----- | ---- | ----------- |\n| uid | string | Identificador de la notificación |\n| type | string | `balance_update` - Cambio de Balance. `successful_payment` - Pago Exitoso. Pago Exitoso al Biller ( CFE, Dish, etc ). `unsuccessful_payment` - Intento de Pago declinado. Pago rechazado por el Payment Gateway (Base24). Pago rechazado por el Biller |\n| payload | JSON | Información actual del Bill del cliente |\n| metadata | JSON | El cuerpo de este campo dependerá del tipo de notificación establecido en el campo `type` |\n\n### Payload\n\nEstado actual en el que se encuentra la cuenta del cliente\n\n| Campo | Tipo | Descripción | \n| ----- | ---- | ----------- |\n| uid | String | Identificador de la cuenta |\n| company_sku | String | Sku de la Compañía |\n| service_number | String | Número de cuenta del servicio |\n| client_id | String | Identificador del Cliente (CLABE) |\n| balance | Decimal | Balance de la cuenta actual |\n| due_date | String | Fecha de límite de pago en formato `YYYY-MM-DD` |\n| currency | String | Moneda del campo `balance` |\n| autopay | Boolean | Estatus del servicio de pagos recurrentes |\n| tracking | Boolean | Estatus del seguimiento del balance |\n| status | String | Estatus que se encuentra la cuenta |\n| alias | String | Alias de la cuenta |\n| periodicity | String | Periodicidad de la cuenta |\n| next_payment_date | String | Próxima fecha de pago `YYYY-MM-DD` |\n| customer_fee | Numeric | Comisión a pagar por el usuario |\n| customer_fee_type | String | Tipo de comisión |\n| created_date | String | Fecha de Creación |\n| bill_total | Numeric | Monto total |\n| autopay_status_update | String | Última fecha de activación de autopay |\n| short_uid | String | Identificador corto |\n\n## Cambios de Balance\n\n### Descripción\n\nLa notificación de cambios de balance serán enviados cuando el proveedor retorna un nuevo monto de la cuenta solicitada\n\n### Escenarios\n\n* Envío de mensaje en casa obtención de balance por parte del biller\n\n### Metadata\n\nInformación enviada al realizar el pago del servicio\n\n| Campo | Tipo | Descripción | \n| ----- | ---- | ----------- |\n| balance_update_at | Numeric | Fecha de Cambio de Balance |\n| new_balance | Numeric | Balance de la cuenta actual |\n| new_due_date | String | Fecha de límite de pago en formato `YYYY-MM-DD` |\n\n## Pagos\n\n### Descripción\n\nLa notificación de pagos durante el proceso de pago o durante el rechazo del cargo \n\n### Escenarios\n\n* Envío de mensaje en cada reintento de pago recurrente\n* El envío del mensaje será si la transacción fue exitosa o fallida\n* El mensaje es enviado si fue rechazado o aceptado Biller\n\n### Metadata\n\nInformación enviada al realizar el pago del servicio\n\n| Campo | Tipo | Descripción | \n| ----- | ---- | ----------- |\n| payment_fee | Numeric | Monto de la comisión enviado a Base24 |\n| payment_amount | Numeric | Monto de la transacción enviada a Base24 |\n| payment_date | String | Fecha de movimiento, Intento de Pago o Fecha de Pago. Formato ISO/WD 8601 `YYYY-MM-DDThh:mm:ssZ` |\n\n\n\n\n# Conciliación de Pagos Recurrentes\n\n## Descripción\n\nEsta sección explica el proceso de pago y conciliación, de igual manera describe los archivos involucrados y generados antes y después de procesar pagos recurrentes. \n\n## 1. Generación de archivo de intención de pago\n\nEl primer paso es la creación del archivo de intención de pago, el cual contiene información sobre las órdenes de pago agendados para ser procesados dos días posteriores a la fecha de generación del archivo (D-2).\n\nEl archivo se subirá a un servidor SFTP del cual Arcus es propietario y se compartirán las credenciales correspondientes para que la cadena pueda descargar el archivo y procesarlo.\n\n### Formato\n\nEl archivo en formato CSV contiene las siguiente información:\n\n- **Bill ID:** ID del Bill que identifica al cliente final, biller y su deuda\n- **Biller ID:** ID de la compañía (biller) de la cual se paga su servicio (CFE, Telcel, VeTV, etc.)\n- **Client ID:** ID del cliente asignado al bill por la cadena mediante el campo `client_id`\n- **Amount:** Monto total en deuda a pagar reflejada en la factura\n- **Payment date:** Fecha en la cual se ejecutará el pago de servicio (D)\n\nAl final del archivo se anexa una fila con la información del número de pagos procesados y la sumatoria de los montos a pagar.\n\n## 2. Revisión del archivo de intención de pago\n\nAl recibir el archivo de intención de pago, se espera que la cadena realice las validaciones que considere pertinentes para mantener el pago recurrente encendido o de otra manera solicitar la desactivación del pago recurrente. \n\nMediante el uso de nuestra API, la cadena deshabilitará las órdenes de pago que considere no son aptas para realizar el pago recurrente. Para deshabilitar las órdenes de pago, se debe ejecutar un requerimiento de actualización de factura y definir el campo **autopay_locked** como **true**.\n\nUna vez deshabilitada una orden de pago, no se procesarán más facturas del mismo cliente hasta actualizar la propiedad de **autopay_locked** de la factura a **false**.\n\n## 3. Procesamiento de órdenes de pago\n\nSe procesan las órdenes de pago del día corriente (D), aquellas a las que no se les desactivó el pago recurrente.\n\nArcus procede a reportar los pagos hacia los *billers* y se actualizan el estatus de la orden de pago y en el historial del cliente se mostrará el movimiento aprobado o rechazado en base a la respuesta del *biller*. El estado de cuenta se actualizará hasta la próxima consulta de saldo y dicho balance provendrá directamente del *biller*.\n\n## 4. Generación de archivo de reconciliación\n\nUn día posterior al procesamiento de los pagos (D+1), se crea el archivo que contiene información sobre las órdenes de pago procesadas el día anterior (D). El archivo de reconciliación contiene información de las órdenes procesadas y muestra el status del pago.\n\nEl archivo se subirá a un servidor SFTP del cual Arcus es propietario y se compartirán las credenciales correspondientes para que la cadena pueda descargar el archivo y procesarlo.\n\n### Formato\n\nEl archivo en formato CSV contiene las siguiente información:\n\n- **Bill ID:** ID del Bill que identifica al cliente final, biller y su deuda\n- **Biller ID:** ID de la compañía (biller) de la cual se pagó su servicio (CFE, Telcel, VeTV, etc.)\n- **Client ID:** ID del cliente asignado al bill por la cadena mediante el campo `client_id`\n- **Amount:** Monto total en deuda pagada\n- **Payment date:** Fecha en la cual se ejecutará el pago de servicio (D)\n- **Payment status:** Estatus de la orden de pago “successful” o “failed”\n\nAl final del archivo se anexa una fila con la información del número de pagos procesados y la sumatoria de los montos pagados.\n\n# Reconciliación\n\n## Descripción\n\nEste proceso de conciliación son de todos aquellos pagos únicos enviados hacia el Arcus API mediante los endpoint de `/pay` y `/bill/:uid/pay` desde el cliente de manera diaria.\n\nPara reconciliar los pagos se debe subir un archivo **diario** antes de las **5:00 AM Ciudad de México** con la lista de pagos del día anterior tiempo local **Ciudad de México**, incluso si no se realizaron transacciones.\n\n## Instrucciones\n\n1. Subir el archivo en el formato especificado mas adelante a nuestro servidor SFTP a las **5 AM Ciudad de México**. Arcus procesara los registros y reconciliará con los registros es nuestra base de datos y enviará los resultados a las **6 AM Ciudad de México**\n2. El archivo deberá tener 1 registro por cada pago realizado del día anterior en horario de **Ciudad de México**. Este archivo debe ser enviado todos los días de la semana incluyendo fines de semana\n3. Si no se realizaron pagos, el archivo solo contendrá el header y footer con un conteo de 0 registros\n4. Los resultados de la conciliación son enviados por email, y en el se describen las diferencias entre nuestros registros y aquellos que se encuentran en el archivo.\n5. Las credenciales para el servidor SFTP son compartidas durante el proceso de certificación\n\n## Especificación del Archivo\n\nEste es un ejemplo del archivo de reconciliación, el archivo describe los pagos realizadas por la cadena, la cual realizo dos transacciones en **1 de Enero del 2021** en horario de **Ciudad de México**\n\n```\nHEADER|20210102\nREGISTER|2021-01-01T17:09|4003212026|01F65K7WSGYWBJ5MX8FHCJN8AX|501000000007|185.00|MXN|bcc2263d-9918-4df9-b948-035c60c81cce\nREGISTER|2021-01-01T19:25|4003212026|01F65HW8EPR4SC48WFHHEFKGD9|501000000008|968.00|MXN|635f468c-0dc1-4f50-83c6-04471bdf726f\nFOOTER|2\n```\n\n### Nombre del Archivo\n\nEl nombre del archivo de reconciliación debe seguir el siguiente formato:\n\n> chainname_YYYYMMDD.txt\n\n- `chainname`: Nombre de la cadena, valor compartido por Arcus.\n- `YYYYMMDD`: Fecha cuando el archivo fue creado\n - `YYYY`: Año en 4 dígitos\n - `MM`: Mes del año, con cero a la izquierda\n - `DD`: Día del mes, con cero a la izquierda\n\n### Formato del Archivo\n\nEl archivo de conciliación es separado por barras verticales `|` como separador.\n\n**1**.- La primera linea es el header, con la fecha de creación de archivo\n\n| **Campo** | **Descripción** |\n| --------- | --------------- |\n| `HEADER` | Indica que es la cabecera |\n| YYYYMMDD | Fecha cuando el archivo fue creado |\n\n**2**.- Seguido de la cabecera, debes incluir ninguna o más lineas de registro, cada linea contiene información de un pago con el siguiente formato\n\n| **Campo** | **Descripción** |\n| ------------------ | --------------- |\n| `REGISTER` | Indica que es un registro |\n| Creation Date Time | Fecha y hora cuando el pago fue creado en zona horaria **Ciudad de México** en formato `yyyy-MM-ddTHH:mm:ss` |\n| SKU de Compañia | Identificador de la Compañia del pago |\n| UID Pago | Identificador del pago `UID` en la respuestas de solicides de pagos | \n| Número de Servicio | Numero de servicio del pago en las solicitudes de pago como `service_number` | \n| Monto | Monto del pago en moneda local enviado en las solicitud de pago. Debe incluir punto y dos decimales |\n| Moneda del Monto | Moneda del pago, valor enviado en la solicitud de pago|\n| External ID | Valor enviado en las solicitudes de pago `external_id` |\n\n**3**.- La ultima linea es el pie de pagina, contiene un resumen de todas los pagos con el siguiente formato\n\n| **Campo** | **Descripción** |\n| ----------------------- | --------------- |\n| `FOOTER` | Indica que es el pie de pagina |\n| Conteo de pagos | Número de pagos incluido en el archivo, debe ser el mismo número de número de lineas de `REGISTER`. Si no existen pagos el conteo es 0."
version: 1.0.0
contact: {}
servers:
- url: "https://api.casiregalii.com"
paths:
/bills:
post:
tags:
- Pagos Recurrentes > Facturas > Crear Factura
summary: Obtener Balance de Factura
description: "Para obtener el balance de una factura, es posible mediante la creación de un \"bill\". Esto se logra mediante un \"POST\" al endpoint `/bill`\n\n\n## Estatus del Bill\n\nEl campo `status` en la respuesta de pago indica el estado del bill\n\n| Estatus | Descripción | Escenario | \n| ------- | ----------- | ---------- |\n| `linked` | Creacion de la cuenta exitosa | Exitoso |\n| `failed` | Error al crear la cuenta | Fallido |\n| `timeout` | Tiempo de espera agotado | Fallido |\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n| company_sku | requerido | SKU de la compañia de la factura |\n| service_number | requerido | Numero de servició en la factura |\n| client_id | requerido | Idenficador unico del cliente, puede ser la cuenta CLABE | \n| tracking | opcional | Si es `true` se activa el seguimiento del balance de la factura |\n| autopay | opcional | Si es `true` se activa el pago recurrente de la factura |\n| alias | opcional | Alias con el que se identifica el \"bill\" |\n\nCabe aclarar que al activar `tracking` solo se realiza seguimiento del balance de la factura, pero no se activan los pagos recurrentes, sin embargo, al activar `autopay` se activa automaticamente el `tracking` ya que para realizar el pago recurrente es necesario el seguimiento del balance.\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |\n\nLos campos `company_sku`, `service_number`, `client_id`, `tracking`, `autopay` y `alias` corresponden a los que se enviaron al crear el \"bill\""
operationId: obtenerBalanceDeFactura
requestBody:
content:
application/json:
schema:
type: object
properties:
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
service_number:
type: string
example: "1000000003"
example:
client_id: "123456789012345678"
company_sku: "2001821020"
service_number: "1000000003"
responses:
"200":
description: 200 OK - Bill Created
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2,oj72gcevk9ir20zaz5gm,jvndd5qb035yc9q4jfgh,2hn7lj0had0eq5tbn723,jsdaoxmrcodenhmkfjkl,k4e8dtfeh55uu7uge7qy,un8m8dtv35rt0sj7k800"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: c3fe3e1b-6341-40a5-9b17-7e6fd1373044
X-Runtime:
schema:
type: string
example: "1.370917"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: false
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Bill Created:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: false
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 10:32:25 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 8feb116a-213f-41ad-9b14-e1ad1f22e42d
X-Runtime:
schema:
type: string
example: "0.021146"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter service_number is required: service_number"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter service_number is required: service_number"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:53:49 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: dd969106-3e18-4b12-8f11-774a94c6d7b8
X-Runtime:
schema:
type: string
example: "0.015724"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Company not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 10:26:01 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 969ef86e-cd23-4ebf-b17e-47f047a34709
X-Runtime:
schema:
type: string
example: "0.017748"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find company"
examples:
404 NOT FOUND - Company not found:
value:
code: R404
message: "Couldn't find company"
"422":
description: 422 UNPROCESSABLE ENTITY - Unable to perform
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 07 Oct 2020 20:30:45 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d4b914a3-fd91-467d-94f3-2de60a7be5fc
X-Runtime:
schema:
type: string
example: "0.052470"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R2
message:
type: string
example: Invalid Account Number
mode:
type: string
example: STAGING
examples:
422 UNPROCESSABLE ENTITY - Unable to perform:
value:
code: R2
message: Invalid Account Number
mode: STAGING
"/bills/{uid1}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Actualizar Alias del Servicio
description: "## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| alias | Nombre del Servicio |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: actualizarAliasDelServicio
requestBody:
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: Casa de Mamá
example:
alias: Casa de Mamá
responses:
"200":
description: "200 OK - Update Alias "
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: d49b611b-c0c9-460e-ac0f-03f60d3f0e4a
X-Runtime:
schema:
type: string
example: "0.165793"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: Casa de Mamá
autopay:
type: boolean
example: true
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
"200 OK - Update Alias ":
value:
alias: Casa de Mamá
autopay: true
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:42:25 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: ffea51d1-19b6-4f71-874f-9792a9054838
X-Runtime:
schema:
type: string
example: "0.015372"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter alias cannot be blank: alias"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter alias cannot be blank: alias"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:56:04 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 754c055f-b3bc-4b3f-85fe-6ba4d45296da
X-Runtime:
schema:
type: string
example: "0.011997"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:37:23 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d72a2fac-b085-4b89-bef1-2f9cc2698d90
X-Runtime:
schema:
type: string
example: "0.026388"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid1
in: path
required: true
schema:
type: string
"/bills/{uid2}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Actualizar Cliente
description: "Actualizar la tarjeta con la que se pagará el bill, esto se puede realizarse mediante la actualizacion del `client_id` enviando la nueva CLABE.\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| client_id | CLABE de Tarjeta |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| cliente_id | Identificador unico del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: actualizarCliente
requestBody:
content:
application/json:
schema:
type: object
properties:
client_id:
type: string
example: "384736254758690375"
example:
client_id: "384736254758690375"
responses:
"200":
description: "200 OK - Update Clabe "
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: d49b611b-c0c9-460e-ac0f-03f60d3f0e4a
X-Runtime:
schema:
type: string
example: "0.165793"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: Casa de Mamá
autopay:
type: boolean
example: true
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345679"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
"200 OK - Update Clabe ":
value:
alias: Casa de Mamá
autopay: true
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345679"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 12:54:27 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 2af70902-b5e8-46ad-b83b-231058659917
X-Runtime:
schema:
type: string
example: "0.018109"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter client_id cannot be blank: client_id"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "Parameter client_id cannot be blank: client_id"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:56:30 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 3d6ea745-2317-416c-97c3-90d068c4c6d9
X-Runtime:
schema:
type: string
example: "0.013528"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:37:23 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d72a2fac-b085-4b89-bef1-2f9cc2698d90
X-Runtime:
schema:
type: string
example: "0.026388"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid2
in: path
required: true
schema:
type: string
"/bills/{uid3}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Activar Pago Recurrente
description: "Para poder tener pagos recurrentes cada semana, es necesario activarlos si no se hizo durante la creación del \"bill\". La activación se hace editando el bill, con el autopay activado.\n\nRecuerda que al activar los pagos recurrentes tambien se activa el seguimiento del balance de la factura, por lo que si se llega a hacer una consulta de los datos del bill, el campo `tracking` tambien regresará `true`\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| autopay | `true` para activar los pagos recurrentes |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: activarPagoRecurrente
requestBody:
content:
application/json:
schema:
type: object
properties:
autopay:
type: boolean
example: true
example:
autopay: true
responses:
"200":
description: 200 OK - Enable Autopay
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: d49b611b-c0c9-460e-ac0f-03f60d3f0e4a
X-Runtime:
schema:
type: string
example: "0.165793"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: true
autopay_locked:
type: boolean
example: false
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Enable Autopay:
value:
alias: ""
autopay: true
autopay_locked: false
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:44:42 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 04c2925b-73ea-43d8-9510-f2c45790a775
X-Runtime:
schema:
type: string
example: "0.013073"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: autopay"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "'test' is not a valid boolean: autopay"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:56:43 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: a1fbd9a4-b94d-445b-b724-9409091b2db6
X-Runtime:
schema:
type: string
example: "0.009101"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:40:36 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: da6c0c46-c8b1-4f30-9fde-43224097c70d
X-Runtime:
schema:
type: string
example: "0.017643"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid3
in: path
required: true
schema:
type: string
"/bills/{uid4}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Desactivar Pago Recurrente
description: "En el caso que el cliente quisiera detener los pagos recurrentes, puede hacerse modificando el campo \"autopay\"\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| autopay | `false` para activar los pagos recurrentes |\n\nEn este caso, el seguimiento del balance de la factura seguira llevandose a cabo, por lo que el cliente podrá ver el balance mas actual de su factura, hasta que el \"bill\" se borre, o se desactive el \"tracking\".\n\nSe puede desactivar el tracking mediante la edición del \"bill\" con los siguientes parametros\n\n| Nombre | Descripción |\n|--------|-------------|\n| autopay | `true` para activar los pagos recurrentes |\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: desactivarPagoRecurrente
requestBody:
content:
application/json:
schema:
type: object
properties:
autopay_locked:
type: boolean
example: true
example:
autopay_locked: true
responses:
"200":
description: 200 OK - Disable Autopay
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 4733c30b-f5d4-444d-b951-501be7248531
X-Runtime:
schema:
type: string
example: "0.188521"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Disable Autopay:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:40 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 36dd3a53-9142-4dbb-bb4e-70970ec0c440
X-Runtime:
schema:
type: string
example: "0.011881"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: autopay"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "'test' is not a valid boolean: autopay"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:13 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 7d1f756a-5ca0-4e4d-b7b2-3eba5ef58b37
X-Runtime:
schema:
type: string
example: "0.026472"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:04 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 8ff91286-bb8c-47a7-81d5-420ea06b828e
X-Runtime:
schema:
type: string
example: "0.013948"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid4
in: path
required: true
schema:
type: string
"/bills/{uid5}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Bloquear Pago Recurrente
description: "En el caso que el cliente quisiera detener los pagos recurrentes, puede hacerse modificando el campo \"autopay_locked\"\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| autopay_locked | `true` para bloquear los pagos recurrentes |\n\nEn este caso, el seguimiento del balance de la factura seguira llevandose a cabo, por lo que el cliente podrá ver el balance mas actual de su factura, hasta que el \"bill\" se borre, o se desactive el \"tracking\".\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: bloquearPagoRecurrente
requestBody:
content:
application/json:
schema:
type: object
properties:
autopay_locked:
type: boolean
example: true
example:
autopay_locked: true
responses:
"200":
description: 200 OK - Lock Autopay
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 4733c30b-f5d4-444d-b951-501be7248531
X-Runtime:
schema:
type: string
example: "0.188521"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: true
autopay_locked:
type: boolean
example: true
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Lock Autopay:
value:
alias: ""
autopay: true
autopay_locked: true
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:40 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 36dd3a53-9142-4dbb-bb4e-70970ec0c440
X-Runtime:
schema:
type: string
example: "0.011881"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: autopay_locked"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "'test' is not a valid boolean: autopay_locked"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:13 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 7d1f756a-5ca0-4e4d-b7b2-3eba5ef58b37
X-Runtime:
schema:
type: string
example: "0.026472"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:04 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 8ff91286-bb8c-47a7-81d5-420ea06b828e
X-Runtime:
schema:
type: string
example: "0.013948"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid5
in: path
required: true
schema:
type: string
"/bills/{uid6}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Desbloquear Pago Recurrente
description: "En el caso que el cliente quisiera rehabilitar los pagos recurrentes, puede hacerse modificando el campo \"autopay_locked\"\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| autopay_locked | `false` para activar los pagos recurrentes |\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: desbloquearPagoRecurrente
requestBody:
content:
application/json:
schema:
type: object
properties:
autopay_locked:
type: boolean
example: false
example:
autopay_locked: false
responses:
"200":
description: 200 OK - Lock Autopay
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 4733c30b-f5d4-444d-b951-501be7248531
X-Runtime:
schema:
type: string
example: "0.188521"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: true
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Lock Autopay:
value:
alias: ""
autopay: true
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:40 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 36dd3a53-9142-4dbb-bb4e-70970ec0c440
X-Runtime:
schema:
type: string
example: "0.011881"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: autopay_locked"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "'test' is not a valid boolean: autopay_locked"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:13 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 7d1f756a-5ca0-4e4d-b7b2-3eba5ef58b37
X-Runtime:
schema:
type: string
example: "0.026472"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:46:04 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 8ff91286-bb8c-47a7-81d5-420ea06b828e
X-Runtime:
schema:
type: string
example: "0.013948"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid6
in: path
required: true
schema:
type: string
"/bills/{uid7}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Activar seguimiento de balance
description: "En el caso de que client desee que se le de seguimiento al balance de su factura, se puede desactivar modificando el \"bill\" con un PUT request a /bill/:uid con los siguientes datos.\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| tracking | `true` para desactivar el seguimiento de balance |\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: activarSeguimientoDeBalance
requestBody:
content:
application/json:
schema:
type: object
properties:
tracking:
type: boolean
example: false
example:
tracking: false
responses:
"200":
description: 200 OK - Enable Tracking
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "c7aph90qh8pl3xk61hel,3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 2d6f191a-e6f3-4ec8-a320-1497010c6e0c
X-Runtime:
schema:
type: string
example: "0.268597"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Enable Tracking:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:47:35 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d25a630b-2098-47fa-8774-d1d15a876a54
X-Runtime:
schema:
type: string
example: "0.013220"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: tracking"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "'test' is not a valid boolean: tracking"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:26 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: e053e220-cdc2-4289-af67-6eaa1d7e289b
X-Runtime:
schema:
type: string
example: "0.019454"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:48:25 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 1178bf9d-86bc-4030-ba7e-f11836a96adb
X-Runtime:
schema:
type: string
example: "0.017392"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid7
in: path
required: true
schema:
type: string
"/bills/{uid8}":
put:
tags:
- Pagos Recurrentes > Facturas > Actualizar Factura
summary: Desactivar seguimiento de balance
description: "En el caso de que cliente ya no desee que se le de seguimiento al balance de su factura, se puede desactivar modificando el \"bill\" con un PUT request a /bill/:uid con los siguientes datos.\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| tracking | `false` para desactivar el seguimiento de balance |\n\nCabe aclarar, que al no ser posible realizar pagos recurrentes si no se lleva un seguimiento del balance, al desactivar el seguimiento de balance tambien se desactivan los pagos recurrentes.\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura | Subtotal |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: desactivarSeguimientoDeBalance
requestBody:
content:
application/json:
schema:
type: object
properties:
tracking:
type: boolean
example: false
example:
tracking: false
responses:
"200":
description: 200 OK - Disable Tracking
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "c7aph90qh8pl3xk61hel,3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 2d6f191a-e6f3-4ec8-a320-1497010c6e0c
X-Runtime:
schema:
type: string
example: "0.268597"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: false
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Disable Tracking:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: false
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:47:35 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d25a630b-2098-47fa-8774-d1d15a876a54
X-Runtime:
schema:
type: string
example: "0.013220"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "'test' is not a valid boolean: tracking"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "'test' is not a valid boolean: tracking"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:26 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: e053e220-cdc2-4289-af67-6eaa1d7e289b
X-Runtime:
schema:
type: string
example: "0.019454"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:48:25 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 1178bf9d-86bc-4030-ba7e-f11836a96adb
X-Runtime:
schema:
type: string
example: "0.017392"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid8
in: path
required: true
schema:
type: string
"/bills/{uid}":
get:
tags:
- Pagos Recurrentes > Facturas > Mostrar Factura
summary: Obtener informacion de factura
description: "Una vez creado el \"bill\" es posible obtener los datos de la factura unicamente con el UID obtenido durante la creación. \n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n| uid | requerido | Identificador único de la factura |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" | Alias del Servicio |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: obtenerInformacionDeFactura
responses:
"200":
description: 200 OK - Get Bill
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2,oj72gcevk9ir20zaz5gm,jvndd5qb035yc9q4jfgh,2hn7lj0had0eq5tbn723,jsdaoxmrcodenhmkfjkl,k4e8dtfeh55uu7uge7qy"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 061a5271-b02c-4e14-867e-949ffa6872c3
X-Runtime:
schema:
type: string
example: "0.112555"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: false
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Get Bill:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: false
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 10:34:07 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: c7153e70-d602-49bd-8f33-a618b0937098
X-Runtime:
schema:
type: string
example: "0.011294"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter uid must match format (?i-mx:\\A[0-9a-z]{26}\\z): uid"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter uid must match format (?i-mx:\\A[0-9a-z]{26}\\z): uid"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:54:46 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 4aad41c6-0d58-443c-9c47-b620906f328a
X-Runtime:
schema:
type: string
example: "0.010163"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 22 Jul 2020 19:54:45 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 6fc668ad-c0a2-4736-b78b-3f377ae7cb15
X-Runtime:
schema:
type: string
example: "0.015851"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND:
value:
code: R404
message: "Couldn't find client bill"
delete:
tags:
- Pagos Recurrentes > Facturas > Eliminar Factura
summary: Solicitud de Eliminado
description: "En caso de que se desee borrar la factura, se puede hacer utilizando el `UID` de la misma, es importante tener cuidado en los casos en los que se permita hacer esta operación, ya que los datos no serán recuperables y si el usuario desea volver a dar de alta su factura, podrá hacerlo, pero obtendrá otro `UID` con lo que perderá el historial de pagos.\n\nEl campo `:uid` es el que se obtuvo al crear el bill\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n\n## Response\n\nLa respuesta que se obtiene tiene los mismos campos que la obtenida al crear el bill.\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura | Número de Servicio |\n| cliente_id | Identificador unico del cliente |\n| balance | Balance actual de la factura |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: solicitudDeEliminado
responses:
"200":
description: 200 OK - Delete Bill
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2,oj72gcevk9ir20zaz5gm,jvndd5qb035yc9q4jfgh,2hn7lj0had0eq5tbn723,jsdaoxmrcodenhmkfjkl,k4e8dtfeh55uu7uge7qy"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 061a5271-b02c-4e14-867e-949ffa6872c3
X-Runtime:
schema:
type: string
example: "0.112555"
content:
application/json:
schema:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: true
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Delete Bill:
value:
alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: true
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"400":
description: 400 BAD REQUEST - Parameter error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:50:02 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 9b7d139c-e803-44c2-8009-2bc35475f380
X-Runtime:
schema:
type: string
example: "0.034694"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter uid must match format (?i-mx:\\A[0-9a-z]{26}\\z): uid"
examples:
400 BAD REQUEST - Parameter error:
value:
code: R102
message: "Parameter uid must match format (?i-mx:\\A[0-9a-z]{26}\\z): uid"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:57:37 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 92df9d5e-3498-4a62-a5f8-858698fb6c82
X-Runtime:
schema:
type: string
example: "0.011727"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 22 Jul 2020 21:11:06 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 7422ccca-2c2b-4a38-8cdf-a69ba71c6fd6
X-Runtime:
schema:
type: string
example: "0.015793"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid
in: path
required: true
schema:
type: string
"/bills/{uid}/pay":
post:
tags:
- Pagos Recurrentes > Facturas > Pagar Factura
summary: Envío de Pago
description: "Para el pago unico de facturas se usa el endpoint /bills/:uid/pay donde :uid es el uid obtenido en la creación del bill.\n\nPago del \"bill\" creado con `POST /bills`\n\nEste endpoint es para pagos de Facturas, realizar un pago mediante este endpoint no habita los pagos recurrentes.\n\n## Estatus del Pago\n\nEl campo `status` en la respuesta de pago indica el estado de la transacción\n\n| Estatus | Descripción |\n| ------- | ----------- |\n| `processing` | El pago esta en proceso |\n| `successful` | El pago fue exitoso |\n| `failed` | El pago no pudo realizarse |\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n| amount | requerido | Monto a pagar del servicio sin comisión |\n| currency | requerido | Moneda de la Compañia. Valor fijo `MXN` |\n| external_id | requerido | Identificador personal de la transacción, el valor debe ser único, se recomienda usar un UUID v4 |\n| payment_method | requerido | Método de Pago, e.g., `CC`, `DC`, `CA`, `GC` | \n| pos_number | opcional | Identificador personal de procedencia de transacción |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Pago |\n| identifier | Identificador corto del Pago |\n| amount | Monto del servicio | \n| amount_currency | Moneda del pago |\n| customer_fee_type | Tipo de comisión |\n| customer_fee | Monto de comisión |\n| processed_at | Fecha de pago |\n| processed_at_time | Hora de pago |\n| status | Estatus de la transacción|\n| external_id | Identificador personal de la transacción |\n| ticket_text | Texto de la transacción a incluir en el ticket |\n| service_number | Número de servicio |\n| payment_authorization | Número de autorización |\n| bill_total | Monto total de la transacción |"
operationId: envODePago
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
type: number
example: 579.0
currency:
type: string
example: MXN
external_id:
type: string
example: f142b581-7998-40c3-8c99-543c3a6b7901
payment_method:
type: string
example: CC
example:
amount: 579.0
currency: MXN
external_id: f142b581-7998-40c3-8c99-543c3a6b7901
payment_method: CC
responses:
"201":
description: 201 OK - Created Bill
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2,oj72gcevk9ir20zaz5gm,jvndd5qb035yc9q4jfgh,2hn7lj0had0eq5tbn723,jsdaoxmrcodenhmkfjkl,k4e8dtfeh55uu7uge7qy,un8m8dtv35rt0sj7k800,qzcxivzp1wlg0cvqubfl,5xmpm686s0zedmn6m55b,bxhi7482hisd1p56nqnm"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 6eb702cf-bc7f-4784-bf21-8e22f971741a
X-Runtime:
schema:
type: string
example: "0.729137"
content:
application/json:
schema:
type: object
properties:
amount:
type: number
example: 579.0
amount_currency:
type: string
example: MXN
bill_total:
type: number
example: 589.0
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
external_id:
type: string
example: f142b581-7998-40c3-8c99-543c3a6b7901
identifier:
type: string
example: 01EDW1Y7AEPQ
payment_authorization:
type: string
example: 01EDW1Y7D18K4BXHX0YAV3N98X
processed_at:
type: string
example: 2020-07-22
processed_at_time:
type: string
example: "01:00"
service_number:
type: string
example: "1000000003"
status:
type: string
example: processing
ticket_text:
nullable: true
example: ~
uid:
type: string
example: 01EDW1Y7AEPQQRSW2QNZ3X32JX
examples:
201 OK - Created Bill:
value:
amount: 579.0
amount_currency: MXN
bill_total: 589.0
customer_fee: 10.0
customer_fee_type: "04"
external_id: f142b581-7998-40c3-8c99-543c3a6b7901
identifier: 01EDW1Y7AEPQ
payment_authorization: 01EDW1Y7D18K4BXHX0YAV3N98X
processed_at: 2020-07-22
processed_at_time: "01:00"
service_number: "1000000003"
status: processing
ticket_text: ~
uid: 01EDW1Y7AEPQQRSW2QNZ3X32JX
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:34:23 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: e81ee3e4-782c-4464-94b9-1425a29940a6
X-Runtime:
schema:
type: string
example: "0.012510"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter currency must be MXN: currency"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter currency must be MXN: currency"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:55:35 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: af9decaa-572d-4dd5-885a-04c164f3f4ce
X-Runtime:
schema:
type: string
example: "0.012984"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Bill not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:35:16 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 3c3b354a-681f-4778-8d91-3e9985e2fa89
X-Runtime:
schema:
type: string
example: "0.019529"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find client bill"
examples:
404 NOT FOUND - Bill not found:
value:
code: R404
message: "Couldn't find client bill"
parameters:
- name: uid
in: path
required: true
schema:
type: string
"/clients/{uid}/bills":
get:
tags:
- Pagos Recurrentes > Clientes
summary: Obtener Facturas de un Cliente
description: "Si un cliente tiene varios bills registrados, es posible obtener la lista de todos los bills creados con su `client_id` que en este caso sería su cuenta CLABE\n\nCada objeto es representado de la misma manera como en la respuesta al crear y consultar servicio.\n\nEl campo `:id` es el enviado como `client_id` al crear los \"bills\"\n\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Bill |\n| identifier | Identificador corto del Bill |\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura | Número de Servicio |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| autopay | Indica si los pagos recurrentes estan activados |\n| tracking | Indica si el balance de la factura se esta siguiendo |\n| status | Estatus del Bill |\n| alias | Alias con el que se identifica el \"bill\" |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n| next_payment_date | Próxima fecha de pago |\n| customer_fee | Comision de transacción |\n| bill_total | Monto total a pagar |\n| created_date | Fecha de creación |\n| autopay_status_update | Última fecha de alta servicio autopay |"
operationId: obtenerFacturasDeUnCliente
responses:
"200":
description: 200 OK - Client Bills
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp,qnodsfy8fae5gnet19d4,xtpoc71knalfq9p0bld8,unxejcfade10dlbzw1e2,oj72gcevk9ir20zaz5gm,jvndd5qb035yc9q4jfgh"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Request-Id:
schema:
type: string
example: 6738f161-8434-48a2-81c1-4f2ef23450e4
X-Runtime:
schema:
type: string
example: "0.265776"
content:
application/json:
schema:
type: object
properties:
bills:
type: array
items:
type: object
properties:
alias:
type: string
example: ""
autopay:
type: boolean
example: false
autopay_locked:
type: boolean
example: false
autopay_status_update:
type: string
example: 2020-07-17
balance:
type: number
example: 569.0
bill_total:
type: number
example: 579.0
client_id:
type: string
example: "123456789012345678"
company_sku:
type: string
example: "2001821020"
created_date:
type: string
example: 2020-07-17
currency:
type: string
example: MXN
customer_fee:
type: number
example: 10.0
customer_fee_type:
type: string
example: "04"
due_date:
type: string
example: 2020-08-30
identifier:
type: string
example: 01EDEKV64TBS
max_payment_amount:
type: number
example: 0.0
next_payment_date:
type: string
example: 2020-08-25
periodicity:
type: string
example: Mensual
service_number:
type: string
example: "1000000003"
status:
type: string
example: linked
tracking:
type: boolean
example: false
uid:
type: string
example: 01EDEKV64TBSYQ54NPT8QTG8Q1
example:
- alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: false
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
examples:
200 OK - Client Bills:
value:
bills:
- alias: ""
autopay: false
autopay_locked: false
autopay_status_update: 2020-07-17
balance: 569.0
bill_total: 579.0
client_id: "123456789012345678"
company_sku: "2001821020"
created_date: 2020-07-17
currency: MXN
customer_fee: 10.0
customer_fee_type: "04"
due_date: 2020-08-30
identifier: 01EDEKV64TBS
max_payment_amount: 0.0
next_payment_date: 2020-08-25
periodicity: Mensual
service_number: "1000000003"
status: linked
tracking: false
uid: 01EDEKV64TBSYQ54NPT8QTG8Q1
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:58:00 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: abe367f5-07bc-4416-989a-49f8df8f706b
X-Runtime:
schema:
type: string
example: "0.013199"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
parameters:
- name: uid
in: path
required: true
schema:
type: string
"/clients/{uid}/payments":
get:
tags:
- Pagos Recurrentes > Clientes
summary: Obtener Pagos de un Cliente
description: "Si un cliente tiene bills registrados, y ya se han realizado pagos, es posible obtener la lista de todos los pagos realizados con su `client_id` que en este caso sería su cuenta CLABE\n\nEl campo `:id` es el enviado como `client_id` al crear los \"bills\"\n\nLos parámetros de búsqueda hacen hacen referencia al campo `processed_at` que es la fecha de pago.\n\nEste endpoint soporta paginación, contiene hasta 50 registros por página. Para más información consulte la sección `Paginación` al inicio del documento.\n\n## Request\n\n| Nombre | Descripción |\n|--------|-------------|\n| q[start_date] | Fecha de inicio de busqueda, este valor puede ser hasta 365 dias desde la fecha actual. Formato YYYY-MM-DD |\n| q[end_date] | Fecha de final de busqueda. Formato YYYY-MM-DD |\n| page | Número de página |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Pago |\n| identifier | Identificador corto del Pago|\n| bill_alias | Alias del servicio |\n| amount | Monto pagado del servicio |\n| payment_authorization | Número de autorización del pago Base24 |\n| processed_at | Fecha de pago |\n| processed_at_time | Hora de pago |\n| customer_fee | Comisión de la transacción |\n| bill_total | Monto total pagado |\n| payment_type | Tipo de Pago. Valores `Pago único`, `Pago automático` |\n| status | Estatus del pago. Tabla `Estatus del Pago` en `Pago de Factura` |\n| company_sku | SKU de la Compañia |\n| client_bill_uid | UID de la Factura |"
operationId: obtenerPagosDeUnCliente
parameters:
- name: "q[start_date]"
in: query
schema:
type: string
example: 2020-01-01
- name: "q[end_date]"
in: query
schema:
type: string
example: 2020-12-01
- name: page
in: query
schema:
type: string
example: " 1"
responses:
"200":
description: 200 OK - Client Payments
headers:
Cache-Control:
schema:
type: string
example: "no-store, must-revalidate, private, max-age=0"
Set-Cookie:
schema:
type: string
example: __profilin=p%3Dt; path=/; HttpOnly
Transfer-Encoding:
schema:
type: string
example: chunked
X-MiniProfiler-Ids:
schema:
type: string
example: "ev7f2fjbqdyue41pyekz,c7aph90qh8pl3xk61hel,3tjujlx2ilp7xhkhve1y,6je05tqfx6r7n37jgyhf,yuqyulmqk2lr50c43tle,st0hj5s7b2bkbohpe2do,sn4i2lxlc7658xbdvzc9,j1q9wby6ltzs37vsz5sg,7uh7ytldym935zx1oml5,zwi56i4508mkatfkd5fj,3u1895b3l7nt4phvfyk4,piqmcv3s6fgz8kghdd7v,s2kpvqnl7xl1kcf8n50a,9leokubkthsdsu08y7ld,kazn1uw95r0fmiwloghl,j6ehbch2pi9e1oc03q9b,b5uk7hqwkrot86dddh8j,s1hfgz8k6ookaa628z5k,bzxul9saexxs5xp5bw0l,iqwhrj3z2f5ojubc2dwp"
X-MiniProfiler-Original-Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
X-Pagination:
schema:
type: string
example: "{\"total_entries\":3,\"total_pages\":1,\"previous_page\":null,\"current_page\":1,\"next_page\":null}"
X-Request-Id:
schema:
type: string
example: 2c38207a-4517-4e3d-8859-a7b3ed656716
X-Runtime:
schema:
type: string
example: "0.035971"
content:
application/json:
schema:
type: object
properties:
payments:
type: array
items:
type: object
properties:
amount:
type: number
example: 855.0
bill_alias:
type: string
example: Casa de Mamá
bill_total:
type: number
example: 865.0
client_bill_uid:
type: string
example: 01E7NKH99WC5G4433M25W8VY89
company_sku:
type: string
example: "2001821020"
customer_fee:
type: number
example: 10.0
identifier:
type: string
example: 01EDEME7962S
payment_authorization:
type: string
example: "2000000002"
payment_type:
type: string
example: Pago único
processed_at:
type: string
example: 2020-07-17
processed_at_time:
type: string
example: "01:00"
uid:
type: string
example: 01EDEME7962SFFNJDGSKN5J60A
example:
- amount: 855.0
bill_alias: Casa de Mamá
bill_total: 865.0
client_bill_uid: 01E7NKH99WC5G4433M25W8VY89
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDEME7962S
payment_authorization: "2000000002"
payment_type: Pago único
processed_at: 2020-07-17
processed_at_time: "01:00"
uid: 01EDEME7962SFFNJDGSKN5J60A
- amount: 505.0
bill_alias: Casa de Mamá
bill_total: 515.0
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDEQBZR6HM
payment_authorization: "2000000002"
payment_type: Pago automático
processed_at: 2020-08-25
processed_at_time: "01:00"
uid: 01EDEQBZR6HMWM7139N82PGMAC
- amount: 755.0
bill_alias: Casa de Mamá
bill_total: 765.0
client_bill_uid: 01E7NKH99WC5G4433M25W8VY89
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDW3SMM9X4
payment_authorization: "2000000002"
payment_type: Pago automático
processed_at: 2020-09-25
processed_at_time: "01:00"
uid: 01EDW3SMM9X4QWDGF0YP7KZ8Y7
examples:
200 OK - Client Payments:
value:
payments:
- amount: 855.0
bill_alias: Casa de Mamá
bill_total: 865.0
client_bill_uid: 01E7NKH99WC5G4433M25W8VY89
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDEME7962S
payment_authorization: "2000000002"
payment_type: Pago único
processed_at: 2020-07-17
processed_at_time: "01:00"
uid: 01EDEME7962SFFNJDGSKN5J60A
- amount: 505.0
bill_alias: Casa de Mamá
bill_total: 515.0
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDEQBZR6HM
payment_authorization: "2000000002"
payment_type: Pago automático
processed_at: 2020-08-25
processed_at_time: "01:00"
uid: 01EDEQBZR6HMWM7139N82PGMAC
- amount: 755.0
bill_alias: Casa de Mamá
bill_total: 765.0
client_bill_uid: 01E7NKH99WC5G4433M25W8VY89
company_sku: "2001821020"
customer_fee: 10.0
identifier: 01EDW3SMM9X4
payment_authorization: "2000000002"
payment_type: Pago automático
processed_at: 2020-09-25
processed_at_time: "01:00"
uid: 01EDW3SMM9X4QWDGF0YP7KZ8Y7
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:58:12 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: c9b896c5-6543-4551-a59f-7a6a875ee3ef
X-Runtime:
schema:
type: string
example: "0.009191"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
parameters:
- name: uid
in: path
required: true
schema:
type: string
/consult:
post:
tags:
- Pagos Únicos
summary: Consulta de Balance
description: "Para obtener el balance del servicio se logra mediante un \"POST\" al endpoint `/consult`\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n| company_sku | requerido | SKU de la compañia de la factura |\n| service_number | requerido | Numero de servició en la factura |\n\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| company_sku | SKU de la compañia de la factura |\n| service_number | Numero de servicio en la factura |\n| client_id | Identificador único del cliente |\n| balance | Balance actual de la factura |\n| due_date | Fecha límite de pago|\n| currency | Moneda en que el `balance` se encuentra |\n| periodicity | Periodicidad del Bill |\n| max_payment_amount | Monto máximo de pago |\n"
operationId: consultaDeBalance
requestBody:
content:
application/json:
schema:
type: object
properties:
company_sku:
type: string
example: "2001821020"
service_number:
type: string
example: "1000000003"
example:
company_sku: "2001821020"
service_number: "1000000003"
responses:
"200":
description: 200 OK - Balance obtained
headers:
Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Tue, 05 Jan 2021 15:11:02 GMT"
ETag:
schema:
type: string
example: "W/\"db43df4b5e5ea753610f0685b4e6ad6b\""
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 147b9829-4cb1-4eca-a0a1-84e1b60375fc
X-Runtime:
schema:
type: string
example: "0.022841"
content:
application/json:
schema:
type: object
properties:
balance:
type: number
example: 300
company_sku:
type: string
example: "2001821020"
currency:
type: string
example: MXN
due_date:
type: string
example: 2021-02-05
periodicity:
type: string
example: bimonthly
service_number:
type: string
example: "1000000003"
examples:
200 OK - Balance obtained:
value:
balance: 300
company_sku: "2001821020"
currency: MXN
due_date: 2021-02-05
periodicity: bimonthly
service_number: "1000000003"
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 10:32:25 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 8feb116a-213f-41ad-9b14-e1ad1f22e42d
X-Runtime:
schema:
type: string
example: "0.021146"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter service_number is required: service_number"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter service_number is required: service_number"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:53:49 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: dd969106-3e18-4b12-8f11-774a94c6d7b8
X-Runtime:
schema:
type: string
example: "0.015724"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
"404":
description: 404 NOT FOUND - Company not found
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 10:26:01 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 969ef86e-cd23-4ebf-b17e-47f047a34709
X-Runtime:
schema:
type: string
example: "0.017748"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R404
message:
type: string
example: "Couldn't find company"
examples:
404 NOT FOUND - Company not found:
value:
code: R404
message: "Couldn't find company"
"422":
description: 422 UNPROCESSABLE ENTITY - Unable to perform
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 07 Oct 2020 20:30:45 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: d4b914a3-fd91-467d-94f3-2de60a7be5fc
X-Runtime:
schema:
type: string
example: "0.052470"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R2
message:
type: string
example: Invalid Account Number
mode:
type: string
example: STAGING
examples:
422 UNPROCESSABLE ENTITY - Unable to perform:
value:
code: R2
message: Invalid Account Number
mode: STAGING
/merchants:
get:
tags:
- Compañias
summary: Obtener lista de compañias
description: "Obtiene la lista de merchants tipo topups a las que se tiene acceso por contrato\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| sku | SKU de la compañia de la factura | \n| name | Nombre de la compañia |\n| biller_type | Categoría de la compañia |\n| bill_types | Tipos de referencia y mascara disponibles para realizar una trasacciónn, e.g. `bar_code`, `account_number`, `phone_number`. Máscara de número de cuenta. Se determina el número de digitos por la cantidad de `9`'s. El signo `?` indica un rango de valores. Por ejemplo `99999?999` donde se aceptan valores entre 5 y 8 dígitos | |\n| country | País de la compañia |\n| currency | Moneda de la compañía |\n| customer_fee | Comisión del Cliente |\n| customer_fee_type | Tipo de comisión |\n| logo_url | Localizacion logo de la compañía |"
operationId: obtenerListaDeCompaIas
responses:
"200":
description: 200 OK - Get list of merchants
headers:
Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Apr 2020 18:45:41 GMT"
ETag:
schema:
type: string
example: "W/\"6f19b2f6961d62382e531416c72bc034\""
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Pagination:
schema:
type: string
example: "{\"total_entries\":5,\"total_pages\":1,\"previous_page\":null,\"current_page\":1,\"next_page\":null}"
X-Request-Id:
schema:
type: string
example: c591ab08-654e-4ac8-a0aa-1e4658650c3f
X-Runtime:
schema:
type: string
example: "0.891219"
content:
application/json:
schema:
type: object
properties:
merchants:
type: array
items:
type: object
properties:
bill_types:
type: array
items:
type: object
properties:
bill_type:
type: string
example: account_number
mask:
type: string
example: "999999999999"
example:
- bill_type: account_number
mask: "999999999999"
biller_type:
type: string
example: Internet
country:
type: string
example: MX
currency:
type: string
example: MXN
customer_fee:
type: number
example: 0.0
customer_fee_type:
type: string
example: "04"
logo_url:
type: string
example: "https://d1ipkd1k928rz.cloudfront.net/9ArZ777vbj9LxTBuRG3ykuwS"
name:
type: string
example: Blue Telecomm
sku:
type: string
example: "4013623022"
example:
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Internet
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/9ArZ777vbj9LxTBuRG3ykuwS"
name: Blue Telecomm
sku: "4013623022"
- bill_types:
- bill_type: account_number
mask: 999 999 999 999
- bill_type: bar_code
mask: "999999999999999999999999999999"
biller_type: Electricity
country: MX
currency: MXN
customer_fee: 5.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/TVHwaMTunVGYFZCS3gtFXbGC"
name: CFE
sku: "4000035024"
- bill_types:
- bill_type: bar_code
mask: 9999999999999?9
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/K8oZWR7ZdGHLBWKotnP7JDqg"
name: "Dish [Barcode]"
sku: "4000038028"
- bill_types:
- bill_type: bar_code
mask: "9999999999999999999999999999"
biller_type: Gas
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/NaV5yC5u1JQTVHFwsV8XPg3z"
name: "Gas Natural Mexico [Barcode]"
sku: "4000043028"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
biller_type: PostPaidCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/Hpsxs4qDQN1tCwQAwc54UCRg"
name: Iusacell
sku: "4002901025"
- bill_types:
- bill_type: account_number
mask: 99999999?99
biller_type: Cable
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/V6nKTtzcimWowSTgELuet8Pj"
name: Izzi
sku: "4006900023"
- bill_types:
- bill_type: account_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999999999"
biller_type: Cable
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/BG46H17rfMQ8yTPbPyvFizQi"
name: Megacable
sku: "4001821026"
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "01"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/fgyMtm8MG4ub1B9kMMgdqx3H"
name: Sky
sku: "4000040024"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
biller_type: PostPaidCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/kP9Y84XozVSmkVdjd2YRfG7C"
name: Telcel
sku: "4013618022"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/QiTy79poMMaPZ3kuaC8nBKhQ"
name: Telmex
sku: "4000037020"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/nf3qjBwVgdJZMQxpgoqAL15S"
name: Telnor
sku: "4012540029"
- bill_types:
- bill_type: account_number
mask: ""
- bill_type: bar_code
mask: "99999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/GuXBmUW44D2kEA5PNydUoA3v"
name: TotalPlay
sku: "4012493021"
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/CJQK4nY4niqVXmze91z1mmya"
name: VeTV
sku: "4000091027"
examples:
200 OK - Get list of merchants:
value:
merchants:
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Internet
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/9ArZ777vbj9LxTBuRG3ykuwS"
name: Blue Telecomm
sku: "4013623022"
- bill_types:
- bill_type: account_number
mask: 999 999 999 999
- bill_type: bar_code
mask: "999999999999999999999999999999"
biller_type: Electricity
country: MX
currency: MXN
customer_fee: 5.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/TVHwaMTunVGYFZCS3gtFXbGC"
name: CFE
sku: "4000035024"
- bill_types:
- bill_type: bar_code
mask: 9999999999999?9
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/K8oZWR7ZdGHLBWKotnP7JDqg"
name: "Dish [Barcode]"
sku: "4000038028"
- bill_types:
- bill_type: bar_code
mask: "9999999999999999999999999999"
biller_type: Gas
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/NaV5yC5u1JQTVHFwsV8XPg3z"
name: "Gas Natural Mexico [Barcode]"
sku: "4000043028"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
biller_type: PostPaidCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/Hpsxs4qDQN1tCwQAwc54UCRg"
name: Iusacell
sku: "4002901025"
- bill_types:
- bill_type: account_number
mask: 99999999?99
biller_type: Cable
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/V6nKTtzcimWowSTgELuet8Pj"
name: Izzi
sku: "4006900023"
- bill_types:
- bill_type: account_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999999999"
biller_type: Cable
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/BG46H17rfMQ8yTPbPyvFizQi"
name: Megacable
sku: "4001821026"
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "01"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/fgyMtm8MG4ub1B9kMMgdqx3H"
name: Sky
sku: "4000040024"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
biller_type: PostPaidCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/kP9Y84XozVSmkVdjd2YRfG7C"
name: Telcel
sku: "4013618022"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/QiTy79poMMaPZ3kuaC8nBKhQ"
name: Telmex
sku: "4000037020"
- bill_types:
- bill_type: phone_number
mask: "9999999999"
- bill_type: bar_code
mask: "99999999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/nf3qjBwVgdJZMQxpgoqAL15S"
name: Telnor
sku: "4012540029"
- bill_types:
- bill_type: account_number
mask: ""
- bill_type: bar_code
mask: "99999999999999999"
biller_type: Landline
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "02"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/GuXBmUW44D2kEA5PNydUoA3v"
name: TotalPlay
sku: "4012493021"
- bill_types:
- bill_type: account_number
mask: "999999999999"
biller_type: Satellite
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: "https://d1ipkd1k928rz.cloudfront.net/CJQK4nY4niqVXmze91z1mmya"
name: VeTV
sku: "4000091027"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Apr 2020 18:47:40 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 6e17cd78-3c8d-41ae-a22e-52f93ed39792
X-Runtime:
schema:
type: string
example: "0.010846"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
/merchants/topups:
get:
tags:
- Compañias
summary: Obtener lista de compañias topups
description: "Obtiene la lista de merchants a las que se tiene acceso\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| sku | SKU de la compañia de la factura | \n| name | Nombre de la compañia |\n| biller_type | Categoría de la compañia |\n| bill_type | Tipo de identificador para realizar pagos | \n| country | País de la compañia |\n| currency | Moneda de la compañía |\n| customer_fee | Comisión del Cliente |\n| customer_fee_type | Tipo de comisión |\n| logo_url | Localizacion logo de la compañía |\n| mask | Máscara de número de cuenta. Se determina el número de digitos por la cantidad de `9`'s. El signo `?` indica un rango de valores. Por ejemplo `99999?999` donde se aceptan valores entre 5 y 8 dígitos |\n| bar_code_size | Longitud de código de Barras |"
operationId: obtenerListaDeCompaIasTopups
responses:
"200":
description: 200 OK - Get list of merchants
headers:
Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Apr 2020 18:45:41 GMT"
ETag:
schema:
type: string
example: "W/\"6f19b2f6961d62382e531416c72bc034\""
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Pagination:
schema:
type: string
example: "{\"total_entries\":5,\"total_pages\":1,\"previous_page\":null,\"current_page\":1,\"next_page\":null}"
X-Request-Id:
schema:
type: string
example: c591ab08-654e-4ac8-a0aa-1e4658650c3f
X-Runtime:
schema:
type: string
example: "0.891219"
content:
application/json:
schema:
type: object
properties:
merchants:
type: array
items:
type: object
properties:
bill_type:
type: string
example: phone_number
biller_type:
type: string
example: MXCell
country:
type: string
example: MX
currency:
type: string
example: MXN
customer_fee:
type: number
example: 0.0
customer_fee_type:
type: string
example: "04"
logo_url:
type: string
example: ""
mask:
type: string
example: "9999999999"
name:
type: string
example: Internet Amigo
sku:
type: string
example: "4013615024"
topup_amounts:
type: array
items:
type: object
properties:
amount:
type: number
example: 20.0
description:
type: string
example: Internet 20
example:
- amount: 20.0
description: Internet 20
- amount: 50.0
description: Internet 50
- amount: 100.0
description: Internet 100
- amount: 100.0
description: Internet 150
- amount: 200.0
description: Internet 200
- amount: 300.0
description: Internet 300
- amount: 500.0
description: Internet 500
example:
- bill_type: phone_number
biller_type: MXCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: ""
mask: "9999999999"
name: Internet Amigo
sku: "4013615024"
topup_amounts:
- amount: 20.0
description: Internet 20
- amount: 50.0
description: Internet 50
- amount: 100.0
description: Internet 100
- amount: 100.0
description: Internet 150
- amount: 200.0
description: Internet 200
- amount: 300.0
description: Internet 300
- amount: 500.0
description: Internet 500
- bill_type: phone_number
biller_type: MXCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: ""
mask: "9999999999"
name: TAE Telcel
sku: "4013603024"
topup_amounts:
- amount: 20.0
description: Recarga $20 500MB
- amount: 50.0
description: Recarga $50 1GB
- amount: 100.0
description: Recarga $100 1GB
- amount: 100.0
description: Recarga $100 1GB
- amount: 200.0
description: Recarga $200 2GB
examples:
200 OK - Get list of merchants:
value:
merchants:
- bill_type: phone_number
biller_type: MXCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: ""
mask: "9999999999"
name: Internet Amigo
sku: "4013615024"
topup_amounts:
- amount: 20.0
description: Internet 20
- amount: 50.0
description: Internet 50
- amount: 100.0
description: Internet 100
- amount: 100.0
description: Internet 150
- amount: 200.0
description: Internet 200
- amount: 300.0
description: Internet 300
- amount: 500.0
description: Internet 500
- bill_type: phone_number
biller_type: MXCell
country: MX
currency: MXN
customer_fee: 0.0
customer_fee_type: "04"
logo_url: ""
mask: "9999999999"
name: TAE Telcel
sku: "4013603024"
topup_amounts:
- amount: 20.0
description: Recarga $20 500MB
- amount: 50.0
description: Recarga $50 1GB
- amount: 100.0
description: Recarga $100 1GB
- amount: 100.0
description: Recarga $100 1GB
- amount: 200.0
description: Recarga $200 2GB
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Apr 2020 18:47:40 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: 6e17cd78-3c8d-41ae-a22e-52f93ed39792
X-Runtime:
schema:
type: string
example: "0.010846"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
/pay:
post:
tags:
- Pagos Únicos
summary: Pago de Servicio
description: "Para el pago único de servicios se usa el endpoint `/pay`\n\n## Estatus del Pago\n\nEl campo `status` en la respuesta de pago indica el estado de la transacción\n\n| Estatus | Descripción |\n| ------- | ----------- |\n| `processing` | El pago esta en proceso |\n| `successful` | El pago fue exitoso |\n| `failed` | El pago no pudo realizarse |\n\n## Request\n\n| Nombre | Requerido | Descripción |\n|--------|-----------|-------------|\n| company_sku | requerido | SKU de la compañia de la factura |\n| service_number | requerido | Numero de servició en la factura |\n| amount | requerido | Monto a pagar del servicio sin comisión |\n| currency | requerido | Moneda de la Compañia. Valor fijo `MXN` |\n| external_id | requerido | Identificador personal de la transacción, el valor debe ser único, se recomienda usar un UUID v4 |\n| payment_method | requerido | Método de Pago, e.g., `CC`, `DC`, `CA`, `GC` | \n| pos_number | opcional | Identificador personal de procedencia de transacción |\n\n## Response\n\n| Nombre | Descripción |\n|--------|-------------|\n| uid | Identificador del Pago |\n| identifier | Identificador corto del Pago |\n| amount | Monto del servicio | \n| amount_currency | Moneda del pago |\n| customer_fee_type | Tipo de comisión |\n| customer_fee | Monto de comisión |\n| processed_at | Fecha de pago |\n| processed_at_time | Hora de pago |\n| status | Estatus de la transacción|\n| external_id | Identificador personal de la transacción |\n| ticket_text | Texto de la transacción a incluir en el ticket |\n| service_number | Número de servicio |\n| payment_authorization | Número de autorización |\n| bill_total | Monto total de la transacción |"
operationId: pagoDeServicio
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
type: number
example: 579.0
company_sku:
type: string
example: "2001821020"
currency:
type: string
example: MXN
external_id:
type: string
example: f142b581-7998-40c3-8c99-543c3a6b7901
payment_method:
type: string
example: CC
service_number:
type: string
example: "1000000003"
example:
amount: 579.0
company_sku: "2001821020"
currency: MXN
external_id: f142b581-7998-40c3-8c99-543c3a6b7901
payment_method: CC
service_number: "1000000003"
responses:
"200":
description: 200 OK- Transaction Created
headers:
Cache-Control:
schema:
type: string
example: "max-age=0, private, must-revalidate"
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Tue, 05 Jan 2021 15:06:14 GMT"
ETag:
schema:
type: string
example: "W/\"29b917fda3b866c1f7b323c3b8bd9966\""
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: ba801413-6854-46fe-abcd-8047f8fa7e43
X-Runtime:
schema:
type: string
example: "0.051869"
content:
application/json:
schema:
type: object
properties:
amount:
type: number
example: 579
amount_currency:
type: string
example: MXN
bill_total:
type: number
example: 589
customer_fee:
type: number
example: 10
customer_fee_type:
type: string
example: "04"
external_id:
type: string
example: f142b581-7998-40c3-8c99-543c3a6b7901
identifier:
type: string
example: EPGZTZEZHNMBA
payment_authorization:
type: string
example: 01EDW1Y7D18K4BXHX0YAV3N98X
process_at_time:
type: string
example: "01:00"
processed_at:
type: string
example: 2021-01-04
service_number:
type: string
example: "1000000003"
status:
type: string
example: processing
ticket_text:
nullable: true
example: ~
uid:
type: string
example: 01EV9HB43Z05BEPGZTZEZHNMBA
examples:
200 OK- Transaction Created:
value:
amount: 579
amount_currency: MXN
bill_total: 589
customer_fee: 10
customer_fee_type: "04"
external_id: f142b581-7998-40c3-8c99-543c3a6b7901
identifier: EPGZTZEZHNMBA
payment_authorization: 01EDW1Y7D18K4BXHX0YAV3N98X
process_at_time: "01:00"
processed_at: 2021-01-04
service_number: "1000000003"
status: processing
ticket_text: ~
uid: 01EV9HB43Z05BEPGZTZEZHNMBA
"400":
description: 400 BAD REQUEST - Parameter Error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Mon, 27 Jul 2020 11:34:23 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: e81ee3e4-782c-4464-94b9-1425a29940a6
X-Runtime:
schema:
type: string
example: "0.012510"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: R102
message:
type: string
example: "Parameter currency must be MXN: currency"
examples:
400 BAD REQUEST - Parameter Error:
value:
code: R102
message: "Parameter currency must be MXN: currency"
"401":
description: 401 UNAUTHORIZED - Authorization error
headers:
Cache-Control:
schema:
type: string
example: no-cache
Connection:
schema:
type: string
example: keep-alive
Date:
schema:
type: string
example: "Wed, 29 Jul 2020 14:55:35 GMT"
Strict-Transport-Security:
schema:
type: string
example: max-age=31536000; includeSubDomains
Transfer-Encoding:
schema:
type: string
example: chunked
X-Request-Id:
schema:
type: string
example: af9decaa-572d-4dd5-885a-04c164f3f4ce
X-Runtime:
schema:
type: string
example: "0.012984"
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: P6
message:
type: string
example: Invalid Authorization
examples:
401 UNAUTHORIZED - Authorization error:
value:
code: P6
message: Invalid Authorization
tags:
- name: Compañias
description: "#### Lista de valores campo `bill_type`\n\n| Valor |\n|-------|\n| account_number |\n| bar_code |\n| phone_number |\n| ticket |\n\n#### Lista de valores campo `biller_type`\n\n| Valor |\n|-------|\n| Agua |\n| Cable |\n| Celular postpago |\n| Electricidad |\n| Internet |\n| Gas |\n| Telefonía fija |\n| Televisión por satélite |\n\n\n\n\n"
- name: Pagos Únicos
- name: Pagos Recurrentes > Facturas > Crear Factura
- name: Pagos Recurrentes > Facturas > Mostrar Factura
- name: Pagos Recurrentes > Facturas > Pagar Factura
- name: Pagos Recurrentes > Facturas > Actualizar Factura
- name: Pagos Recurrentes > Facturas > Eliminar Factura
- name: Pagos Recurrentes > Clientes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment