Solucionados problemas con pasarela de pago al pasar a producción

git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_Web/trunk@50 77ab8c26-3d69-2c4d-86f2-786f4ba54905
This commit is contained in:
David Arranz 2011-10-14 15:48:26 +00:00
parent 2d187140fb
commit e9bc099bde
2 changed files with 121 additions and 114 deletions

View File

@ -1,115 +1,116 @@
<?php <?php
add_filter('gform_confirmation', 'build_confirmation_1', 10, 4); add_filter('gform_confirmation', 'build_confirmation_1', 10, 4);
function build_confirmation_1($confirmation, $form, $entry, $ajax) { function build_confirmation_1($confirmation, $form, $entry, $ajax) {
$confirmation = llamar_pasarela_socio($entry); $confirmation = llamar_pasarela_socio($entry);
return $confirmation; return $confirmation;
} }
function llamar_pasarela_socio($entry) { function llamar_pasarela_socio($entry) {
/*$file = fopen("tpv.log", "w"); /*$file = fopen("tpv.log", "w");
fwrite ($file, "SOCIO\n"); fwrite ($file, "SOCIO\n");
foreach($entry as $k => $v) { foreach($entry as $k => $v) {
fwrite($file, "$k ==> $v\n"); fwrite($file, "$k ==> $v\n");
} }
fwrite ($file, "DATOS\n");*/ fwrite ($file, "DATOS\n");*/
$nombre_cuotas = array('12' => 'mensual',
'4' => 'trimestral', $nombre_cuotas = array('12' => 'mensual',
'2' => 'semestral', '4' => 'trimestral',
'1' => 'anual'); '2' => 'semestral',
'1' => 'anual');
$datos = array();
$datos['titular'] = $entry[1] . ' ' . $entry[2]; $datos = array();
$datos['url_tpvv'] = 'https://sis-t.sermepa.es:25443/sis/realizarPago'; $datos['titular'] = $entry[1] . ' ' . $entry[2];
$datos['clave'] = 'qwertyasdf0123456789'; $datos['url_tpvv'] = 'https://sis-t.sermepa.es:25443/sis/realizarPago';
$datos['nombre_comercio'] = 'Fundacion Lo que de verdad importa'; $datos['clave'] = 'qwertyasdf0123456789';
$datos['url_comercio'] = 'http://www.loquedeverdadimporta.org'; $datos['nombre_comercio'] = 'Fundacion Lo que de verdad importa';
$datos['code'] = '322204298'; $datos['url_comercio'] = 'http://www.loquedeverdadimporta.org/wp-content/themes/lqdvi/respuesta_pasarela_tpv.php';
$datos['terminal'] = '1'; $datos['code'] = '322204298';
$datos['num_orden'] = date('ymdHis'); $datos['terminal'] = '1';
$datos['moneda'] = '978'; //euros $datos['num_orden'] = date('ymdHis');
$datos['URLOK'] = $datos['url_comercio'].'/web/quieres-ser-amigo/gracias-por-ser-nuestro-socio/'; $datos['moneda'] = '978'; //euros
$datos['URLKO'] = $datos['url_comercio'].'/web/se-ha-producido-un-error/'; $datos['URLOK'] = 'http://www.loquedeverdadimporta.org/quieres-ser-amigo/gracias-por-ser-nuestro-socio/';
$datos['URLKO'] = 'http://www.loquedeverdadimporta.org/se-ha-producido-un-error/';
// Convertir la cantidad
$cuota = explode("|", $entry[9]); //<- formato: frecuencia_ano|cantidad_euros // Convertir la cantidad
$datos['frecuencia_ano'] = $cuota[0]; $cuota = explode("|", $entry[9]); //<- formato: frecuencia_ano|cantidad_euros
$datos['frecuencia_ano'] = $cuota[0];
if ($datos['frecuencia_ano'] != 1) { // Es una cuota
//$datos['frecuencia_dias'] = round(365/$datos['frecuencia_ano']); if ($datos['frecuencia_ano'] != 0) { // Es una cuota
//$datos['frecuencia_fecha_limite'] = date("Y-m-d", strtotime('+10 Year')); // Mantener las cuotas 10 años a partir de hoy //$datos['frecuencia_dias'] = round(365/$datos['frecuencia_ano']);
$datos['cantidad'] = $cuota[1] * 100; //$datos['frecuencia_fecha_limite'] = date("Y-m-d", strtotime('+10 Year')); // Mantener las cuotas 10 años a partir de hoy
$datos['cantidad'] = $cuota[1] * 100;
/* Método de pago:
* T: significa pago con tarjeta. /* Método de pago:
* D: significa pago por domiciliación bancaria. * T: significa pago con tarjeta.
* R: significa pago por transferencia. * D: significa pago por domiciliación bancaria.
*/ * R: significa pago por transferencia.
$datos['metodo_pago'] = 'D'; // <- Domiciliación */
$datos['metodo_pago'] = 'D'; // <- Domiciliación
//$datos['suma_total'] = $datos['cantidad'] * ($datos['frecuencia_ano']*10); // Calcular el total de cuotas en 10 años
//$datos['suma_total'] = $datos['cantidad'] * ($datos['frecuencia_ano']*10); // Calcular el total de cuotas en 10 años
$datos['producto'] = 'Cuota ' . $nombre_cuotas[$datos['frecuencia_ano']] . ' LQDVI';
$datos['transaction_type'] = '0'; // <- Autoriación ('5' <- Transacción recurrente) $datos['producto'] = 'Cuota ' . $nombre_cuotas[$datos['frecuencia_ano']] . ' LQDVI';
} else { // Es una aportación puntual $datos['transaction_type'] = '0'; // <- Autorización ('5' <- Transacción recurrente)
$datos['cantidad'] = ereg_replace("[^0-9]", "", $entry[19]); } else { // Es una aportación puntual
$datos['metodo_pago'] = 'T'; // <- Tarjeta $datos['cantidad'] = ereg_replace("[^0-9]", "", $entry[19]);
$datos['producto'] = 'Aportacion LQDVI'; $datos['metodo_pago'] = 'T'; // <- Tarjeta
$datos['transaction_type'] = '0'; // <- Autorización $datos['producto'] = 'Aportacion LQDVI';
} $datos['transaction_type'] = '0'; // <- Autorización
}
// Calcular firma
/* if ($datos['frecuencia_ano'] != 1) { // Es una cuota // Calcular firma
* $datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['suma_total'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave']; /* if ($datos['frecuencia_ano'] != 0) { // Es una cuota
*} else { // Es una aportación puntual * $datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['suma_total'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave'];
* $datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave']; *} else { // Es una aportación puntual
*} * $datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave'];
*/ *}
*/
// Calcular firma
$datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave']; // Calcular firma
$datos['firma'] = strtoupper(sha1($datos['mensaje'])); $datos['mensaje'] = $datos['cantidad'].$datos['num_orden'].$datos['code'].$datos['moneda'].$datos['transaction_type'].$datos['url_comercio'].$datos['clave'];
$datos['firma'] = strtoupper(sha1($datos['mensaje']));
/*foreach($datos as $k => $v)
fwrite($file, "$k ==> $v\n"); */ /*foreach($datos as $k => $v)
fwrite($file, "$k ==> $v\n"); */
$confirmation = "<div id='gforms_confirmation_message' style='text-align:center; padding: 10px;'>";
$confirmation .= "Conectando con pasarela de pago..."; $confirmation = "<div id='gforms_confirmation_message' style='text-align:center; padding: 10px;'>";
$confirmation .= "<form method='post' action='".$datos['url_tpvv']."' name='form_to_tpv' id='form_to_tpv'>"; $confirmation .= "Conectando con pasarela de pago...";
$confirmation .= "<input type='hidden' name='Ds_Merchant_Titular' value='".$datos['titular']."'/>"; $confirmation .= "<form method='post' action='".$datos['url_tpvv']."' name='form_to_tpv' id='form_to_tpv'>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_Amount' value='".$datos['cantidad']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_Titular' value='".$datos['titular']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_Currency' value='".$datos['moneda']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_Amount' value='".$datos['cantidad']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_Order' value='".$datos['num_orden']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_Currency' value='".$datos['moneda']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantCode' value='".$datos['code']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_Order' value='".$datos['num_orden']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_Terminal' value='".$datos['terminal']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantCode' value='".$datos['code']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_TransactionType' value='".$datos['transaction_type']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_Terminal' value='".$datos['terminal']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantURL' value='".$datos['url_comercio']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_TransactionType' value='".$datos['transaction_type']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantSignature' value='".$datos['firma']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantURL' value='".$datos['url_comercio']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_ProductDescription' value='".$datos['producto']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_MerchantSignature' value='".$datos['firma']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_UrlOK' value='".$datos['URLOK']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_ProductDescription' value='".$datos['producto']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_UrlKO' value='".$datos['URLKO']."'/>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_UrlOK' value='".$datos['URLOK']."'/>";
$confirmation .= "<input type='hidden' name='Ds_Merchant_UrlKO' value='".$datos['URLKO']."'/>";
/* if ($datos['frecuencia_ano'] != 1) { // Es una cuota
* $confirmation .= "<input type='hidden' name='Ds_Merchant_DateFrecuency' value='".$datos['frecuencia_dias']."'/>"; /* if ($datos['frecuencia_ano'] != 0) { // Es una cuota
* $confirmation .= "<input type='hidden' name='Ds_Merchant_ChargeExpiryDate' value='".$datos['frecuencia_fecha_limite']."'/>"; * $confirmation .= "<input type='hidden' name='Ds_Merchant_DateFrecuency' value='".$datos['frecuencia_dias']."'/>";
* $confirmation .= "<input type='hidden' name='Ds_Merchant_SumTotal' value='".$datos['suma_total']."'/>"; * $confirmation .= "<input type='hidden' name='Ds_Merchant_ChargeExpiryDate' value='".$datos['frecuencia_fecha_limite']."'/>";
*} * $confirmation .= "<input type='hidden' name='Ds_Merchant_SumTotal' value='".$datos['suma_total']."'/>";
*/ *}
*/
$confirmation .= "<input type='hidden' name='Ds_Merchant_PayMethods' value='".$datos['metodo_pago']."'/>";
$confirmation .= "</form>"; $confirmation .= "<input type='hidden' name='Ds_Merchant_PayMethods' value='".$datos['metodo_pago']."'/>";
$confirmation .= "</div>"; $confirmation .= "</form>";
$confirmation .= "<script type='text/javascript'>"; $confirmation .= "</div>";
$confirmation .= "document.getElementById('form_to_tpv').submit();"; $confirmation .= "<script type='text/javascript'>";
$confirmation .= "</script>"; $confirmation .= "document.getElementById('form_to_tpv').submit();";
$confirmation .= "</script>";
/*fwrite($file, $confirmation);
fclose($file); */ /*fwrite($file, $confirmation);
fclose($file); */
return $confirmation;
} return $confirmation;
}
?> ?>

View File

@ -0,0 +1,6 @@
<?php
$handle = fopen('log_servired.txt','a');
$cad = date("c")." ".implode("#", $_POST)."\n";
$fw = fwrite($handle, $cad);
fclose($handle);
?>