-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c386100
Showing
9 changed files
with
1,752 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
*.local.php | ||
/build | ||
/vendor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
Elavon TPV | ||
===== | ||
|
||
Este script te permitirá generar los formularios para la integración de la pasarela de pago de Elavon (Santander). | ||
|
||
## Instalación | ||
|
||
Añade las dependencias vía composer: `"elavon/tpv": "1.*"` | ||
|
||
```bash | ||
composer update | ||
``` | ||
|
||
O incluye el autoloader del paquete: | ||
|
||
```php | ||
require __DIR__.'/elavon-tpv/src/autoload.php'; | ||
``` | ||
|
||
## Ejemplo de pago | ||
|
||
```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' | ||
)); | ||
|
||
# Imprimimos el pedido el formulario y redirigimos a la TPV | ||
|
||
echo '<form action="'.$TPV->getFormAction().'" method="post">'.$TPV->getFormHiddens().'</form>'; | ||
|
||
die('<script>document.forms[0].submit();</script>'); | ||
``` | ||
|
||
Para realizar el control de los pagos, la TPV se comunicará con nosotros a través de la url configurada en el panel del propio banco. | ||
|
||
Este script no será visible ni debe responder nada, simplemente verifica el pago. | ||
|
||
El banco siempre se comunicará con nosotros a través de esta url, sea correcto o incorrecto. | ||
|
||
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: | ||
|
||
```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); | ||
|
||
# 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'); | ||
``` | ||
|
||
Si deseas más información sobre parámetros u opciones, Google puede echarte una mano https://www.google.es/search?q=manual+instalaci%C3%B3n+santander+php+filetype%3Apdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"name": "elavon/tpv", | ||
"keywords": ["tpv", "elavon", "santander"], | ||
"description": "Package to connect with Elavon TPV (Santander)", | ||
"license": "MIT", | ||
"authors": [ | ||
{ | ||
"name": "Lito", | ||
"email": "lito@eordes.com" | ||
} | ||
], | ||
"require": { | ||
"php": ">=5.3" | ||
}, | ||
"require-dev": { | ||
"phpunit/phpunit": "4.*" | ||
}, | ||
"autoload": { | ||
"psr-4": { | ||
"Elavon\\Tpv\\": "src/Elavon/Tpv/" | ||
} | ||
}, | ||
"minimum-stability": "stable" | ||
} |
Oops, something went wrong.