Ronald Antonio Ramos Malca

Ronald Antonio Ramos Malca

blog / izi-pay-pago-incrust...

 Php   |    10m

IZI PAY - Pago Incrustado (Embedded Payment)

IZIPAY es un método de pago en línea que te permite procesar transacciones financieras directamente desde tu sitio web. Es una solución integrada que permite a tus clientes realizar pagos de manera conveniente sin salir de tu página

1.2k

Visitas.
1.3k

Me gustas.
Descripción

Integración de IZIPAY

Para integrar IZIPAY en tu sitio web, sigue estos pasos:

  1. Regístrate en IZIPAY y obtén tus claves de acceso.
  2. Descarga el SDK de PHP de IZIPAY y configura las claves en tu aplicación. Esto se puede hacer en un archivo como `keys.php`.
  3. Crea un formulario de pago en tu página web. Puedes usar JavaScript para cargar dinámicamente el formulario de pago de IZIPAY en tu sitio.
  4. Maneja la respuesta de IZIPAY después de que se complete la transacción. Puedes utilizar un archivo como `respuesta.php` para procesar la respuesta y actualizar tu base de datos según sea necesario.

Ejemplo de Código

A continuación, se muestra un ejemplo de cómo podría ser la integración de IZIPAY en una página web:

Configuración de Claves (keys.php)

<?php
/ ** * Consigue el cliente * /
require_once __DIR__ . '/rest-php-sdk-master/src/autoload.php';

/** * Define configuration */

/* Username, password y endpoint utilizados para llamadas web de servidor a servidor */
//(En el Back Office) Copiar Usuario
Lyra\Client::setDefaultUsername("55579682");
//(En el Back Office) Copiar Contraseña de test
Lyra\Client::setDefaultPassword("testpassword_lJW13iYDE9nwmrJD7M7rGXmdRaZzvpoTRwRScsDQmewfR");
//(En el Back Office) Copiar Contraseña de Nombre del servidor API REST
Lyra\Client::setDefaultEndpoint("https://api.micuentaweb.pe");

/* Clave pública utilizada por el cliente JavaScript */
//(En el Back Office) Copiar Clave pública de test
Lyra\Client::setDefaultPublicKey("55579682:testpublickey_wcgEPYT7gxPzUJEJE6HfnmbG18Hj8mMPBd2JUumwu8Lkn");

/* Clave SHA256 */
//(En el Back Office) Clave HMAC-SHA-256 de test
Lyra\Client::setDefaultSHA256Key("Yga5AOlU5qomnyEj3EQvwMvpotybpd7q4Yk0z9ZZtUaJQ");
?>
        

Integración del Formulario de Pago (pagoIncrustado.php)

Incluir este codigo en el inicio, antes del html

<?php
/** * Inicializar el PHP SDK */
require_once __DIR__ . '/rest-php-sdk-master/src/autoload.php';
require_once __DIR__ . '/keys.php';

/** * Inicializar el SDK * ver keys.php */
$client = new Lyra\Client();

/** * Creo un formToken * **/
$store = array("amount" => 1800, 
"currency" => "PEN", 
"orderId" => uniqid("MyOrderId"),
"customer" => array( "email" => "sample@example.com" ));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* Compruebo si hay algunos errores */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage'] );
}

/* todo está bien, extraigo el formToken */ 
$formToken = $response["answer"]["formToken"];

?>

Configuración en el html

 
 
  
  
   

  
  
  

  
  
  
  


  
  

Respuesta de IZIPAY

Después de que un cliente complete una transacción, IZIPAY enviará una respuesta que puedes procesar en tu servidor. Aquí tienes un ejemplo de cómo manejar la respuesta:

Configuración de la respuesta (respuesta.php)

<?php
/** *Inicializo el SDK de PHP */
require_once __DIR__ . '/rest-php-sdk-master/src/autoload.php';
require_once __DIR__ . '/keys.php';

/** * Inicializa el SDK * ver keys.php */ 
$client = new Lyra\Client();
//$_POST['kr-hash']= 'Yga5AOlU5qomnyEj3EQvwMvpotybpd7q4Yk0z9ZZtUaJQ';

/* Comprobar la firma mediante contraseña */

if (!$client->checkHash()) {
    // algo va mal, probablemente un fraude...
    signature_error($formAnswer['kr-answer']['transactions'][0]['uuid'], $hashKey, 
                    $client->getLastCalculatedHash(), $_POST['kr-hash']);
    throw new Exception('Firma inválida');
}

$rawAnswer = $client->getParsedFormAnswer();
$formAnswer = $rawAnswer['kr-answer'];

/* Obtener el ID de transacción de los datos de IPN */
$transaction = $formAnswer['transactions'][0];

/* Obtener algunos parámetros de la respuesta */
$orderStatus = $formAnswer['orderStatus'];
$orderId = $formAnswer['orderDetails']['orderId'];
$transactionUuid = $transaction['uuid'];

echo json_encode($formAnswer);

?>

Esperamos que esta guía te haya ayudado a comprender cómo integrar IZIPAY en tu sitio web. Si tienes alguna pregunta o necesitas más información, no dudes en contactarnos.


Comenta este post!

Que te parecio este blog?

Comentarios: