From 7f391204d72441a89da7e70ac1dc97390779767f Mon Sep 17 00:00:00 2001 From: epayco Date: Sat, 16 Jul 2016 14:07:53 -0500 Subject: [PATCH] ePayco plugin zen cart --- README.md | 0 zen-cart-payco/.DS_Store | Bin 0 -> 6148 bytes zen-cart-payco/LEEME.TXT | 16 ++ zen-cart-payco/checkout_process_pol.php | 179 ++++++++++++ zen-cart-payco/confirmacion.php | 131 +++++++++ .../html_includes/classic/_notes/dwsync.xml | 4 + .../classic/define_checkout_success.php | 64 +++++ .../english/modules/payment/_notes/dwsync.xml | 4 + .../modules/payment/img_payco/Thumbs.db | Bin 0 -> 34304 bytes .../modules/payment/img_payco/logo.png | Bin 0 -> 19014 bytes .../english/modules/payment/payco.php | 27 ++ .../html_includes/classic/_notes/dwsync.xml | 4 + .../classic/define_checkout_success.php | 60 ++++ .../spanish/modules/payment/_notes/dwsync.xml | 4 + .../modules/payment/img_payco/Thumbs.db | Bin 0 -> 16384 bytes .../modules/payment/img_payco/logo.png | Bin 0 -> 19014 bytes .../spanish/modules/payment/payco.php | 25 ++ .../modules/payment/_notes/dwsync.xml | 4 + .../includes/modules/payment/payco.php | 257 ++++++++++++++++++ 19 files changed, 779 insertions(+) create mode 100644 README.md create mode 100644 zen-cart-payco/.DS_Store create mode 100644 zen-cart-payco/LEEME.TXT create mode 100644 zen-cart-payco/checkout_process_pol.php create mode 100644 zen-cart-payco/confirmacion.php create mode 100644 zen-cart-payco/includes/languages/english/html_includes/classic/_notes/dwsync.xml create mode 100644 zen-cart-payco/includes/languages/english/html_includes/classic/define_checkout_success.php create mode 100644 zen-cart-payco/includes/languages/english/modules/payment/_notes/dwsync.xml create mode 100644 zen-cart-payco/includes/languages/english/modules/payment/img_payco/Thumbs.db create mode 100644 zen-cart-payco/includes/languages/english/modules/payment/img_payco/logo.png create mode 100644 zen-cart-payco/includes/languages/english/modules/payment/payco.php create mode 100644 zen-cart-payco/includes/languages/spanish/html_includes/classic/_notes/dwsync.xml create mode 100644 zen-cart-payco/includes/languages/spanish/html_includes/classic/define_checkout_success.php create mode 100644 zen-cart-payco/includes/languages/spanish/modules/payment/_notes/dwsync.xml create mode 100644 zen-cart-payco/includes/languages/spanish/modules/payment/img_payco/Thumbs.db create mode 100644 zen-cart-payco/includes/languages/spanish/modules/payment/img_payco/logo.png create mode 100644 zen-cart-payco/includes/languages/spanish/modules/payment/payco.php create mode 100644 zen-cart-payco/includes/modules/payment/_notes/dwsync.xml create mode 100644 zen-cart-payco/includes/modules/payment/payco.php diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/zen-cart-payco/.DS_Store b/zen-cart-payco/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..80c2b64a9421f9ff8762177403a11b60e248cc80 GIT binary patch literal 6148 zcmeHK&2G~`5T0$^)J`r&fW*(mN00(a1f}gQq$yG*Dn(7yf+z}hY$+=lJBl4bi6Z69 zWAOhV2rfJTJO~#q<=dZDB!MeJXeXNeW@l%{+HbR7FA=fED6A2=L}Wt+S|v2U5iu@w zNmjI{2xOwhZk+alI1SJj1&tU63 z=Rbl$%(J{&{l-=b)@pIhc1q=Pxm0$~l^(bI>A0Qy`6z4n!$-2m!zj>p%g_6#b|+2a zGusaicr@<17q-(R_jwWxe@Q($C0EI-@JYI z{=>&la?Zr?W|MMW<0*WG;n02B!EXT@YiXr?xdOp7{Y+u(b>Y4?t-9BwEM19p!h50D6cHl*GHFtEUYct3bhfpv{Dh4R&bMqUAc7Ti)`%TIrxCmg`K#+gERAWWqKRVve045n`m zOr>MIuH$D4RXQ>GWYp15X8MN0^u>dDGMrdlp=k{RhJkqo3aaah^MB{h_y74M(=!Yh z2L3AsnAL1I8<>(lTbCv$&RP%p1S&+t%@oQMH2OG}hB%5ZL8V~K69%xZai$O+i1`qZ MG?>OP@K+i53AT{c3IG5A literal 0 HcmV?d00001 diff --git a/zen-cart-payco/LEEME.TXT b/zen-cart-payco/LEEME.TXT new file mode 100644 index 0000000..ded9c25 --- /dev/null +++ b/zen-cart-payco/LEEME.TXT @@ -0,0 +1,16 @@ +DIST -> PLUGIN EN RAR +SRC -> PLUGIN SIN COMPRIMIR + +***-PLUGIN DE PAYCO PARA ZEN CART-*** + +*El plugin se instala de manera manual ya que zen cart no cuenta con un wizard para instalar plugin, asi que si tiene el plugin en rar debe descomprimirlo y realizar lo siguiente: + +*ubiquese en el directorio raiz de zen cart,asi mismo ubiquese en el directorio raiz del plugin, inicie copiando los archivos del plugin en su respectiva ubicacion +por ejemplo: + +PLUGIN: + plugin/confirmacion.php + +teniendo encuenta esa ubicacion asi mismo debera copiarla en el zen-car quedando el archivo confirmacion.php en raiz del zen- cart + +ZEN-CART: zen-cart/confirmacion.php \ No newline at end of file diff --git a/zen-cart-payco/checkout_process_pol.php b/zen-cart-payco/checkout_process_pol.php new file mode 100644 index 0000000..07af132 --- /dev/null +++ b/zen-cart-payco/checkout_process_pol.php @@ -0,0 +1,179 @@ + + + +Untitled Document + + + + + + + +notify('NOTIFY_HEADER_START_CHECKOUT_PROCESS'); + + if (!defined('IS_ADMIN_FLAG')) { + die('Illegal Access'); + } + +//notifica el comienzo del checkout + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_BEGIN'); + +//incluye los lenguajes + require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php')); + +// if the customer is not logged on, redirect them to the time out page + if (!$_SESSION['customer_id']) { + zen_redirect(zen_href_link(FILENAME_TIME_OUT)); + } else { + // validate customer + if (zen_get_customer_validate_session($_SESSION['customer_id']) == false) { + $_SESSION['navigation']->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_SHIPPING)); + zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL')); + } + } + +// confirm where link came from + if (!strstr($_SERVER['HTTP_REFERER'], FILENAME_CHECKOUT_CONFIRMATION)) { + zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT,'','SSL')); + } + +// load selected payment module + require(DIR_WS_CLASSES . 'payment.php'); + $payment_modules = new payment($_SESSION['payment']); + +// load the selected shipping module + require(DIR_WS_CLASSES . 'shipping.php'); + $shipping_modules = new shipping($_SESSION['shipping']); + + require(DIR_WS_CLASSES . 'order.php'); + $order = new order; + +// prevent 0-entry orders from being generated/spoofed + if (sizeof($order->products) < 1) { + zen_redirect(zen_href_link(FILENAME_SHOPPING_CART)); + } + + + require(DIR_WS_CLASSES . 'order_total.php'); + $order_total_modules = new order_total; + + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_BEFORE_ORDER_TOTALS_PRE_CONFIRMATION_CHECK'); + + $order_totals = $order_total_modules->pre_confirmation_check(); + + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_BEFORE_ORDER_TOTALS_PROCESS'); + $order_totals = $order_total_modules->process(); + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_ORDER_TOTALS_PROCESS'); + + if (!isset($_SESSION['payment']) && !$credit_covers) { + zen_redirect(zen_href_link(FILENAME_DEFAULT)); + } + +// load the before_process function from the payment modules + $payment_modules->before_process(); + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_PAYMENT_MODULES_BEFOREPROCESS'); + +// create the order record + $insert_id = $order->create($order_totals, 2); + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_ORDER_CREATE'); + $payment_modules->after_order_create($insert_id); + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_PAYMENT_MODULES_AFTER_ORDER_CREATE'); + +// store the product info to the order + $order->create_add_products($insert_id); + $_SESSION['order_number_created'] = $insert_id; + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_ORDER_CREATE_ADD_PRODUCTS'); + +//send email notifications + $order->send_order_email($insert_id, 2); + $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL'); + + +// load the after_process function from the payment modules + + $_SESSION['cart']->reset(true); + +// unregister session variables used during checkout + unset($_SESSION['sendto']); + unset($_SESSION['billto']); + unset($_SESSION['shipping']); + unset($_SESSION['payment']); + unset($_SESSION['comments']); + $order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM + + +// This should be before the zen_redirect: + $zco_notifier->notify('NOTIFY_HEADER_END_CHECKOUT_PROCESS'); + + +?> + + +
> + payco; + //var_export($order); + + $pkey = sha1($payco->clave_secreta.$payco->usuario_id); + + if($payco->prueba =="1"){ + $test = "TRUE"; + }else{ + $test = "FALSE"; + } + + ?> + + + + + + + + + + + + + "> + + + + +
+ + + + + \ No newline at end of file diff --git a/zen-cart-payco/confirmacion.php b/zen-cart-payco/confirmacion.php new file mode 100644 index 0000000..fd3b3ea --- /dev/null +++ b/zen-cart-payco/confirmacion.php @@ -0,0 +1,131 @@ +Execute($ultimo_estado); +// $ultimo_estado_zencart = mysql_fetch_assoc($ultimo_estado_zencart); + + $id1 = ($ultimo_estado_zencart->fields['id']+1); + $id2 = ($ultimo_estado_zencart->fields['id']+2); + $id3 = ($ultimo_estado_zencart->fields['id']+3); + + + $verificar = " select count(orders_status_id) as cantidad from " . TABLE_ORDERS_STATUS." where orders_status_name ='Aceptada' or orders_status_name ='Rechazada' or orders_status_name ='Pendiente'" ; + $verificar_estados = $db->Execute($verificar); + + if($verificar_estados->fields['cantidad'] == "0"){ + $order_status_payco = "insert into " . TABLE_ORDERS_STATUS . " (orders_status_id,language_id,orders_status_name) values (".$id1.",'0','Aceptada'),(".$id2.",'0','Rechazada'),(".$id3.",'0','Pendiente')"; + $db->Execute($order_status_payco); + } + + + //consulta para encontrar el id del estado de las transacciones + $order_status_query = "select orders_status_id from " . TABLE_ORDERS_STATUS . " where orders_status_name like '%" . $estado . "%'"; + $order_status = $db->Execute($order_status_query); + + + //consulta para actualizar el estado del pago respecto a la informacion que envia payco + $update_order_status_query = "update " . TABLE_ORDERS_STATUS_HISTORY . " set orders_status_id = '" + . $order_status->fields['orders_status_id'] . "' where orders_id = '" . $_POST['x_id_factura'] . "'"; + $db->Execute($update_order_status_query); + + //actualiza el estado del pago en la orden + $update_order_query = "update " . TABLE_ORDERS . " set orders_status = '" . $order_status->fields['orders_status_id'] + . "' where orders_id = '" . $_POST['x_id_factura'] . "'"; + + $db->Execute($update_order_query); + + + //si payco envia la variable con este valor es que se aprobo el pago y luego se redirecciona al checkout + /*if($_POST['x_respuesta']) { + header("Location: ".DIR_WS_MODULES."checkout_process.php"); + }*/ + + echo ' + + + + +
+

Transaccion '.$_REQUEST['x_respuesta'].'

+

Apreciado cliente, la transaccion No.'. $_REQUEST['x_transaction_id'].' + fue recibida por nuestro sistema.

+

Datos de compra:

+ + + + + + + + + + + + + + + +
Codigo de Referencia:  '.$_REQUEST['x_id_factura'].'
Valor: '.$_REQUEST['x_amount'].'
Moneda: '.$_REQUEST['x_currency_code'].'
+

Datos de la transaccion:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fecha de Procesamiento:  '.$_REQUEST['x_fecha_transaccion'].'
Recibo No.: '.$_REQUEST['x_transaction_id'].'
Transaccion No.: '.$_REQUEST['x_ref_payco'].'
Banco o Franquicia: '.$_REQUEST['x_franchise'].'
Codigo de aprobacion: '.$_REQUEST['x_aproval_code'].'
Codigo de Respuesta POL: '.$_REQUEST['x_response_reason_text'].'
Regresar a la tienda
+
+ + '; + + //no permite que puedan acceder a la pagina desde el explorador + }else{ + echo "
Usted no esta autorizado para ver esta pagina."; + } + + +?> \ No newline at end of file diff --git a/zen-cart-payco/includes/languages/english/html_includes/classic/_notes/dwsync.xml b/zen-cart-payco/includes/languages/english/html_includes/classic/_notes/dwsync.xml new file mode 100644 index 0000000..7803b81 --- /dev/null +++ b/zen-cart-payco/includes/languages/english/html_includes/classic/_notes/dwsync.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/zen-cart-payco/includes/languages/english/html_includes/classic/define_checkout_success.php b/zen-cart-payco/includes/languages/english/html_includes/classic/define_checkout_success.php new file mode 100644 index 0000000..fc3e236 --- /dev/null +++ b/zen-cart-payco/includes/languages/english/html_includes/classic/define_checkout_success.php @@ -0,0 +1,64 @@ +

+ + + + + + + + + + + + + + + + + + + +
+ +
+ +

Thank you for your purchase.
+ The status of your transaction : +
+ For future reference keep the following details:

+

+ Reference number : [ - ]
+ Value :
+ Date :
+ Bank :
+ + + 0) { ?> + Unique tracking code :
+ + Description: Purchase of goods or services

+ Print +

+
+ + + + + + +
+ + + + + +
' . zen_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . ''; ?>
+ + +
+ +

+ diff --git a/zen-cart-payco/includes/languages/english/modules/payment/_notes/dwsync.xml b/zen-cart-payco/includes/languages/english/modules/payment/_notes/dwsync.xml new file mode 100644 index 0000000..b6ea552 --- /dev/null +++ b/zen-cart-payco/includes/languages/english/modules/payment/_notes/dwsync.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/zen-cart-payco/includes/languages/english/modules/payment/img_payco/Thumbs.db b/zen-cart-payco/includes/languages/english/modules/payment/img_payco/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..11c8aeaad14e7f4b6ed4e33874bd39a40302379c GIT binary patch literal 34304 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 A(*OVf literal 0 HcmV?d00001 diff --git a/zen-cart-payco/includes/languages/english/modules/payment/img_payco/logo.png b/zen-cart-payco/includes/languages/english/modules/payment/img_payco/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0661089cd86bcf90b91a6e9f46270959b33f741c GIT binary patch literal 19014 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'); + define('MODULE_PAYMENT_PAYCO_TEXT_DESCRIPTION', 'PAYCO'); + define('MODULE_PAYMENT_PAYCO_TEXT_ERROR_MESSAGE','Error in the process'); + define('MODULE_PAYMENT_PAYCO_TEXT_CANCEL','The process Canceled'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_TYPE', 'Card Type:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_OWNER', 'Credit Card Owner:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_NUMBER', 'Number Card:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_EXPIRES', 'Expiration Date:'); + define('MODULE_PAYMENT_PAYCO_TEXT_JS_PAYCO_OWNER', '* The owner\'s name of the credit card must be at least ' . CC_OWNER_MIN_LENGTH . ' letras.\n'); + define('MODULE_PAYMENT_PAYCO_TEXT_JS_PAYCO_NUMBER', '* The credit card number must be at least ' . CC_NUMBER_MIN_LENGTH . ' numeros.\n'); + define('MODULE_PAYMENT_PAYCO_TEXT_ERROR', 'Credit Card Error!'); + + +?> diff --git a/zen-cart-payco/includes/languages/spanish/html_includes/classic/_notes/dwsync.xml b/zen-cart-payco/includes/languages/spanish/html_includes/classic/_notes/dwsync.xml new file mode 100644 index 0000000..48c3f37 --- /dev/null +++ b/zen-cart-payco/includes/languages/spanish/html_includes/classic/_notes/dwsync.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/zen-cart-payco/includes/languages/spanish/html_includes/classic/define_checkout_success.php b/zen-cart-payco/includes/languages/spanish/html_includes/classic/define_checkout_success.php new file mode 100644 index 0000000..cde0b0e --- /dev/null +++ b/zen-cart-payco/includes/languages/spanish/html_includes/classic/define_checkout_success.php @@ -0,0 +1,60 @@ +

+ + + + + + + + + + + + + + + + + + + +
+ +
+ +

Gracias por su Compra.
+ El estado de su transacción es : +
+ Para futuras referencias conserve los siguientes datos:

+

+ Numero de referencia : [ - ]
+ Valor :
+ Fecha :
+ Banco :
+ Codigo unico de seguimiento :
+ Descripcion : Compra de productos o servicios

+ Imprimir +

+
+ + + + + + +
+ + + + + +
' . zen_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . ''; ?>
+ + +
+ +

+ diff --git a/zen-cart-payco/includes/languages/spanish/modules/payment/_notes/dwsync.xml b/zen-cart-payco/includes/languages/spanish/modules/payment/_notes/dwsync.xml new file mode 100644 index 0000000..b3442c9 --- /dev/null +++ b/zen-cart-payco/includes/languages/spanish/modules/payment/_notes/dwsync.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/zen-cart-payco/includes/languages/spanish/modules/payment/img_payco/Thumbs.db b/zen-cart-payco/includes/languages/spanish/modules/payment/img_payco/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..3ec339ee30a1156d022b24e5fd9ee9afa6e5d757 GIT binary patch literal 16384 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 HC(Qo^%UT&~(*!0ltCU&h~I< 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'); + define('MODULE_PAYMENT_PAYCO_TEXT_DESCRIPTION', 'PAYCO'); + define('MODULE_PAYMENT_PAYCO_TEXT_ERROR_MESSAGE','Error en el proceso'); + define('MODULE_PAYMENT_PAYCO_TEXT_CANCEL','Cancelado el proceso'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_TYPE', 'Tipo de Tarjeta:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_OWNER', 'Titular de la Tarjeta:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_NUMBER', 'Numero de la Tarjeta:'); + define('MODULE_PAYMENT_PAYCO_TEXT_CREDIT_CARD_EXPIRES', 'Fecha de Caducidad:'); + define('MODULE_PAYMENT_PAYCO_TEXT_JS_PAYCO_OWNER', '* El titular de la tarjeta de credito debe de tener al menos ' . CC_OWNER_MIN_LENGTH . ' letras.\n'); + define('MODULE_PAYMENT_PAYCO_TEXT_JS_PAYCO_NUMBER', '* El numero de la tarjeta de credito debe de tener al menos ' . CC_NUMBER_MIN_LENGTH . ' numeros.\n'); + define('MODULE_PAYMENT_PAYCO_TEXT_ERROR', 'Error en Tarjeta de Credito!'); +?> diff --git a/zen-cart-payco/includes/modules/payment/_notes/dwsync.xml b/zen-cart-payco/includes/modules/payment/_notes/dwsync.xml new file mode 100644 index 0000000..e1d7f20 --- /dev/null +++ b/zen-cart-payco/includes/modules/payment/_notes/dwsync.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/zen-cart-payco/includes/modules/payment/payco.php b/zen-cart-payco/includes/modules/payment/payco.php new file mode 100644 index 0000000..a91d64d --- /dev/null +++ b/zen-cart-payco/includes/modules/payment/payco.php @@ -0,0 +1,257 @@ +Execute($query)); + } + + function tep_db_num_rows($query){ + return($query->RecordCount()); + } + + + +//se crea la clase del metodo de pago de payco + +class payco{ + +//declaracion de variables + var $code, $title, $description, $enabled, $usuario_id, $clave_secreta, $tasa_iva, $prueba; + +// class constructor + function payco() + { + global $order; + +//asignacion de valores + $this->code = 'payco'; + $this->title = MODULE_PAYMENT_PAYCO_TEXT_TITLE; + $this->description = MODULE_PAYMENT_PAYCO_TEXT_DESCRIPTION; + $this->enabled = ((MODULE_PAYMENT_PAYCO_STATUS == 'True') ? true : false); + $this->sort_order = MODULE_PAYMENT_PAYCO_SORT_ORDER; + + + if ((int)MODULE_PAYMENT_PAYCO_ORDER_STATUS_ID > 0) { + $this->order_status = MODULE_PAYMENT_PAYCO_ORDER_STATUS_ID; + } + + if (is_object($order)) $this->update_status(); + + /* a que direccion se redirecciona despues de dar click en el boton de pago, se direcciona al checkout el cual crea la orden y envia los datos al sistema */ + $this->form_action_url = DIR_WS_CATALOG . 'checkout_process_pol.php'; + + /* Numero de usuario en Payco */ + $this->usuario_id = MODULE_PAYMENT_PAYCO_ID_COM; + + /* Indica si la transaccion es de prueba (1) o no (0)*/ + $this->prueba = MODULE_PAYMENT_PAYCO_PRUEBA; + + /* Clave de encripcion para la firma digital (Obligatorio para usuarios nuevos) */ + $this->clave_secreta = MODULE_PAYMENT_PAYCO_ID_SEED; + + /* La tasa de IVA que aplica para sus productos, debe coincidir con la configurada en el oscommerce */ + $this->tasa_iva = 0.16; + + } + +// class methods + + //funcion para actualizar el estado del plugin + function update_status() + { + global $order, $db; + + if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYCO_ZONE > 0) ) { + $check_flag = false; + $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" + . MODULE_PAYMENT_PAYCO_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id"); + while (!$check->EOF) { + if ($check->fields['zone_id'] < 1) { + $check_flag = true; + break; + } elseif ($check->fields['zone_id'] == $order->billing['zone_id']) { + $check_flag = true; + break; + } + $check->MoveNext(); + } + + 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; + } + + +//funcion para crear el boton de pago + + function process_button() + { + global $order, $currencies, $currency, $languages; + + + //referencia de venta + $refventa=time(); + + //moneda + $my_currency = $order->info['currency']; + + //descripcion de la venta + + /*for($i = 0; $i < sizeof($order->products); $i++) { + + $descripcion .= "[".$order->products[$i]['name']." x ".$order->products[$i]['qty']."] "; + }*/ + + //nombre del comprador + $nombre_cliente = $order->customer['firstname']." ".$order->customer['lastname']; + + //telefono del comprador + $telefono = $order->customer['telephone']; + + //iva del pedido + $iva = number_format($order->info['tax'] * $currencies->get_value($my_currency),2,'.',''); + + //base de devolucion + $baseDevolucionIva = number_format(($iva / $this->tasa_iva),2,'.',''); + + //se organiza la descripcion de la compra + $descripcion = substr($descripcion,0,250); + + //valor total de la compra + + $total=$order->info['total']; + $valor = round($total*$order->info['currency_value'],2); + $valor = number_format($valor, 2, '.', ''); + + + //cadena para la firma digital + $cadtmp = $this->clave_secreta."~".$this->usuario_id."~".$refventa."~".$valor."~".$my_currency; + + //firma digital + $firma = md5($cadtmp); + + //pagina de respuesta + $url_respuesta= HTTP_SERVER . DIR_WS_CATALOG . "index.php?main_page=checkout_success"; + + + //creacion del boton de pago + $process_button_string = + zen_draw_hidden_field('valor', $valor). + zen_draw_hidden_field('extra1', urlencode("Nombre Cliente : ".$nombre_cliente." Telefono : ".$telefono)). + zen_draw_hidden_field('refVenta', $refventa). + zen_draw_hidden_field('usuarioId', $this->usuario_id). + zen_draw_hidden_field('descripcion', "Compra en la tienda ".'::' . STORE_NAME . '::'). + zen_draw_hidden_field('moneda', $my_currency). + zen_draw_hidden_field('prueba', $this->prueba). + zen_draw_hidden_field('emailComprador', $order->customer['email_address']). + zen_draw_hidden_field('iva', $iva). + zen_draw_hidden_field('baseDevolucionIva', $baseDevolucionIva). + zen_draw_hidden_field('plantilla', ""). + zen_draw_hidden_field('url_respuesta', $url_respuesta). + zen_draw_hidden_field('url_confirmacion', HTTP_SERVER . DIR_WS_CATALOG . "confirmacion.php"). + zen_draw_hidden_field('lng', $_SESSION['languages_code']); + + //creacion de la firma digital + if(strlen($this->clave_secreta)) { + $process_button_string = $process_button_string."\n".zen_draw_hidden_field('firma', $firma); + } + + return $process_button_string; + } + + function before_process(){ + return false; + } + + function after_process(){ + return false; + } + + function output_error() { + return false; + } + + function check(){ + global $db; + if (!isset($this->_check)) { + $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYCO_STATUS'"); + $this->_check = $check_query->RecordCount(); + } + return $this->_check; + } + + + + //funcion para instalar el plugin de Payco en el modulo administrativo + 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 módulo Pagosonline', 'MODULE_PAYMENT_PAYCO_STATUS', 'True', 'Quiere aceptar pagos usando Payco?', '6', '3', 'zen_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 ('Id Usuario', 'MODULE_PAYMENT_PAYCO_ID_COM', '', 'Codigo de usuario (usuarioId) proporcionado por Payco', '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 ('Llave secreta', 'MODULE_PAYMENT_PAYCO_ID_SEED', '', 'Clave de encriptación proporcionada por Payco', '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 ('URL de la pasarela de pago', 'MODULE_PAYMENT_PAYCO_URL', 'https://secure2.payco.co/payment.php', 'Direccion en internet de la pasarela de pago', '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 ('Prueba', 'MODULE_PAYMENT_PAYCO_PRUEBA', '1', 'Prueba es la variable para poner su carrito en modo de pruebas, si quiere hacer transacciones en modo de pruebas debe ingresar 1 y si si quiere estar en produccion debe dejarlo en o', '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 ('Orden de aparicion.', 'MODULE_PAYMENT_PAYCO_SORT_ORDER', '0', 'Orden de aparicion. Numero menor es mostrado antes que los mayores.', '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_PAYCO_ZONE', '0', 'Si selecciona una zona, este módulo sólo estará disponible en esa zona.', '6', '2', 'zen_get_zone_class_title', 'zen_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 del pedido', 'MODULE_PAYMENT_PAYCO_ORDER_STATUS_ID', '0', 'Seleccione el estado del pedido un vez procesado con este módulo', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())"); + + } + + //funcion para eliminar el plugin desde el modulo administrativo + function remove(){ + tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); + } + + function keys(){ + return array + ( + 'MODULE_PAYMENT_PAYCO_STATUS', + 'MODULE_PAYMENT_PAYCO_ID_COM', + 'MODULE_PAYMENT_PAYCO_ID_SEED', + 'MODULE_PAYMENT_PAYCO_URL', + 'MODULE_PAYMENT_PAYCO_PRUEBA', + 'MODULE_PAYMENT_PAYCO_SORT_ORDER', + 'MODULE_PAYMENT_PAYCO_ZONE', + 'MODULE_PAYMENT_PAYCO_ORDER_STATUS_ID' + ); + } + } + + + +?>