epagado / gateway
用于连接 Epagado Gateway 的软件包
1.0.3
2024-01-19 09:40 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: ^10.5
README
此脚本允许您生成用于集成 Epagado 支付网关的表单。
安装
通过 composer 添加依赖
composer require epagado/gateway
即时支付示例
此过程用于即时支付,无需未来确认(TransactionType = 0)
# 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 $EP = new Epagado\Gateway($config); # Indicamos los campos para el pedido $EP->setFormHiddens(array( 'Order' => '012121323', 'Amount' => '568,25', 'UrlOK' => 'http://dominio.com/direccion-todo-correcto/', 'UrlKO' => 'http://dominio.com/direccion-error', 'UrlResp' => 'http://dominio.com/direccion-control-pago' )); # Imprimimos el pedido el formulario y redirigimos a la TPV echo '<form action="'.$EP->getPath().'" method="post">'.$EP->getFormHiddens().'</form>'; die('<script>document.forms[0].submit();</script>');
为了进行支付控制,Epagado将通过在 UrlResp 中指定的 URL 与商家进行通信。
此脚本不可见,也不需要响应任何内容,只需验证支付。
Epagado 总是通过此 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 $EP = new Epagado\Gateway($config); # Realizamos la comprobación de la transacción try { $datos = $EP->checkTransaction($_POST); $success = true; $message = ''; } catch (Exception $e) { $datos = $EP->getTransactionParameters($_POST); $success = false; $message = $e->getMessage(); } # Actualización del registro en caso de pago (ejemplo usando mi framework) $Db->update(array( 'table' => 'tpv', 'limit' => 1, 'data' => array( 'pagado' => $success, 'mensaje' => $message, 'fecha_pago' => date('Y-m-d H:i:s'), 'variables' => json_encode($datos), 'post' => json_encode($_POST) ), 'conditions' => array( 'id' => $datos['EP_Order'] ) )); die();