Guía/Conversión de divisas para WooCommerce

Conversión de divisas para WooCommerce

Conversión de divisas para WooCommerce. Guía práctica con código, caché y metadatos de frescura.

ERexchangerate.dev·Sep 20, 2026·7 min de lectura

Implementa esta integración en el servidor sin exponer credenciales y conserva la fuente y la hora de observación.

Puntos clave
Mantén la clave API en el servidor.
Valida códigos de moneda e importes.
Almacena en caché las respuestas correctas.
Muestra la fuente y la hora de observación.

Paso 1

Ejemplo de códigocopy
function exr_convert_for_display($amount, $from, $to) {
    $from = strtoupper(sanitize_text_field($from));
    $to = strtoupper(sanitize_text_field($to));
    $cache_key = 'exr_' . md5($from . '_' . $to);
    $rate = get_transient($cache_key);

    if ($rate === false) {
        $url = sprintf('https://api.exchangerate.dev/v1/convert/%s/%s/1', $from, $to);
        $response = wp_remote_get($url, array(
            'timeout' => 5,
            'headers' => array('Authorization' => 'Bearer ' . EXCHANGERATE_API_KEY),
        ));
        if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
            return null;
        }
        $body = json_decode(wp_remote_retrieve_body($response), true);
        $rate = isset($body['rate']) ? (string) $body['rate'] : null;
        if ($rate === null) return null;
        set_transient($cache_key, $rate, MINUTE_IN_SECONDS);
    }

    return (float) $amount * (float) $rate;
}

Paso 2

Ejecuta este patrón en el servidor, valida las entradas y conserva los metadatos de la respuesta.

Ejemplo de códigocopy
add_filter('woocommerce_get_price_html', function ($html, $product) {
    $estimate = exr_convert_for_display((float) $product->get_price(), 'USD', 'EUR');
    if ($estimate === null) return $html;
    return $html . '<small class="fx-estimate">Estimated ' .
        wp_kses_post(wc_price($estimate, array('currency' => 'EUR'))) . '</small>';
}, 10, 2);

Paso 3

  • Mantén la clave API en el servidor.
  • Valida códigos de moneda e importes.
  • Almacena en caché las respuestas correctas.
  • Muestra la fuente y la hora de observación.
Guía
Estos tipos son indicativos y no son precios de liquidación.
ER
exchangerate.dev
Guías prácticas para integrar datos de divisas.

Sigue leyendo

GuíaAPI de conversión de divisas para desarrolladoresLeer GuíaConversión de divisas para ShopifyLeer GuíaExchange rates for SaaS billingLeer