elavon / tpv
用于连接 Elavon TPV (Santander) 的包
v1.3
2016-10-21 12:18 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-09-11 14:16:49 UTC
README
此脚本允许您生成 Elavon(Santander)支付网关的集成表单。
安装
通过 composer 添加依赖项:"elavon/tpv": "1.*"
composer update
或包含包的自动加载器
require __DIR__.'/elavon-tpv/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 Elavon\Tpv\Tpv($config); # Indicamos los campos para el pedido $TPV->setFormHiddens(array( 'ORDER_ID' => '012121323', 'AMOUNT' => '568,25' )); # Rellenamos el formulario de pedido y redirigimos al TPV echo '<form action="'.$TPV->getFormAction().'" method="post">'.$TPV->getFormHiddens().'</form>'; die('<script>document.forms[0].submit();</script>'); # O bien si quieres el formulario completo pero no quieres redirección echo $TPV->getFormFull(); # O bien si quieres el formulario completo y que realice la redirección al TPV (igual que la primera opción) die($TPV->getFormFullWithRedirect());
为了进行支付控制,TPV将通过在银行面板中配置的 URL 与我们通信。
此脚本将不可见且不应做出任何响应,仅用于验证支付。
银行始终将通过此 URL 与我们通信,无论正确与否。
我们可以编写一个脚本(在示例中为 http://dominio.com/direccion-control-pago),以以下方式验证支付:
# 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 Elavon\Tpv\Tpv($config); # Realizamos la comprobación de la transacción try { $datos = $TPV->checkTransaction($_POST); $success = true; $message = ''; } catch (Exception $e) { $datos = $_POST; $success = false; $message = $e->getMessage(); } # Actualización del registro en caso de pago (ejemplo Laravel) if (empty($datos['ORDER_ID'])) { Log::error('No se ha recibido el identificador de pedido'); exit; } try { $order = Order::findOrFail($datos['ORDER_ID']); } catch (Exception $e) { Log::error('El pedido indicado no existe'); exit; } $order->tpv_post = json_encode($_POST); $order->tpv_datos = json_encode($datos); $order->tpv_respuesta = $datos['RESULT']; $order->tpv_mensaje = $datos['MESSAGE']; $order->save(); return $success ? view('tpv-ok') : view('tpv-ko');
如果您想了解更多关于参数或选项的信息,Google 可以帮助您https://www.google.es/search?q=manual+instalaci%C3%B3n+santander+php+filetype%3Apdf