Problema con módulo de pago  Tema solucionado

Si utilizas la version 2.2 este es tu foro.
La mas estable hasta el momento.

Y si estas iniciandote, la version mas popular y donde mas soporte obtendras.

Problema con módulo de pago

Notapor dafonk » Sab Abr 02, 2016 7:43 pm

Tengo un problema con el nódulo de pago "Cuentadigital" pagofacil.php
Al elegir un producto digital para bajar NO se muestra esta opción de pago. De lo contrario funciona perfecto pero al poner un producto para "download" no se muestra esta opción de pago. Al parecer tiene que ver con el shipping.php ya que cualquier otro producto va primero a esta página y luego al payment.php Y los productos de download no pasan por shipping.php Es lógico, ya que no hay que mandar nada pero en el payment.php no se muestra la opción de pago pagofacil.php

Como este módulo no es muy usado ya que es solo para la Argentina lo pego para que se pueda estudiar:

Código: Seleccionar todo
<?php
/*
  $Id: pagofacil.php,v 2.2 26/06/2007 10:17:15 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Released under the GNU General Public License
*/

  class pagofacil {
    var $code, $title, $description, $enabled;

// class constructor
    function pagofacil() {
      global $order;

      $this->code = 'pagofacil';
      $this->title = MODULE_PAYMENT_PAGOFACIL_TEXT_TITLE;
      $this->description = MODULE_PAYMENT_PAGOFACIL_TEXT_DESCRIPTION;
      $this->sort_order = MODULE_PAYMENT_PAGOFACIL_SORT_ORDER;
      $this->enabled = ((MODULE_PAYMENT_PAGOFACIL_STATUS == 'True') ? true : false);

      if ((int)MODULE_PAYMENT_PAGOFACIL_ORDER_STATUS_ID > 0) {
        $this->order_status = MODULE_PAYMENT_PAGOFACIL_ORDER_STATUS_ID;
      }

      if (is_object($order)) $this->update_status();
      $this->form_action_url = 'https://www.cuentadigital.com/stringosc.php';
    }

// class methods
    function update_status() {
      global $order;
      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAGOFACIL_ZONE > 0) ) {
        $check_flag = false;
        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAGOFACIL_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
        while ($check = tep_db_fetch_array($check_query)) {
          if ($check['zone_id'] < 1) {
            $check_flag = true;
            break;
          } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
            $check_flag = true;
            break;
          }
        }

        if ($check_flag == false) {
          $this->enabled = false;
        }
      }
    }

    function javascript_validation() {
      return false;
    }

    function selection() {
      return array('id' => $this->code,
                   'module' => $this->title);
    }

    function pre_confirmation_check() {
      return false;
    }

    function confirmation() {
      return false;
    }

    function process_button() {
      global $order, $currencies, $currency;

      if (MODULE_PAYMENT_PAGOFACIL_CURRENCY == 'Selected Currency') {
        $my_currency = $currency;
      } else {
        $my_currency = substr(MODULE_PAYMENT_PAGOFACIL_CURRENCY, 5);
      }
      if (!in_array($my_currency, array('ARS', 'EUR', 'GBP', 'JPY', 'USD'))) {
        $my_currency = 'ARS';
      }
$codigo1=$order->customer['firstname'].$order->customer['lastname'];

$codigo=substr($codigo1, 0, 9);
      $process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                               tep_draw_hidden_field('id', MODULE_PAYMENT_CUENTADIGITAL_ID) .
                               tep_draw_hidden_field('venc', MODULE_PAYMENT_PAGOFACIL_VENC) .
                               tep_draw_hidden_field('site', STORE_NAME) .
                               tep_draw_hidden_field('codigo', $codigo) .
                               tep_draw_hidden_field('currency_code', $my_currency) .
                               tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                               tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')) .
                               tep_draw_hidden_field('precio', number_format($order->info['total'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))).
                               tep_draw_hidden_field('desde', MODULE_PAYMENT_PAGOFACIL_ID) .
                               tep_draw_hidden_field('hacia', $order->customer['email_address']);

      return $process_button_string;
    }

    function before_process() {
      return false;
    }

    function after_process() {
      return false;
    }

    function output_error() {
      return false;
    }

    function check() {
      if (!isset($this->_check)) {
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAGOFACIL_STATUS'");
        $this->_check = tep_db_num_rows($check_query);
      }
      return $this->_check;
    }

    function install() {
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Activar Modulo PagoFacil', 'MODULE_PAYMENT_PAGOFACIL_STATUS', 'True', 'Desea aceptar pagos mediante PagoFacil?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Su numero de CuentaDigital', 'MODULE_PAYMENT_CUENTADIGITAL_ID', '1', 'Su numero de CuentaDigital, numero de usuario', '6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Su E-Mail', 'MODULE_PAYMENT_PAGOFACIL_ID', 'su@email.com', 'La casilla de email que usa para su servicio de PagoFacil con CuentaDigital.com', '6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Vencimiento de facturas', 'MODULE_PAYMENT_PAGOFACIL_VENC', '7', 'Dias al vencimiento por defecto que tendran las facturas','6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Moneda', 'MODULE_PAYMENT_PAGOFACIL_CURRENCY', 'Selected Currency', 'El tipo de moneda que usara para las transacciones', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only ARS\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\'),', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Mostrar en orden.', 'MODULE_PAYMENT_PAGOFACIL_SORT_ORDER', '0', 'Orden en que se mostraran los cobros, el mas bajo se mostrara primero.', '6', '0', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Zona de Pago', 'MODULE_PAYMENT_PAGOFACIL_ZONE', '0', 'Si una zona es seleccionada solo se aceptaran pagos desde dicha zona.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Estado de la orden predeterminada', 'MODULE_PAYMENT_PAGOFACIL_ORDER_STATUS_ID', '0', 'El estado en que quedaran las ordenes luego de generar una factura PagoFacil, se recomienda la opcion de ordenes como: Pendiente', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
    }

    function remove() {
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
    }

    function keys() {
      return array('MODULE_PAYMENT_CUENTADIGITAL_ID','MODULE_PAYMENT_PAGOFACIL_VENC','MODULE_PAYMENT_PAGOFACIL_STATUS', 'MODULE_PAYMENT_PAGOFACIL_ID', 'MODULE_PAYMENT_PAGOFACIL_CURRENCY', 'MODULE_PAYMENT_PAGOFACIL_ZONE', 'MODULE_PAYMENT_PAGOFACIL_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAGOFACIL_SORT_ORDER');
    }
  }
?>
dafonk
Pesadillas
 
Mensajes: 24
Registrado: Sab Jul 16, 2011 6:12 pm

Anuncio

web_empresa

Re: Problema con módulo de pago

Notapor Skualos » Mar Abr 05, 2016 8:43 pm

Las demas formas de pago, si aparecen en la opcion de descarga?
Skualos
Moderador Global
 
Mensajes: 3192
Registrado: Mié Feb 09, 2011 9:17 pm
Ubicación: Palafrugell

Re: Problema con módulo de pago

Notapor dafonk » Vie Abr 08, 2016 2:06 pm

Así es, las demás formas de pago se muestran correctamente.
dafonk
Pesadillas
 
Mensajes: 24
Registrado: Sab Jul 16, 2011 6:12 pm

Re: Problema con módulo de pago

Notapor Skualos » Vie Abr 08, 2016 8:38 pm

Mira a ver la configuracion, no sea que lo tengas restringido por zonas
Skualos
Moderador Global
 
Mensajes: 3192
Registrado: Mié Feb 09, 2011 9:17 pm
Ubicación: Palafrugell

Re: Problema con módulo de pago

Notapor dafonk » Sab Abr 09, 2016 7:58 pm

Gracias por tu respuesta.
Pero no, como lo expliqué en la primera, con otros productos sale bien (con los productos que son para enviar(físicos)). Solo con los productos que son para download no se muestra esta forma de pago. La configuración la tengo "solo para Argentina" ya que el módulo de esta forma de pago es solo para Argentina.
Por eso pienso que algo con la programación del módulo, algo que hay que poner para que cuando es para download también se active (se muestre la forma de pago) de este módulo.
dafonk
Pesadillas
 
Mensajes: 24
Registrado: Sab Jul 16, 2011 6:12 pm

Re: Problema con módulo de pago

Notapor Skualos » Dom Abr 10, 2016 12:52 am

Prueba a poner como zona de pago "niguno" para asegurar que no se trata esto.
Skualos
Moderador Global
 
Mensajes: 3192
Registrado: Mié Feb 09, 2011 9:17 pm
Ubicación: Palafrugell

Re: Problema con módulo de pago

Notapor dafonk » Dom Abr 10, 2016 3:56 pm

Al parecer la otra respuesta no se publicó... Gracias por tu ayuda.
Efectivamente cuando pongo la forma de pago en "ninguno" se muestra. Pero se muestra paa todos los países. Y esta forma de pago debe mostrarse solo para Argentina. Lo que me confunde también es que con los otros productos (teniendo como zona "solo Argentina" ) se muestra correctamente. O sea que es solo con productos para download. Las zonas las tengo armadas en la parte de zonas fiscales, que luego te sale en el desplegable de "Zonas" en los módulos de pago, donde puedes elegir para que zonas quieres usar un cierto módulo de pago...... sigo pensando por qué con este módulo no funcionan los productos que son para download.
dafonk
Pesadillas
 
Mensajes: 24
Registrado: Sab Jul 16, 2011 6:12 pm

Re: Problema con módulo de pago

Notapor Skualos » Lun Abr 11, 2016 9:33 am

Si que debe funcionar para los productos en download, de hecho, si no pones zono de pago, si lo pones como ninguno, aparece.

Es un tema de configuracion de las zonas simplemente. Por otra parte, si es un producto en descarga, que mas da, si te lo compran desde europa o desde asia? ... si hubiesen portes de por medio, es evidente que se ha de restringir, pero para productos en download...??

Si hay algunos modulos, que no utilizan las zonas, sino los paises (creo recordar), puedes probar de poner paises en lugar de zonas, aunque como te digo, si poniendo ninguno aparece, no deberia preoxuparte desde donde lo descargan.
Skualos
Moderador Global
 
Mensajes: 3192
Registrado: Mié Feb 09, 2011 9:17 pm
Ubicación: Palafrugell

Re: Problema con módulo de pago

Notapor dafonk » Lun Abr 11, 2016 7:05 pm

El problema no es que lo compren de otros países al contrario, bien venidos) sino que cuando alguien compra de un país específico se le muestre solo las formas de pago que funcionan para ese país. Por ejemplo si alguien compra un archivo para descargar de Europa pero le sale la opción de pago "cuentadigital" que es solo para Argentina, no estaría muy bien. ese es el punto. El otro es que me confunde porque sucede solo con los productos para descargar y no con los otros. O sea que la zona está bien configurada...
Última edición por dafonk el Mar Abr 12, 2016 1:18 am, editado 1 vez en total
dafonk
Pesadillas
 
Mensajes: 24
Registrado: Sab Jul 16, 2011 6:12 pm

Re: Problema con módulo de pago  Tema solucionado

Notapor figue » Lun Abr 11, 2016 11:06 pm

He revisado el codigo y veo que puede ser porque no hay una zona de envio seleccionada.
Prueba poniendo la direccion de facturacion a ver si funciona.
Haz esto:
Busca:
Código: Seleccionar todo
        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAGOFACIL_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");


Añade delante:
Código: Seleccionar todo
             if ($order->content_type == 'virtual') {
               $order->delivery['country']['id'] = $order->billing['country']['id'];
               $order->delivery['zone_id'] = $order->billing['zone_id'];
             }
figue
Moderador Global
 
Mensajes: 873
Registrado: Mié Feb 09, 2011 8:48 pm
Ubicación: Córdoba

Siguiente

  • Temas Similares
    Respuestas
    Vistas
    Autor

Volver a Oscommerce 2.x

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron
Este sitio utiliza cookies para mejorar la experiencia del usuario.Cookies Al continuar navegando aceptas el uso de cookies.
Cookies