Skip to content

Genera los formularios para la integración de la pasarela de pago de sistemas CECA

Notifications You must be signed in to change notification settings

josevavia/Ceca-TPV

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CECA TPV

Este script te permitirá generar los formularios para la integración de la pasarela de pago de sistemas CECA

Ejemplo de pago instantáneo

# Sólo incluimos el autoload si la instalación no se realiza a través de Composer

include (__DIR__.'/src/autoload.php');

# Incluye tu arquivo de configuración (copia config.php para config.local.php)

$config = require (__DIR__.'/config.local.php');

# Cargamos la clase con los parámetros base

$TPV = new Ceca\Tpv\Tpv($config);

# Indicamos los campos para el pedido

$TPV->setFormHiddens(array(
    'Num_operacion' => '012121323',
    'Descripcion' => 'Televisor de 50 pulgadas',
    'Importe' => '568,25',
    'URL_OK' => 'http://dominio.com/direccion-todo-correcto/',
    'URL_NOK' => 'http://dominio.com/direccion-error'
));

# Imprimimos el pedido el formulario y redirigimos a la TPV

echo '<form action="'.$TPV->getPath().'" method="post">'.$TPV->getFormHiddens().'</form>';

die('<script>document.forms[0].submit();</script>');

Si tenemos habilitada la opción de "Comunicación on-line OK" el TPV se comunicará con nuestra web a través de la URL indicada en "URL online OK" que permitirá verificar y validar el pago.

Este script no debería ser accesible a través de links y sólo responderá el código utilizado por CECA para la "Respuesta requerida OK".

El banco siempre sólo se comunicará con nosotros a través de esta url si ha validado la tarjeta, y estará pendiente de nuestra respuesta para autorizar el cargo.

Podemos realizar un script (Lo que en el ejemplo sería http://dominio.com/direccion-control-pago) que valide los pagos de la siguiente manera:

include (__DIR__.'/src/autoload.php');

# Incluye tu arquivo de configuración (copia config.php para config.local.php)

$config = require (__DIR__.'/config.local.php');

# Cargamos la clase con los parámetros base

$TPV = new Ceca\Tpv\Tpv($config);

# Realizamos la comprobación de la transacción

try {
    $TPV->checkTransaction($_POST);
} catch (\Exception $e) {
    file_put_contents(__DIR__.'/logs/errores-tpv.log', $e->getMessage(), FILE_APPEND);
    die();
}

# Actualización del registro en caso de pago

$order = Orders::where('referencia', $_POST['Num_operacion'])->firstOrFail();

$order->referencia = $_POST['Referencia'];
$order->fecha_pago = date('Y-m-d H:i:s');

$order->save();

# Finalizamos con la respuesta del código de todo correcto

die($TPV->successCode());

Más información sobre la integración del TPV en:

About

Genera los formularios para la integración de la pasarela de pago de sistemas CECA

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%