Stripe FX Quotes API vs API de divisas dedicada: ¿cuál usar en 2026?
Si aceptas pagos en línea, probablemente has notado que Stripe FX Quotes API frente a una API de divisas dedicada se ha convertido en una de las preguntas de arquitectura más comunes en los canales de ingeniería fintech. Las herramientas de FX de Stripe han madurado: ahora te permiten bloquear un tipo de cambio hasta 24 horas, exponer las comisiones de FX por adelantado y presentar precios localizados automáticamente. La pregunta lógica es: ¿sigues necesitando una API de tipos de cambio independiente en tu stack?
La respuesta corta es "depende, y la mayoría de los productos serios terminan usando ambas". La respuesta larga es para lo que sirve este artículo. Compararemos los dos enfoques en precio, cobertura, latencia, precisión y experiencia del desarrollador, recorreremos cinco escenarios reales de ingeniería y mostraremos código funcional para cada lado para que puedas tomar una decisión que escale.
TL;DR — Cuándo gana cada uno
Usa Stripe FX Quotes API cuando la conversión esté ligada a un pago, transferencia o pago procesado por Stripe y quieras que el tipo que Stripe va a cobrar quede garantizado antes del checkout.
Usa una API de divisas dedicada como Finexly cuando necesites tipos fuera del flujo de pago: páginas de precios, informes contables, dashboards de tesorería, analítica, apps móviles, facturación multidivisa, modelos de riesgo de FX o cualquier producto que muestre tipos sin cobrar inmediatamente.
La mayoría de los stacks de producción combinan ambos: una API de divisas dedicada alimenta todo lo previo y posterior al pago, y Stripe FX Quotes API alimenta el momento exacto de la conversión en el checkout. Explicaremos por qué más adelante.
Qué hace realmente Stripe FX Quotes API
La FX Quotes API de Stripe es una incorporación relativamente nueva al stack de pagos de Stripe. Te permite solicitar un tipo de cambio garantizado para un par de divisas, asociar esa cotización a un PaymentIntent, Transfer o Payout, y Stripe se compromete a liquidar a ese tipo siempre que la cotización no haya expirado.
Cómo funciona
Pides a Stripe una cotización entre dos divisas y una duración. Stripe devuelve un objeto de cotización con el tipo bloqueado, el timestamp de expiración, la comisión de FX y una "prima" que aumenta cuanto más quieras mantener el tipo. Luego referencias el ID de esa cotización al crear el objeto de pago. Si la cotización sigue siendo válida en el momento de la liquidación, obtienes exactamente la conversión prometida.
Hay tres duraciones de bloqueo comunes:
- Una ventana corta de unos 5 minutos, útil para flujos de checkout síncronos.
- Una ventana media de 1 hora, útil para carritos, recuperación de carritos abandonados o flujos quote-to-cash.
- Una ventana larga de 24 horas, útil para facturas B2B, transferencias programadas y liquidaciones a plazo.
El precio se compone de dos partes. Primero, la comisión estándar de FX de Stripe, que ronda el 2% para la mayoría de los pares y se suma al coste de procesamiento de tarjeta transfronteriza. Segundo, una prima adicional que crece con la duración: una cotización de 24 h cuesta más que una de 5 min porque Stripe asume más riesgo de mercado en tu nombre.
Dónde brilla
La FX Quotes API resuelve un problema específico y muy valioso extremadamente bien: elimina la incertidumbre del momento en el que el dinero se mueve realmente. Si alguna vez un cliente se ha quejado de que el precio en la página de pago no coincide con el extracto de su tarjeta, sabes lo doloroso que es. Con una cotización Stripe bloqueada, esa diferencia desaparece. El número que muestras es el que se liquida.
También es la única forma de conocer la comisión de FX exacta de Stripe por adelantado. La comisión no es un porcentaje limpio del importe; varía por corredor, divisa y hora del día. La FX Quotes API la expone como un número que puedes mostrar, registrar o trasladar al comprador.
Dónde se queda corta
Las herramientas FX de Stripe están fuertemente acopladas al sistema de liquidación de Stripe. Están construidas en torno a dinero que vas a mover a través de Stripe. Eso las hace una mala opción para casos en los que necesitas tipos de cambio y nunca cobras una tarjeta: páginas de precios, informes internos, modelos de tesorería, apps móviles que funcionan offline, sistemas contables que reconcilian transferencias bancarias, dashboards que visualizan tendencias de FX.
La cobertura también es más estrecha de lo que parece. Stripe procesa pagos en más de 135 divisas, pero las FX Quotes no están disponibles para cada par, cada región o cada Merchant Category Code (MCC). Los MCC de alto riesgo están excluidos por completo.
Qué hace una API de divisas dedicada
Una API de tipos de cambio dedicada como Finexly es un servicio enfocado: te dice cuál es el tipo entre dos divisas, ahora y en cualquier momento del pasado. No mueve dinero. No le importan los MCC. Solo te da datos de tipos fiables a través de una interfaz REST simple.
Cómo funciona
Haces una petición HTTP y obtienes un objeto JSON con los tipos mid-market más recientes desde la API de Finexly. También puedes obtener tipos históricos para cualquier fecha de años atrás, rangos time-series para gráficos o un endpoint directo de conversión que hace la multiplicación por ti.
Aquí tienes una sola llamada que devuelve el tipo actual para más de 170 divisas:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.finexly.com/v1/latest?base=USD&symbols=EUR,GBP,JPY"La respuesta llega en menos de 50 milisegundos desde ubicaciones edge y es cacheable, importante para páginas de precios de alto tráfico.
Cobertura y precios
Una buena API de divisas suele cubrir más de 170 divisas, incluyendo majors, minors, pares exóticos y a menudo cripto. El precio es por petición y tiende a ser drásticamente más barato que las comisiones de FX de los procesadores de pago. Finexly, por ejemplo, incluye 1.000 peticiones gratis al mes en el plan gratuito, suficientes para un SaaS pequeño en el tier free. Consulta los planes de precios para volúmenes mayores.
Críticamente, pagas por acceso a datos, no por valor convertido. Si muestras un millón de conversiones de divisa al día en tu sitio de marketing, no pagas un porcentaje de 1 M USD imaginarios; pagas por una llamada cacheada en CDN.
Dónde brilla
Las APIs de divisas dedicadas son la herramienta correcta cuando los datos de tipos son una superficie de producto, no una superficie de pago. Ejemplos: una página de precios de marketing que dice "desde 19 €" detectando el locale del visitante; un dashboard SaaS que muestra balances en la divisa local del usuario; un tema Shopify que previsualiza precios en 30 divisas antes del checkout; un sistema contable que registra una factura en USD en un libro EUR al tipo histórico mid-market; una app fintech que visualiza la tendencia EUR/USD de los últimos 5 años.
Para más sobre este estilo de integración, mira nuestras guías de checkout multidivisa en Shopify y conversor de divisas en React.
Dónde se queda corta
Una API de divisas dedicada publica un tipo de referencia mid-market. Es el número correcto para mostrar, para contabilidad y para analítica, pero no necesariamente el tipo que tu procesador de pago usará para liquidar una transacción de tarjeta. Si necesitas el tipo exacto al que se moverá el dinero, la cotización del procesador es la fuente de verdad. El mid-market es la verdad sobre el mercado; el tipo del procesador es la verdad sobre la transacción.
Comparación lado a lado
| Dimensión | Stripe FX Quotes API | API de divisas dedicada (p. ej. Finexly) |
|---|---|---|
| Propósito principal | Bloquear un tipo para un pago Stripe | Datos de tipos para cualquier caso |
| Divisas cubiertas | 135+ (sujeto a MCC y región) | 170+, incluyendo pares exóticos |
| Tipo de tasa | Tipo de liquidación Stripe (incluye comisión FX) | Tipo de referencia mid-market |
| Latencia | ~150–400 ms (llamada en vivo) | <50 ms con caché edge |
| Datos históricos | No | Sí, multi-año |
| Rangos time-series | No | Sí |
| Modelo de coste | ~2% FX + prima por duración | Por petición, plan gratuito disponible |
| Caché | Limitada (cotizaciones expiran) | Caché agresiva recomendada |
| Uso fuera de pagos | No diseñada para ello | Caso principal |
| Soporte móvil/offline | Requiere red en vivo | Fácil de cachear localmente |
| Onboarding del dev | Cuenta Stripe, KYC, revisión MCC | API key en 60 segundos |
Cinco escenarios reales — y cuál elegir
1. Página de precios mostrando divisa local
Tienes un SaaS. La página de precios debería decir "29 USD/mes" para visitantes de EE. UU. y "27 €/mes" para visitantes alemanes. Elige una API de divisas dedicada. Esto es visualización de tipo, no pago. Quieres una sola petición sub-50 ms cacheable durante horas, no una cotización de pago por petición con un 2% incorporado.
2. Checkout de tarjeta transfronterizo
Tu cliente paga en EUR pero tú liquidas en USD. El importe en el recibo debe coincidir con lo que Stripe carga a su tarjeta. Elige Stripe FX Quotes API. Bloquea una cotización de 5 minutos al cargar el carrito, asóciala al PaymentIntent, y el cliente nunca verá un desajuste.
3. Facturación B2B con net-30
Emites una factura en GBP hoy; el cliente paga en USD en 25 días. Usa ambas. Muestra el importe en GBP y una referencia en USD usando el conversor de divisas Finexly para dar contexto. Luego, cuando hagan clic en pagar, solicita una cotización Stripe fresca en ese momento. El tipo de referencia al emitir y el tipo de liquidación al pagar son trabajos diferentes.
4. Dashboard de tesorería y monitorización de riesgo FX
Tu equipo financiero quiere un dashboard tipo Looker mostrando tu cash en 7 divisas más un gráfico histórico de 90 días de EUR/USD. Elige una API de divisas dedicada. Stripe FX Quotes no devuelve histórico, no provee time-series y no se construyó para analítica. Una API de divisas te da los endpoints históricos nativamente.
5. App móvil con modo offline
Lanzas una app de viajes que convierte divisas para turistas en aeropuertos con mal Wi-Fi. Elige una API de divisas dedicada. Puedes cachear 170 tipos en unos 4 KB de JSON al iniciar la app y convertir cualquier cosa offline. Las herramientas FX de Stripe no funcionan offline porque están atadas a una cotización viva. Para más profundidad, lee nuestra guía de exchange rate API para apps móviles.
Ejemplos de código
Stripe FX Quotes API (Node.js)
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
// Step 1: lock a rate good for 5 minutes
const quote = await stripe.fxQuotes.create({
to_currencies: ['eur'],
from_currency: 'usd',
lock_duration: 'five_minutes',
});
const rate = quote.rates['eur'].exchange_rate;
const expiresAt = quote.lock_expires_at;
// Step 2: attach the quote to a PaymentIntent
const intent = await stripe.paymentIntents.create({
amount: 2900, // 29.00 USD presented to the buyer
currency: 'eur', // settled in EUR using the quote
fx_quote: quote.id,
});Obtienes un tipo garantizado, puedes mostrar al cliente el importe en EUR antes de pagar y la liquidación coincide exactamente. El trade-off: pagas la comisión de FX de Stripe más una pequeña prima por la ventana de bloqueo.
Finexly Currency API (Node.js)
const API_KEY = process.env.FINEXLY_API_KEY;
async function getRates() {
const res = await fetch(
'https://api.finexly.com/v1/latest?base=USD&symbols=EUR,GBP,JPY',
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const data = await res.json();
return data.rates;
}
// Display localized pricing
const rates = await getRates();
const priceInEur = (29 * rates.EUR).toFixed(2);
console.log(`Price for German visitor: €${priceInEur}`);Este es el tipo que muestras, registras o usas para analítica. No te comprometes a una transacción; lees el mercado. Cachea la respuesta una hora y una sola llamada API sirve miles de pageviews. Para más ejemplos por lenguaje, mira nuestra guía de integración Node.js o tutorial Python.
Costes ocultos a vigilar
Cuando comparas los dos enfoques, no te quedes en los números de cabecera. Hay costes que se esconden bajo la superficie.
Sorpresas del lado Stripe. El 2% es la media; algunos corredores son más altos. Adaptive Pricing puede aplicar una comisión de 2–4% invisible al cliente que sube su precio efectivo. Las comisiones cross-border se apilan sobre las de FX. Si procesas 100 K USD/mes en transfronterizos, incluso una brecha del 0,5% son 6 K USD/año.
Trampas de la API de divisas. Los planes gratis suelen rate-limitar agresivamente, así que planea caché desde el día uno. Algunos proveedores actualizan solo a diario; si necesitas precisión intradía, confirma la frecuencia. Lee nuestra guía de caché y manejo de errores antes de ir a producción.
El coste de no usar una cotización. Si muestras un precio con el tipo de ayer y Stripe liquida con el de hoy, la brecha la pagas tú. Sobre un movimiento del 1% es pequeña por transacción pero se acumula al cabo del mes. O bloqueas el tipo en el checkout o aceptas la varianza con un colchón en el precio.
Cómo combinar ambas para mejores resultados
La arquitectura de producción más fuerte que vemos en Finexly es así:
Una API de divisas dedicada alimenta todo fuera del momento del pago: páginas de precios, dashboards, libros contables, apps móviles, búsqueda, analítica, informes de riesgo FX. Cachea agresivamente (TTL de 1 hora va bien). Una API key, costes predecibles, respuestas sub-50 ms.
La Stripe FX Quotes API alimenta todo dentro del momento del pago: tipos bloqueados en checkout, cifras exactas en recibos, asientos contables alineados con la liquidación. Sin sorpresas para el cliente.
La conciliación cierra el bucle. Tras una liquidación Stripe, registra tanto el tipo Stripe como el mid-market correspondiente de la API de divisas. La diferencia es tu coste real de FX, y trackearlo en el tiempo es de lo más alto-leverage que un equipo financiero fintech puede hacer. Lee nuestras guías de hedging de divisas y gestión de riesgo de divisas.
Si quieres una comparativa frente a otros proveedores dedicados, nuestra comparación ExchangeRate-API vs CurrencyLayer vs Finexly los desglosa por las mismas dimensiones.
Preguntas frecuentes
¿Stripe FX Quotes API es gratis?
La API en sí no tiene cargo por llamada, pero las conversiones que potencia llevan la comisión estándar de FX de Stripe (alrededor del 2% en la mayoría de pares) más una pequeña prima por bloqueos largos. No hay "suscripción" separada; el precio va dentro del pago.
¿Puedo usar una API de divisas para liquidar pagos Stripe a un tipo personalizado?
No. Stripe siempre liquida a su propio tipo; no puedes inyectar un tipo externo en su motor. Lo que sí puedes hacer es mostrar un tipo personalizado al cliente (calculado desde tu API de divisas más tu margen) y luego usar la cotización Stripe para bloquear la liquidación real. Si te equivocas por más de un pelo, la brecha es tuya.
¿Cuánto más rápida es una API de divisas dedicada?
Una llamada típica desde edge devuelve en menos de 50 ms. Un round-trip de Stripe FX Quote suele ser de 150–400 ms porque es una llamada viva firmada contra la infraestructura de pagos de Stripe. En un sitio de marketing con cientos de etiquetas de divisa por página, esa brecha es la diferencia entre render instantáneo y retraso visible.
¿Qué pasa si una cotización Stripe expira antes de usarla?
Queda inválida y debes pedir otra. En checkout síncrono es raro. En async (facturas B2B, transferencias programadas), elige una duración mayor de antemano o prepárate para refrescar y reconfirmar con el cliente.
¿Puedo evitar la comisión FX de Stripe del todo?
A veces. Si mantienes saldos en la divisa del cliente y liquidas en esa divisa, no hay FX. Cuentas Stripe multidivisa y una estrategia de tesorería con varios PSP pueden eliminar gran parte de la comisión. Una API de divisas dedicada es lo que usas para modelar si esa estrategia merece la pena.
Empieza
¿Listo para añadir tipos de cambio en tiempo real a tu proyecto? Obtén tu API key gratuita de Finexly — sin tarjeta de crédito. Empieza con 1.000 peticiones gratis al mes, respuestas sub-50 ms y 170+ divisas de serie, y escala cuando lo necesites.
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →