¡Bienvenido a Foros Hosting ...!

Aquí encontraras una experiencia comunitaria para aprender todo lo relacionado con hosting.

Encuentra soporte en español para: Web Hosting, Servidores Dedicados, Servidores VPS, Clouds, Seguridad, Programación y muchos más.

Obtén más experiencia como Administrador de Sistemas, Crea tu propia empresa de hosting. Comparte tus conocimientos de forma libre.

¡Regístrate ahora y forma parte de nuestra comunidad!

hook para actualizar moneda COP automáticamente.

JesusSuarez

Jesus Suarez
Miembro del equipo
Administradores
9/22/19
198
96
28
Bogotá - CO
cangurohosting.com
Seguidores
1
Para resumir el siguiente hook actualiza la moneda COP de WHMCS automáticamente, moneda la trae desde:
Por favor, Acceder o Registro para ver las URLs y el contenido!


Primero debes generar un key free para la api que lo puedes hacer desde:
Por favor, Acceder o Registro para ver las URLs y el contenido!


Luego, Cree un archivo llamado update_cop.php en la carpeta /includes/hooks/

Cambia los valores de la variable $apiKey en el código siguiente:

Código:
		<?php
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
/*
* -------------------------------------------------------------
* File:        update_cop.php
* Description: Update Currency COP - Colombia.
* Autor: Jesus Suarez - ForosHosting.com
* -------------------------------------------------------------
*
*/
use Illuminate\Database\Capsule\Manager as Capsule;
add_hook('DailyCronJob', 1, function($vars) {
    // Configure su moneda personalizada aquí
    $currency   = 'COP';
    // Configure el porcentaje a sumar
    $porcentaje = 0;
    // Complete con su clave de currencyconverterapi.com
    $apiKey     = '8b022e174eeb5e241108';
    // Version Gratis
    $free       = true;
    // Nada para editar después de esto
    // Obtenga la moneda principal utilizada por WHMCS
    $mainCurrency = Capsule::table('tblcurrencies')
                            ->where('default', '=', 1)
                            ->first()
                            ->code;
    $prefix = Capsule::table('tblcurrencies')
                            ->where('code', '=', $mainCurrency)
                            ->first()
                            ->prefix;
    // Crear query USD_COP
    $query =  "{$mainCurrency}_{$currency}";
    // Llamada desde currencyconverterapi.com
    $json = file_get_contents("https://" . ($free ? "free" : "api") . ".currconv.com/api/v7/convert?q={$query}&compact=ultra&apiKey={$apiKey}");
    $obj = json_decode($json, true);
    $floatval = floatval($obj["$query"]);
    $rate = $floatval * (($porcentaje / 100 ) + 1);
    if (empty($rate) or $rate == '' or $rate == 0){
        logActivity("Existe un error, no se pudo actualizar la moneda ($currency). Es posible que el valor sea NULL o vacío desde DolarToday.com", 0);
     }
     else {
             Capsule::table('tblcurrencies')
                     ->where('code', '=', $currency)
                     ->update(['rate' => $rate]);
             logActivity("La moneda se actualizo correctamente $prefix$rate $currency", 0);
     }
});
?>
		

El hook automáticamente cambiar el valor de la moneda COP en tu WHMCS.

Además si desea agregar un porcentaje sobre el valor de la moneda obtenida, puede cambiar el valor de la variable: $porcentaje = 0; Por cualquier valor entero para establecer un porcentaje adicional al valor, por ejemplo 10,20,30 etc. solo valores enteros.

Posteriormente si tienes activada las opciones en de actualización de moneda y productos en "Ajustes > Ajustes de actualización" para actualizar productos. Entonces automáticamente actualizara tus productos.

El código puede obtener cualquier moneda que desee llamar desde currencyconverterapi.com, verificar que sirva para la moneda que desea correctamente, simplemente cambie el valor de la variable $currency por el código de la moneda a obtener.

Espero que les ayude.
 
Última edición:

datah

Usuario Nuevo
3/30/20
2
1
3
Chile
Seguidores
0
Se debe mantener USD como 1ra moneda y COP sería como la 2da moneda?,
Trate de hacerlo con CLP, la hice de las 2 formas pero me da error en actualizar o solo actualiza cuando corresponde según
Por favor, Acceder o Registro para ver las URLs y el contenido!
 

JesusSuarez

Jesus Suarez
Miembro del equipo
Administradores
9/22/19
198
96
28
Bogotá - CO
cangurohosting.com
Seguidores
1
Se debe mantener USD como 1ra moneda y COP sería como la 2da moneda?,
Trate de hacerlo con CLP, la hice de las 2 formas pero me da error en actualizar o solo actualiza cuando corresponde según
Por favor, Acceder o Registro para ver las URLs y el contenido!

Lo primero que hay que tener en cuenta es que esto se actualiza si tu sistema cron esta activado. Si esta configurado el cron se actualizara directamente.

USD siempre debe estar por defecto jamas se debería cambiar usd como moneda principal o esto podría causar algunos problemas en algunas otras áreas.

Confirma ambos casos. Cron activado y moneda usd por defecto y me dices si te funciona.
 

Hosting por ...
Arriba Pie