Para empezar

Con las API de Redypago, puedes integrar tus diferentes sistemas o soluciones para automatizar al máximo tus procesos de cobro. Escoges la solución mas eficiente para tus requerimientos sea cual sea.

Beneficios

  • Tienes un API para poder manejar un esquema “Card on File” que te permite tokenizar las tarjetas de tus clientes.
  • Una vez Tokenizada la tarjeta, puedes realizar cobros a tus clientes en base a la necesidad de consumo de cada uno.
  • Puedes consultar todo tu listado de transacciones.
  • Puedes consultar estado de transacciones especificas.
  • Puedes realizar solicitudes de pago desde cualquier aplicación que quieras enlazar.

Importante


En muchas de las API, es necesario solicitar un nuevo código de comercio y llaves de encriptación para realizar la integración de forma correcta

API Registro de Tarjetas

Autenticación básica necesaria para consumir los servicios


Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

Registro de Clientes


El servicio para el registro de tarjetas le permite al usuario registrar las tarjetas asociadas a los clientes. Para hacer uso de este servicio deberán enviar los datos del cliente y de su tarjeta, si la operación fue exitosa este le devuelve un token con el cual podrá realizar el cobro recurrente.

Datos de entrada del servicio


Para este servicio el usuario debe enviar los datos del cliente y los datos de su tarjeta de crédito: número de tarjeta, mes y año de vencimiento y el código de seguridad (CVV). Estos datos deben ir cifrados en la petición utilizando cifrado PGP, para ello debe utilizar la siguiente llave:
Debe contar con una empresa registrada en Redypago y tener la opción de Recurrentes habilitada.
En la tabla que sigue se describen cada uno de los campos de entrada del servicio:

PARÁMETROS

Parámetro Tipo Descripción Requerido
cedula Texto Identificación del cliente Si
name Texto Nombres del cliente separados por un espacio Si
email Texto Correo electónico del cliente Si
last_name Texto Apellidos del cliente separados por un espacio Si
razon_social Texto Razón social del cliente No
phone Texto Número de celular del cliente Si
address Texto Dirección del cliente Si
language Texto Idioma del cliente, por defecto Español No
card_type Texto Tipo de tarjeta Si
card_number Texto Número de tarjeta, este campo debe estar cifrado con PGP Si
expiry_month Texto Mes de expiración de la tarjeta, este campo debe estar cifrado con PGP Si
expiry_year Texto Año de expiración de la tarjeta, este campo debe estar cifrado con PGP Si
security_code Texto Código CVV de la tarjeta, este campo debe estar cifrado con PGP Si

# Ejemplo de request del servicio en formato JSON
{
  "cedula": "123123",
  "name": "Pepe",
  "email": "pepe91@g.com",
  "last_name": "Perez",
  "razon_social": "Pepe Reparaciones",
  "phone": "5675766",
  "address": "2da entre 4ta y 5ta vedado",
  "language": "Español",
  "card_type": "VISA",
  "card_number": "-----BEGIN+PGP+MESSAGE-----%0AVersion%3A+GnuPG+v2%0A%0AhQEMA1bt%2FecaYQwcAQf%2FaG1irOM%2FOSb6AT7kg…",
  "expiry_month": "-----BEGIN+PGP+MESSAGE-----%0AVersion%3A+GnuPG+v2%0A%0AhQEMA1bt%2FecaYQwcAQf%2FaG1irOM%2FOSb6AT7kg…",
  "expiry_year": "-----BEGIN+PGP+MESSAGE-----%0AVersion%3A+GnuPG+v2%0A%0AhQEMA1bt%2FecaYQwcAQf%2FaG1irOM%2FOSb6AT7kg…",
  "security_code": "-----BEGIN+PGP+MESSAGE-----%0AVersion%3A+GnuPG+v2%0A%0AhQEMA1bt%2FecaYQwcAQf%2FaG1irOM%2FOSb6AT7kg…"
}
                

Para llamar al servicio debes apuntar a la siguiente URL
Solicitar a Servicio al Cliente


Datos de Salida del servicio

Parámetro Tipo Descripción Requerido
estado Texto Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
mens Texto Retorna un mensaje con la confirmación de que el proceso fue exitoso o una explicación del error en que caso contrario. Si
contenido Arreglo de datos Devolverá el token relacionado al cliente registrado. Si
token Texto Campo referente al token que se debe utilizar para realizar el cobro al cliente registrado. Si

Ejemplo de respuesta del servicio

{
  "estado": "OK",
  "mens": "Se insertan los datos correctamente",
  "contenido": {
    "token": "HJKHKJHKJHJHJ89080980989"
  }
}
                

API Procesar Transacciones

Autenticación básica necesaria para consumir los servicios


Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

Procesar Transacciones


El servicio recibe un listado con los datos de los cobros que se desean realizar a determinados clientes, identificados por el token que se retorna al consumir el servicio de registrar el cliente.

Datos de entrada del servicio


Para este servicio el usuario debe enviar un listado con los datos de los cobros que desea realizar a los clientes. En la tabla que sigue se describen cada uno de los campos de entrada del servicio:

PARÁMETROS

Parámetro Tipo Descripción Requerido
data Arreglo de datos Datos de los cobros que se van a realizar a determinados clientes, identificados por el token. Si
  • token
  • Texto Campo referente al token que se debe utilizar para realizar el cobro al cliente registrado Si
  • base_0
  • Texto Monto que no grava IVA, con 2 lugares decimales Si
  • base_12
  • Texto Monto que grava IVA, con 2 lugares decimales Si
  • iva
  • Texto IVA, con 2 lugares decimales Si
  • total
  • Texto Monto total, con 2 lugares decimales Si
    
    # Ejemplo de request del servicio en formato JSON
    {
      "data": [
        {
          "token": "HJKHKJHKJHJHJ89080980989",
          "base_0": "20.00",
          "base_12": "10.00",
          "iva": "1.20",
          "total": "31.20"
        },
        {
          "token": "HYTYTJKLBHFGFJHJ89080945",
          "base_0": "0.00",
          "base_12": "20.00",
          "iva": "2.40",
          "total": "22.40"
        }
      ]
    }
                    

    Datos de Salida del servicio

    Parámetro Tipo Descripción Requerido
    estado Texto Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
    mens Texto Retorna un mensaje con la confirmación de que el proceso fue exitoso o una explicación del error en que caso contrario. Si
    contenido Arreglo de datos En el campo data se muestra el resultado de los cobros recurrentes. Si
    data Arreglo de datos Contiene el resultado de cada uno de los cobros recurrentes realizados, los resultados individuales pueden ser ‘Autorizado’, ‘No autorizado’ o ‘ERROR’. Si
  • token
  • Texto Token que identifica el cliente al que se le realizo el cobro. Si
  • result
  • Texto Resultado individual de cada uno de los cobros, puede ser ‘Autorizado’, ‘No autorizado’ según la pasarela o ‘ERROR’ en caso de un error al procesar el cobro. Si
  • mensaje
  • Texto Retorna un mensaje con la confirmación de transacción satisfactoria o el motivo del error. No
    
    Ejemplo de respuesta del servicio
    
    {
      "estado": "OK",
      "mens": "Se retorna el resultado de las transacciones",
      "contenido": {
        "data": [
          {
            "token": "HJKHKJHKJHJHJ89080980989",
            "result": "Autorizado",
            "mensaje": " Successful approval/completion "
          },
          {
            "token": "HYTYTJKLBHFGFJHJ89080945",
            "result": "No autorizado",
            "mensaje": " Invalid account number (no such number)"
          }
        ]
      }
    }
                    

    API Listado de Transacciones

    Autenticación básica necesaria para consumir los servicios


    Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

    Obtener Transacciones


    El servicio recibe una fecha en formato “año-mes-día”, devolviendo como resultado todos aquellos pedidos que coincidan con la fecha ingresada.

    Datos de entrada del servicio


    En la tabla que sigue se describen cada uno de los campos de entrada del servicio:

    PARÁMETROS

    Parámetro Tipo Descripción Requerido
    fecha Texto Fecha de creación del pedido Si
    
    # Ejemplo de request del servicio en formato JSON
    {
      "fecha": "2020-01-08"
    }
                    

    Datos de Salida del servicio

    Parámetro Tipo Descripción Requerido
    estado Texto Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
    mens Texto Retorna un mensaje con la confirmación de que el proceso fue exitoso o una explicación del error en que caso contrario. Si
    contenido Arreglo de datos Devolverá el listado con los pedidos correspondientes a la fecha de búsqueda. Si
  • número
  • Texto Campo único referente al número del pedido. Si
  • identificación
  • Texto Número de identificación del cliente. Si
  • nombres
  • Texto Nombres del cliente. Si
  • apellidos
  • Texto Apellidos del cliente. Si
  • email
  • Texto Correo electrónico del cliente. Si
  • valor
  • Double Valor total por pagar del pedido. Si
  • descripción
  • Texto Descripción del pedido. Si
  • estado
  • Texto Estado en el que se encuentra el pedido: Pago pendiente, Autorizado, No autorizado. Si
  • fecha_pago
  • Date Contiene la fecha correspondiente al intento de pago. Si
  • auth_result
  • Texto Código de respuesta al realizar la transacción. Si
  • auth_code
  • Texto Código de respuesta al realizar la transacción. Si
  • error_code
  • Texto Código de respuesta al realizar la transacción. Si
  • tarjeta
  • Texto Número de la tarjeta enmascarada. Si
  • brand
  • Texto Marca de la tarjeta con la que se ha realizado la transacción. Si
    
    Ejemplo de respuesta del servicio
    
    {
      "estado": 0,
      "mens": "OK",
      "contenido": [
        {
          "numero": "000068874",
          "identificacion": "1268-0914598784",
          "nombres": "CHIRIGUAYA SORIANO GABRIEL ENRIQUE",
          "apellidos": "S/N",
          "email": "S/N",
          "valor": "323.23",
          "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
          "estado": "Pago pendiente",
          "fecha_pago": null,
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        },
        {
          "numero": "000068873",
          "identificacion": "1267-0911180875",
          "nombres": "FERNANDEZ MALNATI DANIELA MARIA",
          "apellidos": "S/N",
          "email": "S/N",
          "valor": "841.17",
          "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
          "estado": "Pago pendiente",
          "fecha_pago": null,
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        },
        {
          "numero": "000068870",
          "identificacion": "1266-0918034216",
          "nombres": "CABEZAS GARCIA GABRIELA",
          "apellidos": "S/N",
          "email": "S/N",
          "valor": "1298.54",
          "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
          "estado": "Pago pendiente",
          "fecha_pago": null,
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        },
        {
          "numero": "000068869",
          "identificacion": "1265-0912894979",
          "nombres": "ABAD BAUS DIANA DOMENICA",
          "apellidos": "S/N",
          "email": "S/N",
          "valor": "143.05",
          "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
          "estado": "Pago pendiente",
          "fecha_pago": null,
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        },
        {
          "numero": "000068868",
          "identificacion": "1262-0911180875",
          "nombres": "FERNANDEZ MALNATI DANIELA MARIA",
          "apellidos": "S/N",
          "email": "S/N",
          "valor": "841.17",
          "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
          "estado": "Pago pendiente",
          "fecha_pago": null,
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        },
        {
          "numero": "000068867",
          "identificacion": "0926937455",
          "nombres": "PPPpppppppppppp",
          "apellidos": "OEOEOEOE",
          "email": "pruebas@gmail.com",
          "valor": "600.00",
          "descripcion": "p",
          "estado": "Autorizado",
          "fecha_pago": "2020-01-08 21:10:50",
          "auth_result": null,
          "auth_code": null,
          "error_code": null,
          "tarjeta": null,
          "brand": null
        }
      ]
    }
                    

    API Crear Solicitud de Pago

    Autenticación básica necesaria para consumir los servicios


    Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

    Crear solicitud de pago


    Este servicio permite crear un pedido y retorna como resultado el enlace para realizar la solicitud de pago. Para este servicio se deben enviar en el request los datos del pedido, los cuales son: el identificador del comercio, los datos del cliente al cual se le va a realizar la solicitud de pago y el monto total del pago.

    Datos de entrada del servicio


    En la tabla que sigue se describen cada uno de los campos de entrada del servicio:

    PARÁMETROS

    Parámetro Tipo Descripción Requerido
    idCommerce Texto Identificador del comercio Si
    identificacion Texto Número de identificación del cliente Si
    nombres Texto Nombres del cliente Si
    apellidos Texto Apellidos del cliente Si
    email Texto Correo electrónico del cliente Si
    telefono Texto Número de teléfono del cliente Si
    direccion Texto Dirección del cliente Si
    descripcion Texto Descripción de la solicitud de pago No
    montoBase12 Número Valor del monto base 12 del pago No
    totalIva Número Valor del IVA calculado a partir del monto base 12 No
    montoBase0 Número Valor del monto base 0 del pago No
    valorPago Número Valor total del pago Si
    
    # Ejemplo de request del servicio en formato JSON
    {
      "idCommerce": "11956",
      "nombres": "Cliente Prueba",
      "apellidos": "Prueba",
      "identificacion": "0987567780",
      "email": "clienteprueba@example.com",
      "telefono": "09887665",
      "direccion": "Calle A #256",
      "descripcion": "Solicitud de pago pendiente",
      "montoBase12": "0.00",
      "montoBase0": "2.50",
      "totalIva": "0.00",
      "valorPago": "2.50"
    }
                    

    Datos de Salida del servicio

    Parámetro Tipo Descripción Requerido
    estado Texto Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
    mens Texto Retorna un mensaje con la confirmación de que el proceso fue exitoso o una explicación del error en que caso contrario. Si
    contenido Texto En el campo se devuelve el link de la solicitud de pago. Si
    
    Ejemplo de respuesta del servicio
    
    {
      "estado": 0,
      "mens": "OK",
      "contenido": "https://redypago.page.link/XCDvoM1aetNFSeac7"
    }
                    

    API Consultar Estado de Solicitud

    Autenticación básica necesaria para consumir los servicios


    Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

    Obtener el estado de una solicitud


    El servicio recibe un link de pago mediante el cual se obtiene el token, devolviendo como resultado el pedido.

    Datos de entrada del servicio


    En la tabla que sigue se describen cada uno de los campos de entrada del servicio:

    PARÁMETROS

    Parámetro Tipo Descripción Requerido
    link_pago Texto Link de pago que proporciona el token de registro del pedido Si
    
    # Ejemplo de request del servicio en formato JSON
    {
      "link_pago": "https://app.redypago.com/payments/t?token=2y-13-6ejfsy88lsubirvm62vvbuvjypeliznry8ycqxucpcxd8tquhuixi1580159986"
    }
                    

    Datos de Salida del servicio

    Parámetro Tipo Descripción Requerido
    estado Texto Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
    mens Texto Retorna un mensaje con la confirmación de que el proceso fue exitoso o una explicación del error en que caso contrario. Si
    contenido Objeto En el campo se devuelve el resultado con el pedido que coincida con el link de pago. Si
  • número
  • Texto Campo único referente al número del pedido. Si
  • identificación
  • Texto Número de identificación del cliente. Si
  • nombres
  • Texto Nombres del cliente. Si
  • apellidos
  • Texto Apellidos del cliente. Si
  • email
  • Texto Correo electrónico del cliente. Si
  • valor
  • Double Valor total por pagar del pedido. Si
  • descripción
  • Texto Descripción del pedido. Si
  • estado
  • Texto Estado en el que se encuentra el pedido: Pago pendiente, Autorizado, No autorizado. Si
  • fecha_pago
  • Date Contiene la fecha correspondiente al intento de pago. Si
  • auth_result
  • Texto Código de respuesta al realizar la transacción. Si
  • auth_code
  • Texto Código de respuesta al realizar la transacción. Si
  • error_code
  • Texto Código de respuesta al realizar la transacción. Si
  • tarjeta
  • Texto Número de la tarjeta enmascarada. Si
  • brand
  • Texto Marca de la tarjeta con la que se ha realizado la transacción. Si
    
    Ejemplo de respuesta del servicio
    
    {
      "estado": 0,
      "mens": "OK",
      "contenido": {
        "numero": "000069974",
        "identificacion": "1350-0912030509",
        "nombres": "Figueroa Gender Hector",
        "apellidos": "S/N",
        "email": "figaro_shop@hotmail.com",
        "valor": "146.45",
        "descripcion": "PAGO ANUAL DE PREDIOS URBANOS Y ADICI.",
        "estado": "Pago pendiente",
        "fecha_pago": null,
        "auth_result": null,
        "auth_code": null,
        "error_code": null,
        "tarjeta": null,
        "brand": null
      }
    }
                    

    API Recurrentes

    Autenticación básica necesaria para consumir los servicios


    Para la funcionalidad del servicio el usuario debe enviar, su nombre de usuario y clave, utilizados en la versión web de RedyPago. Los datos de autenticación se deben enviar en el header de la petición de la siguiente forma: Authorization: Basic user:pass. Además, el valor user:pass debe ir cifrados en Base64.

    PARÁMETROS

    Parámetro Descripción Requerido
    Authorization Basic user:pass Si
    Content-Type application/json Si
    Valor Tipo Descripción
    user VARCHAR Corresponde al email de acceso a Redypago
    pass VARCHAR Corresponde a la contraseña de acceso a Redypago

    PARÁMETROS DE ENTRADA DE LA PETICIÓN

    Parámetro Tipo Long Descripción Requerido
    nombre VARCHAR 200 Nombre del cliente SI
    cedula VARCHAR 15 Identificación del cliente SI
    codigo_usuario VARCHAR 200 Código del usuario SI
    plan_cliente VARCHAR 500 Plan del cliente SI
    ciclo VARCHAR 1 Posibles valores (S = Semanal, M = Mensual, Q = quincenal). Este valor es sólo para contratos fijos. NO
    dia VARCHAR 15 Si el ciclo es semanal valores (lunes, martes, miercoles, jueves, viernes, sabado, domingo), si el ciclo es mensual los posibles valores (días del mes). En caso de que sea quincenal valor (15). Este valor es sólo para contratos fijos. NO
    tipo VARCHAR 15 Tipo de contrato, posibles valores(fijo, variable). SI
    form_base12 VARCHAR 24 Valor del monto que tiene iva. Debe ser un valor numérico de 2 decimales. SI
    form_base0 VARCHAR 24 Valor del monto que no tiene iva. Debe ser un valor numérico de 2 decimales. SI
    iva VARCHAR 24 Valor de IVA. Debe ser un valor numérico de 2 decimales. SI
    monto_total VARCHAR 24 Monto total de pago. Debe ser un valor numérico de 2 decimales. SI
    num_tarjeta VARCHAR 24 Número de la tarjeta, esta tarjeta se guarda encriptada PGP utilizando la llave configurada para recurrente en la empresa del usuario que se autentica en el servicio. SI
    fec_expiracion VARCHAR 20 Fecha de caducidad de la tarjeta se debe ingresar en el siguiente formato. (yyyy-mm-dd). Ej: 2025-12-01 SI
    cvNumber VARCHAR 5 Código de la tarjeta. SI
    moneda_ident VARCHAR 5 Identificador de la moneda. Debe ser la moneda asociada al país.(USD, GTQ). SI
    
    # Ejemplo de request del servicio en formato JSON
    {
        "nombre": "Juan",
        "cedula": "0967890088",
        "codigo_usuario": "3467",
        "plan_cliente": "Pago mensual",
        "ciclo": "M",
        "dia": "31",
        "tipo": "fijo",
        "form_base12": "0.00",
        "form_base0": "800.00",
        "iva": "0.00",
        "monto_total": "800.00",
        "num_tarjeta": "48595100000051",
        "fec_expiracion": " 2025-12-01",
        "cvNumber": "365",
        "moneda_ident": "USD",
    }
    
                    

    PARÁMETROS DE SALIDA DE LA PETICIÓN

    Parámetro Tipo Long Descripción Requerido
    estado VARCHAR 11 Devuelve ‘OK’ si el pedido se ha realizado exitosamente, caso contrario devolverá ‘ERROR’. Si
    mens VARCHAR 200 Retorna un mensaje con la confirmación del proceso existo o una explicación del error en que caso de haber. Si
    contenido INT 11 Retorna 0. Si
    
    Ejemplo de respuesta del servicio
    
    {
        "estado":"OK",
        "mens": "Se inserta el contrato recurrente correctamente",
        "contenido":""
    }