fbarata Posted March 13, 2014 Share Posted March 13, 2014 Hola, os agradeceria mucho si me pudierais echar una mano, he añadido la posibilidad de poner un recargo por pago con tarjeta en el TPV, todo va bien pero cuando entro en el backoffice me da un error en el cobro, no le gusta el incremento del recargo del 2% en el total: "Advertencia: 3,09 € pagado en vez de 3,00 €" No recoge bien el incremento del recargo. Adjunto tambien imagen. Este es el codigo: include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/cajarural.php'); $respuesta = ''; $total = ''; if (!empty($_GET)){ // Recoger datos de respuesta y limpiar $total = filter_input(INPUT_GET, 'importe', FILTER_SANITIZE_STRING); $pedido = filter_input(INPUT_GET, 'numpedido', FILTER_SANITIZE_STRING); $moneda = filter_input(INPUT_GET, 'moneda', FILTER_SANITIZE_STRING); $respuesta = filter_input(INPUT_GET, 'compra', FILTER_SANITIZE_STRING); $firma_remota = filter_input(INPUT_GET, 'firma', FILTER_SANITIZE_STRING); $fecha = filter_input(INPUT_GET, 'fecha', FILTER_SANITIZE_STRING); $rid_key = filter_input(INPUT_GET, 'key', FILTER_SANITIZE_STRING); $rid_cart = filter_input(INPUT_GET, 'id_cart', FILTER_SANITIZE_STRING); $rid_module = filter_input(INPUT_GET, 'id_module', FILTER_SANITIZE_STRING); $rid_order = filter_input(INPUT_GET, 'id_order', FILTER_SANITIZE_STRING); // Creamos objeto $cajarural = new cajarural(); //Verificamos opciones $error_pago = Configuration::get('CAJARURAL_ERROR_PAGO'); // Contraseña secreta $clave = Configuration::get('CAJARURAL_CLAVE'); // Calculo del SHA1 //comprobacion de la firma devuelta.. if ($respuesta=="si"){ $mensaje = "0" . $clave . $pedido . $total . $fecha; } elseif ($respuesta=="no"){ $mensaje = "1" . $clave . $pedido . $total . $fecha; } $firma_local = sha1($mensaje); if ($respuesta =="si"){ if ($firma_local == $firma_remota){ // Formatear variables // NINO - eliminar el punto de los miles para evitar error en pago // ORIGINAL - $total = number_format($total / 100,4); $total = number_format($total / 100,4,'.', ''); $pedido = substr($pedido,0,8); $pedido = intval($pedido); $moneda_tienda = 1; // Euros // Compra valida $mailvars=array(); $cajarural = new cajarural(); $cajarural->validateOrder($cart->id, _PS_OS_PAYMENT_, $total, $cajarural->displayName, NULL, $mailvars, NULL, false, $cart->secure_key); Tools::redirectLink('http://www.idealitas.es/store/modules/cajarural/pago_correcto.php?key='.$rid_key.'&id_cart='.$rid_cart.'&id_module='.$rid_module.'&id_order='.$rid_order); }else{ //Compra NO válida con firma remota Tools::redirectLink('http://www.idealitas.es/store/modules/cajarural/pago_error.php?key='.$rid_key.'&id_cart='.$rid_cart.'&id_module='.$rid_module.'&id_order='.$rid_order); } } else { //Compra NO válida SIN firma remota, puede retornar de ruralvia sin la firma remota, se redirecciona también a error para evitar una página en blanco. Tools::redirectLink('http://www.idealitas.es/store/modules/cajarural/pago_error.php?err=f&key='.$rid_key.'&id_cart='.$rid_cart.'&id_module='.$rid_module.'&id_order='.$rid_order); } } ?> Link to comment Share on other sites More sharing options...
Recommended Posts