Desencriptación de datos

ebipay_full_azul-1

Implementación API

ebi for Developers

Descargar Manual

Otros manuales

3 Desencriptación de datos

¡Bienvenido!

El comercio debe de contar con los siguientes datos para realizar el proceso de desencriptación de la respuesta obtenida por el API:

Bullets Personalizados
  • IVC: IV de empresa
  • CST: clave seguridad transacción

IV de Comercio (IVC)

Para obtener esta llave, debe ingresar al módulo de reportería de “ebilink” con su usuario administrador.

Módulo de reportería ebilink

Desplegar la opción “ebi pay” y seleccionar la opción de Configuración. Acá encontrará la llave IVC en el campo “Token Único”.

ivc comercio

Clave de seguridad Transacción o CST

Para poder tener lectura de la respuesta se necesita una llave de seguridad, la cual puede solicitar al correo comercio@ebi.com.gt indicando el nombre del comercio afiliado.

Respuesta obtenida

Para este ejemplo se muestra un código para desencriptar los datos utilizando el lenguaje de programación PHP. Se deberá aplicar su equivalente para otro lenguaje de programación.

El comercio recibirá una respuesta encriptada como la siguiente:

Copiar Texto copiado Ajuste
        
Encriptado
Array
(
    [token] => 1622764146ffee7977
    [reference] => O5oIWrBaQFlvm9+Sii0khAvcd7oykGal7DsWpfskjGk=
    [audit] => GtcS8e3IkaNcZRc3UV8TSw==
    [code] => 00
    [amount] => VX77ifkcTXp+B4L7E2HaVw==
    [authorization] => ps+dRX0tfLBWz7Fje1vJFw==
    [link_code] => MzEXABt9mET3vDj1KL3fsw==
    [link_name] => 4tG9QxMmRpryNcD2y3bVXAQlJ2lQWvaZ/m6VyCV+jLD0S6HciISk5hDpOnfKYM4r
    [link_token] => XI4ykvaLM9KBrdY9ZisVg30ECo3ceIYIBQjI60MlK2k=
)
        
    
Bullets Personalizados
  • Token: Número único por transacción.
  • Reference: Número de referencia.
  • Audit: Número de auditoría.
  • Code: Código interno que identifica la transacción como exitosa o no.
  • Amount: Monto de la transacción.
  • Authorization: Numero de autorización.
  • Link_code: Corresponde al código Interno, es un número asignado por el comercio para identificar de forma interna al link.
  • Link_name: Corresponde al nombre interno, es una cadena de caracteres alfanuméricos asignada por el comercio para identificar de forma interna al link.
  • Link_token: Corresponde al token link, este lo genera la plataforma de forma automática al crear un nuevo link. Se usa para identificar el link de forma única.

Con las llaves IVC y CST se podrá continuar con el proceso de desencriptación, se adjunta un ejemplo básico requerido en PHP para obtener el valor que se necesita (el comercio debe de implementar sus respectivas reglas de seguridad a la hora de tener una lectura en sus URLs de respuesta configurados).

Copiar Texto copiado Ajuste

        
<?php
$key="AGREGAR LA LLAVE CST"; //Se agregar la llave CST correspondiente
$method="aes-256-cbc"; //Método para desencriptar la respuesta
$options=0;
$iv=base64_decode("AGREGAR LA LLAVE IVC"); //Se agrega la llave IVC correspondiente

//Capturar los parámetros del método POST
if (isset($_POST) && !empty($_POST)) {
    $token=$_POST['token'];
    $reference=$_POST['reference'];
    $audit=$_POST['audit'];
    $code=$_POST['code'];
    $amount=$_POST['amount'];
    $authorization=$_POST['authorization'];
    $linkCode=$_POST['link_code'];
    $linkname=$_POST['link_name'];
    $linktoken=$_POST['link_token'];
} else {
    $a="D5fI4y0Nt+D98xuEFL/tSg=="; //Parámetro aleatorio enviado para obtener alguna respuesta en caso no se cumpla lo anterior.
    $result=openssl_decrypt($a,$method,$key,$options,$iv);
    print_r($result);
    die();
}

//Desencriptar los parámetros obtenidos
$d_authorization=openssl_decrypt($authorization,$method,$key,$options,$iv);
$d_amount=openssl_decrypt($amount,$method,$key,$options,$iv);
$d_audit=openssl_decrypt($audit,$method,$key,$options,$iv);
$d_code=openssl_decrypt($code,$method,$key,$options,$iv);
$d_reference=openssl_decrypt($reference,$method,$key,$options,$iv);
$d_linkcode=openssl_decrypt($linkCode,$method,$key,$options,$iv);
$d_linkname=openssl_decrypt($linkname,$method,$key,$options,$iv);
$d_linktoken=openssl_decrypt($linktoken,$method,$key,$options,$iv);
?>