Developer

Última actualización: 27 de mayo de 2020

Objetivo

Brindar información detallada y concreta para que el comercio afiliado pueda conectarse e interactuar con todas las funciones del sistema de pagalocard.

Requerimientos del sistema

1. Registrarse con datos reales de la empresa en la plataforma central Registrarme.

2. Verificar que los dominios de págalocard no estén bloqueados (proxi, firewall, etc.).

3. Tener claro el concepto para la modalidad de trabajo de la empresa, CyberSource o EPAY:

  • CyberSource: Sistema de seguridad antifraude para pasarelas de pagos.
  • EPAY: Pasarela de pagos básica.

4. Solicitar el modo TEST a soporte técnico por medio del correo para que puedan realizar pruebas en la integración

5. Debe tomar nota de los siguientes requisitos obligatorios para la evaluación de la página:

Requisitos obligatorios
# DESCRIPCIÓN
1 Poseer Software de Comercio Electrónico
2 Nombre/Proveedor del Software
3 Servicio de Hosting Propio o Contratado
4 Certificado de Seguridad
5 Validar si el número de tarjeta es válida utilizando el Algoritmo Luhn
6 Verifica si la fecha de expiración de la tarjeta es válida
7 Comprobante de pago y anulación de las transacciones
8 No guarda ningún dato sensible de la tarjeta (CVV, fecha de expiración)
9 Captcha o ReCaptcha V3
10 Dirección IP pública del servidor de producción
11 URL sitio de Producción https://
12 Cumplimiento del top 10 de reglas de OWASP

Descarga

URL API

Cyber Source

solo los clientes Premium que no cuente con llave propia pueden utilizar este Link.

EPAY

solo los clientes Premium pueden utilizar este link con llave propia EPAY o utilizando la llave EPAY de Pagalo.

Credenciales para integración

IdenEmpresa
  • Dato enviado por los administradores de págalocard, al validar su usuario. Para identificar el idenEmpresa: Letra+9 Números Ej.: “c564852135”.
Token Empresa
  • Dato enviado por los administradores de págalocard, al validar su usuario. Para identificar el Token: Letras y Números de 20 caracteres.
Key Secret y Pública
  • Dato enviado por los administradores de págalocard, al validar su usuario.

Nota:

Toma en cuenta que las credenciales que utilices sean las del entorno correcto (live, test)

Tipos de credenciales

Live
  • las credenciales live las deben de solicitar a soporte técnico, pero cuando termine con la integración y que soporte haya terminado la evaluación de seguridad del sitio web.
Test
  • las credenciales test las puede generar con su cuenta de págalo y no hay ningún problema al utilizarlo porque todo cobro que realice será de pruebas.

Parámetros necesarios para la empresa

A continuación, se muestra los campos que se necesita para la empresa, estos parámetros son obligatorios.
PARÁMETRO DESCRIPCIÓN TIPO REQ
Key_secret Key proporcionada por Pagalo string SI
Key_public Key proporcionada por Pagalo string SI
IdenEmpresa Identidad de la empresa string SI
Ejemplo:
   
      {
         "idenEmpresa": "B44823229",
         "key_public" :  "TYy46vvpH002w7s0TewK5ltdYkq1pz0zLOjQur",
         "key_secret" :  "0HuZXIteXuUtc00rba2IUTUSiSI6wC4FoEXfQv",
      }
   

Enviar el array convertido a JSON, en algunos lenguajes se utiliza json encode:

Ejemplo:
   
      {
         "empresa":"{
            \"key_secret\":\"E0qDeQBuCmdMYmI0hBSni74RMpebzeJDD0Jm\",
            \"key_public\":\"23l1oHOgEhLRSclyeN1fAD5UBxSNl NIR4iDuqMbs\",
            \"idenEmpresa\":\"P111321201\"
         }",
      }
    

Parámetros necesarios para el cliente

A continuación, se muestra los campos que se necesita para el cliente, estos parámetros son obligatorios.
PARÁMETRO DESCRIPCIÓN TIPO REQ
firstName Nombre del cliente string SI
lastName Apellido del cliente string SI
street1 Dirección del envío string SI
country Abreviatura del país según iso 2 (GT, US, MX, etc.) string SI
city Ciudad o departamento del país string SI
state Estado o Municipio de la ciudad string SI
postalCode Código postal string SI
email Correo electrónico del cliente string SI
ipAddress IP del cliente string SI
phone Teléfono del cliente integer SI
total Total de la venta double SI
fecha_transaccion Fecha del momento de transacción Date "AAAA-MMDD HH:MM:SS" SI
deviceFingerprintID Huella digital string SI

¿Qué es el deviceFingerprintID?

Es la huella digital del dispositivo que realiza la transacción. Es un dato muy importante que se tiene en cuenta en el proceso de validación cuando se utiliza Cybersource. Si el comercio utiliza nada mas Paymen GateWay no es indispensable para realizar las transacciones. Para obtenerlo hay que incluir en el formulario de pago el segmento de código que se proporcionan a continuación.

Ejemplo:
   
      
   

Parámetros necesarios para diveceFingerprintID:

MerchantID: Utiliza "visanetgt_jupiter" cuando se está utilizando la llave de pagalo, en caso contrario utilizar el merchantID de la llave propia.

Environment: “test”/”live” Adicionalmente incluir el cybs_devicefingerprint.js al formulario de pago. Puede descargar el archivo aquí

Nota:

Recuerde que el DeviceFingerPrint es obligatorio únicamente si utiliza CyberSource, en el caso de utilizar EPAY no es necesario agregarlo en el arreglo. Adicional si trabaja bajo una llave propia de CyberSource contacte a PagaloCard para que puedan brindarle su merchanID , ya este se basa en su afiliación propia.

Ejemplo:
   
      $cliente = array(
         'firstName'     => Jhon,
         'lastName'      => 'Peter,
         'street1'       => '12 Avenida Zona 15',
         'country'       => 'Guatemala',
         'city'          => 'Ciudad de Guatemala',
         'state'         => 'Guatemala',
         'postalCode'    => '01015',
         'email'         => 'peterjsz@gmail.com',
         'ipAddress'     => '192.168.1.45',
         'Total'         => '70.00 ',
         'fecha_transaccion'   => '2017-08-31 09:05:00 ',
         'deviceFingerprintID' => 'ASDF32RDSF23DSFA32',
      );
   

Enviar el array convertido a JSON, en algunos lenguajes se utiliza json encode, realizarlo como el ejemplo de EMPRESA.

Parámetros necesarios del producto y/o items

A continuación, se muestra los campos que se necesita para ingresar productos, estos parámetros son obligatorios.
PARÁMETRO DESCRIPCIÓN TIPO REQ
id_producto SKU o ID único para identificar el producto string SI
nombre Nombre del producto string SI
precio Precio del producto double SI
cantidad Cantidad del producto integer SI
tipo Tipo de Producto (producto, servicio,reserva) string SI
subtotal Precio x cantidad del producto double SI
Ejemplo:
   
      $detalle = [];

      foreach($productos as $producto) {
         $detalle[] = array(
         'id_producto' => 'P01',
         'cantidad'    => '2',
         'tipo'        => 'producto',
         'nombre'      => 'Hamburguesa',
         'precio'      => '35.00',
         'Subtotal'    => '70.00');
      }
   

Enviar el array convertido a JSON, en algunos lenguajes se utiliza json encode, realizarlo como el ejemplo de EMPRESA.

PARÁMETROS NECESARIOS DE LAS TARJETAS

A continuación, se muestra los campos que se necesita para ingresar la tarjeta, estos parámetros son obligatorios.
PARÁMETRO DESCRIPCIÓN TIPO REQ
nameCard Nombre de la tarjeta string SI
accountNumber Número de la tarjeta number SI
expirationMonth Mes de fecha de vencimiento number (2 dígitos) SI
expirationYear Año de fecha de vencimiento number (4 dígitos) SI
CVVcard CVV de Seguridad number (3 o 4 dígitos) SI
Ejemplo:
   
      $tarjetaPagalo = array(
         'nameCard'=> mb_convert_encoding('Jupiter tech', 'HTML-ENTITIES'),
         'accountNumber'=> '4000000000000000',
         'expirationMonth'=> '12',
         'expirationYear'=> '2022',
         'CVVCard'=> '123',
      );
   

Enviar el array convertido a JSON, en algunos lenguajes se utiliza json encode, realizarlo como el ejemplo de EMPRESA.

Nota:

Pueden descargar el archivo php de la conexión de la integración al sistema de págalo aquí.

Ejemplos

Modalidad API VIA Método
LIVE/TEST https://app.pagalocard.com/api/v1/integracion/{tokenempre} CyberSource POST
EJEMPLO - TRANSACCIÓN - CYBERSOURCE
   
      { "empresa":"{\"key_secret\":\"E0qDeQBuCmdMYgULzmI0hBSni74RMpebzeJDD0Jm\",
                     \"key_public\":\"23l1oHOgEhLRSclyeN1fAD5UBxSNlNIR4iDuqMbs\",
                     \"idenEmpresa\":\"P111321201\"}",
        "cliente":"{\"codigo\":\"0001\",
                     \"firstName\":\"Jhon\",
                     \"lastName\":\"Peter\",
                     \"street1\":\"12-45 Z.15, Guatemala\",
                     \"country\":\"GT\",
                     \"city\":\"Guatemala\",
                     \"state\":\"GT\",
                     \"email\":\"peterjsz@gmail.com\",
                     \"ipAddress\":\"172.16.10.30\",
                     \"Total\":2,
                     \"currency\":\"GTQ\",
                     \"fecha_transaccion\":null,
                     \"postalCode\":\"01009\",
                     \"phone\":\"2300\",
                     \"deviceFingerprintID\":\"1536014945757\"}",
        "tarjetaPagalo": "{\"nameCard\":\"Jhon Peter\",
                           \"accountNumber\":\"454881204940004\",
                           \"expirationMonth\":\"12\",
                           \"expirationYear\":\"2020\",
                           \"CVVCard\":502}",
        "detalle":"[{\"id_producto\":\"P1\",
                     \"cantidad\":\"1\",
                     \"tipo\":\"producto\",
                     \"nombre\":\"Consola de videojuegos\",
                     \"precio\":4000,
                     \"Subtotal\":4000}]"
      }
    
Modalidad API VIA Método
LIVE/TEST https://app.pagalocard.com/api/v1/integracionpg/{tokenempre} EPAY POST
EJEMPLO - TRANSACCIÓN – EPAY
   
      { "empresa":"{\"key_secret\":\"E0qDeQBuCmdMYgULzmI0hBSni74RMpebzeJDD0Jm\",
                     \"key_public\":\"23l1oHOgEhLRSclyeN1fAD5UBxSNlNIR4iDuqMbs\",
                     \"idenEmpresa\":\"P111321201\"}",
        "cliente":"{ \"firstName\":\"Jhon\",
                     \"lastName\":\"Peter\",
                     \"street1\":\"12-45 Z.15, Guatemala\",
                     \"phone\":\"475674657\",
                     \"country\":\"Guatemala\",
                     \"city\":\"Guatemala\",
                     \"state\":\"Guatemala\",
                     \"postalCode\":\"01009\",
                     \"email\":\"peterjsz@gmail.com\",
                     \"ipAddress\":\"172.16.10.30\",
                     \"Total\":2,
                     \"fecha_transaccion\":{\"date\":\"2018-07-24 17:24:50.703550\"},
                     \"timezone_type\":3,
                     \"timezone\":\"America\\\"/Guatemala\",
                     \"currency\":\"GTQ\"}",
         "detalle":"[{\"id_producto\":\"P1\",
                     \"cantidad\":\"1\",
                     \"tipo\":\"producto\",
                     \"nombre\":\"Consola de videojuegos\",
                     \"precio\":4000,
                     \"Subtotal\":4000}]"
        "tarjetaPagalo": "{\"nameCard\":\"Jhon Peter\",
                           \"accountNumber\":\"400000000000416\",
                           \"expirationMonth\":\"01\",
                           \"expirationYear\":\"2021\",
                           \"CVVCard\":4567}"
      }
    

Códigos de Respuesta

CODIGO DESCRIPCIÓN
Descripción Descripción de la tarjeta
reasonCode Código de error cuando la tarjeta es rechazada
requestID Id de la transacción
codigo_respuesta Código de aprobación o REJECT
respuesta Descripción de la respuesta
id_transacción Código de validación de la transacción
Sku_products Arrays de los ids de productos que recibieron el pago
time_transaccion Horario de la transacción enviada del servidor Págalo
Estado Estado de la transacción
CyberSource
CODIGO DESCRIPCIÓN
100 Transacción aprobada.
101 Transacción rechazada, falta uno o dos campos en la solicitud.
102 Datos de la solicitidud invalidos.
104 Transacción rechazada, intente nuevamente.
110 Transacción no aprobada, intente nuevamente.
150 Transacción invalida, contacte a soporte.
151 Time out.
152 Time out. Contacte a soporte.
200 Transacción rechazada, contacte a soporte.
201 Transacción rechazada, contacte a soporte.
202 Tarjeta vencida ó fecha de la tarjeta invalida.
203 Transacción rechazada, contate a su banco.
204 Fondos insuficientes.
205 Tarjeta reportada como robada o perdida.
207 Transacción rechazada, contacte a su banco.
208 La tarjeta o tarjeta inactiva no está autorizada para transacciones que no están presentes en la tarjeta.
209 CVV no valido.
210 Fondos insuficientes.
211 CVV no valido.
220 Transacción rechazada, intente nuevamente si persiste contate a soporte.
221 Transacción invalida. Contacte a soporte.
222 Transacción rechazada. Contacte a su banco.
230 Trate nuevamente, el sistema no reconocio CVV.
231 Número de tarjeta invalido
232 Tipo de tarjeta no valida, intente con otra tarjeta o contacte a soporte para detalles.
233 Transacción invalida. Intente nuevamente.
234 Credenciales invalidas, contacte a soporte.
235 Fondos insuficientes.
236 Transacción invalida, contacte a soporte.
237 Transacción invalida, contacte a soporte.
238 Transacción invalida, contacte a soporte.
240 Tarjeta invalida.
250 Time out.
251 Insuficiente información del cliente/dirección
254 Transacción invalida, contacte a soporte.
461 Datos no validos, contacte a soporte.
481 Transacción rechazada posiblemente por varios intentos, contacte a soporte para mas detalles
EPAY
CODIGO DESCRIPCIÓN
00 Transacción aprobada.
01 Contacte a su banco emisor.
02 Contacte a su banco emisor.
03 Credenciales invalidas, contacte a soporte.
04 Contacte a su banco emisor.
05 Contacte a su banco emisor. Posible visacuota sin permisos del banco emisor.
07 Transacción rechazada, retener tarjeta.
12 Transacción invalida, intente nuevamente.
13 Fondos insuficientes.
14 Número de tarjeta invalido.
15 Credenciales invalidas, contacte a soporte.
19 Intenta nuevamente.
25 Credenciales invalidas, contacte a soporte.
30 Faltan datos obligatorios que enviar, contacte a soporte.
31 Error al validar campos de la tarjeta
35 Tarjeta invalida.
36 Transacción invalida, intente nuevamente.
41 Tarjeta reportada como perdida o robada.
43 Tarjeta reportada como perdida o robada.
51 Fondos insuficientes.
54 Tarjeta de fecha expirada.
58 Transacción rechazada, intente de nuevo.
61 Fondos insuficientes.
62 Tarjeta sin permisos, contacte su banco emisor.
65 Transacción invalida, contacte a soporte. Monto de afiliación.
78 Credenciales invalidas, contacte a soporte.
85 Transacción invalida, intente nuevamente.
89 Credenciales invalidas, contacte a soporte.
91 Emisor NO Disponible - TIME OUT
96 Transacción rechazada, contacte a soporte.