Stripe FX Quotes API と専用通貨 API:2026 年はどちらを使うべきか?
オンライン決済を扱っているなら、Stripe FX Quotes API と専用通貨 API のどちらを選ぶかが、フィンテック界のエンジニアリングチャンネルで最もよくある設計の問いの一つになっていると感じているはずです。Stripe の FX ツールは成熟しました。最大 24 時間レートをロックでき、FX 手数料を事前に開示し、ローカライズ価格を自動表示します。当然の問いは、別途為替レート API を持つ意味がまだあるのか、です。
短い答えは「ケースによる、そして本気のプロダクトはたいてい両方使う」。長い答えがこの記事です。価格、カバレッジ、レイテンシ、精度、開発者体験で両アプローチを比較し、実在する 5 つの場面を歩き、両側の動くコードを示し、スケールしても崩れない判断ができるようにします。
TL;DR — どちらが勝つか
決済・送金・ペイアウトが Stripe で処理され、Stripe が実際に適用するレートをチェックアウト前に保証したいときは Stripe FX Quotes API。
決済フロー外でレートが必要なら、Finexly のような専用為替 API:価格ページ、会計レポート、トレジャリーダッシュボード、分析、モバイルアプリ、マルチカレンシー請求、FX リスクモデル、課金を伴わずレートを表示するあらゆるプロダクト。
多くの本番スタックは両方を組み合わせます。専用通貨 API が決済の前後すべてを担い、Stripe FX Quotes API がチェックアウトの変換の瞬間を担う。理由は後ほど説明します。
Stripe FX Quotes API が実際にすること
Stripe の FX Quotes API は決済スタックへの比較的新しい追加です。通貨ペアに対して保証付きレートを請求でき、その quote を PaymentIntent、Transfer、Payout に紐づけ、quote が有効な間は Stripe がそのレートで決済すると約束します。
仕組み
通貨ペアと期間で quote を Stripe に依頼すると、ロックされたレート、有効期限、FX 手数料、期間が長いほど増す「プレミアム」を含む quote オブジェクトが返ります。Payment オブジェクト作成時にこの ID を参照します。決済時に quote が有効なら、約束された変換が必ず適用されます。
代表的な 3 つのロック期間:
- 約 5 分の短窓口、同期チェックアウトに有効。
- 約 1 時間の中窓口、カート、カゴ落ち回復、quote-to-cash に有効。
- 約 24 時間の長窓口、B2B 請求、予約送金、ネットターム決済に有効。
価格は二段。第一に Stripe 標準の FX 手数料、多くのペアで約 2%、クロスボーダーカード処理コストに上乗せ。第二に期間に応じて増えるプレミアム:Stripe が市場リスクをより長く引き受けるため、24 時間 quote は 5 分 quote より高くなります。
強み
FX Quotes API は具体的で価値の高い問題を非常にうまく解きます:お金が実際に動く瞬間の不確実性を取り除く。チェックアウト価格とカード明細が合わないと顧客に苦情を言われたことがあるなら、その辛さは知っているはずです。Stripe quote をロックすれば差は消えます。表示した数字がそのまま決済される。
これは Stripe の正確な FX 手数料を事前に知る唯一の手段でもあります。手数料は綺麗な割合ではなく、回廊・通貨・時間帯で変わります。FX Quotes API はこれを表示・記録・買い手への転嫁可能な数値として返します。
弱み
Stripe の FX ツールは Stripe の決済システムと密結合です。Stripe を通して動かすお金を中心に作られています。レートが必要だがカード課金は発生しない用途には不向き:価格ページ、内部レポート、トレジャリーモデル、オフライン動作のモバイルアプリ、銀行送金を照合する会計、FX 推移を可視化するダッシュボード。
カバレッジも見た目より狭い。Stripe は 135 以上の通貨で決済しますが、FX Quotes はすべてのペア・地域・MCC では使えません。高リスク MCC は完全に除外されます。
専用通貨 API がすること
Finexly のような専用為替レート API は、目的特化型のサービス:今と過去の任意時点について、二通貨間のレートを答える。送金はしない。MCC は問わない。シンプルな REST 経由で信頼できるレートを返すだけ。
仕組み
HTTP リクエストを送ると、Finexly API から最新の mid-market レートが入った JSON が返ります。何年も前の任意日付の履歴レート、グラフ用の time-series 区間、掛け算をしてくれる convert エンドポイントも使えます。
170+ 通貨の現行レートを返す単発コール:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.finexly.com/v1/latest?base=USD&symbols=EUR,GBP,JPY"エッジから 50ms 未満で返り、キャッシュ可能。高トラフィックの価格ページに不可欠です。
カバレッジと価格
良い通貨 API は通常、メジャー、マイナー、エキゾチック、しばしば暗号資産を含む 170+ 通貨をカバーします。リクエスト課金で、決済プロセッサの FX 手数料よりずっと安価。Finexly の無料プランは月 1,000 回の無料リクエストを含み、小規模 SaaS をフル無料運用できます。大きい量は料金プランを参照。
重要なのは、変換金額ではなくデータアクセスに課金されること。マーケサイトで毎日 100 万件の通貨表示をしても、想像上の 1M USD に率を払うわけではなく、CDN キャッシュされた API コール 1 本に払うだけです。
強み
レートデータが決済表面ではなく製品表面であるとき、専用通貨 API が正解。例:訪問者ロケールに応じて「19 € から」と表示するマーケ価格ページ;ユーザーの母国通貨で残高を出す SaaS ダッシュボード;チェックアウト前に 30 通貨で価格を見せる Shopify テーマ;USD 請求を歴史的 mid-market で EUR 帳簿に計上する会計;EUR/USD の 5 年トレンドを可視化するフィンテックアプリ。
この方向の詳細はマルチカレンシー Shopify チェックアウトと React 通貨コンバータのガイドを参照。
弱み
専用通貨 API が出すのは mid-market リファレンスレート。表示・会計・分析には正しい数字ですが、決済プロセッサがカード取引を決済する際に使う必ずしも一致するとは限りません。動くお金の正確なレートが要るなら、プロセッサの quote が真実の出所。Mid-market は市場の真実、プロセッサのレートは取引の真実です。
横並び比較
| 項目 | Stripe FX Quotes API | 専用通貨 API(例:Finexly) |
|---|---|---|
| 主目的 | Stripe 決済のレート固定 | 任意用途の為替データ |
| 対応通貨 | 135+(MCC・地域に依存) | 170+、エキゾチックも |
| レート種別 | Stripe 決済レート(FX 手数料込) | Mid-market リファレンス |
| レイテンシ | ~150–400ms(ライブ呼び出し必須) | エッジキャッシュで <50ms |
| 履歴データ | なし | あり、複数年 |
| Time-series | なし | あり |
| コスト | ~2% FX + 期間プレミアム | 従量、無料プランあり |
| キャッシュ | 制限あり(quote 期限) | 強くキャッシュ推奨 |
| 決済外用途 | 想定外 | 中心用途 |
| モバイル/オフライン | ライブ回線必須 | ローカルキャッシュ容易 |
| 開発者オンボード | Stripe アカウント、KYC、MCC 審査 | 60 秒で API キー |
5 つの実例 — 何を選ぶか
1. ローカル通貨を出す価格ページ
SaaS を運営。米国訪問者には「$29/月」、ドイツ訪問者には「27 €/月」を出したい。専用通貨 API。 決済ではなく表示。1 回の sub-50ms リクエストを数時間キャッシュ、リクエスト毎の決済 quote と 2% 上乗せは要らない。
2. クロスボーダーのカードチェックアウト
顧客は EUR で支払うがあなたは USD で受領。レシート金額が Stripe のカード請求と一致する必要。Stripe FX Quotes API。 カート読込時に 5 分 quote をロックし PaymentIntent に紐づければ、ズレは出ません。
3. ネット 30 の B2B 請求
今日 GBP で発行、25 日後に USD で支払い。両方。 Finexly コンバータ で GBP 額と USD 参考を提示。実際に支払い時に新しい Stripe quote を取得。発行時のリファレンスレートと支払い時の決済レートは別の仕事。
4. トレジャリーダッシュボードと FX リスク監視
財務が 7 通貨の現金残高と EUR/USD の 90 日履歴を Looker 風に出したい。専用通貨 API。 Stripe FX Quotes は履歴も time-series も返さず、分析向けではない。通貨 API なら必要な履歴エンドポイントが標準装備。
5. オフラインモードのモバイルアプリ
電波の悪い空港で観光客向けに通貨換算する旅行アプリ。専用通貨 API。 起動時に 170 レートを ~4KB の JSON でキャッシュし、何でもオフライン換算。Stripe の FX ツールはライブ quote 依存でオフライン不可。詳細はモバイル向け為替 API ガイド。
コード例
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,
});保証レート、支払い前の EUR 表示、決済の完全一致が得られます。トレードオフ:Stripe の FX 手数料 + ロック期間プレミアム。
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}`);これは表示・記録・分析用のレート。取引コミットではなく市場の読み取り。1 時間キャッシュで 1 コールが数千 PV を捌けます。他言語例は Node.js 統合ガイドや Python チュートリアルを参照。
注意すべき隠れコスト
両者を比べる時は表面の数字だけで止めない。隠れコストがあります。
Stripe 側の意外。 2% は平均で、回廊によってはもっと高い。Adaptive Pricing は顧客に見えないまま 2–4% を上乗せして実効価格を上げる。クロスボーダーカード料金は FX に積まれる。月 10 万 USD のクロスボーダー処理なら、0.5% の差でも年 6,000 USD。
通貨 API の落とし穴。 無料プランはレートリミットが厳しいことが多く、初日からキャッシュ設計を。日次更新だけのプロバイダもあり、日内精度が必要なら更新頻度を確認。本番投入前にキャッシュとエラー処理の解説を熟読。
quote を使わないコスト。 昨日のレートで表示し Stripe が今日のレートで決済すれば、差は損失。1% の値動きは 1 件あたり小さくても、月で積もる。チェックアウトでロックするか、バリアンスを見込んで価格に余裕を持たせる。
両者を組み合わせる最強構成
Finexly が見ている最強の本番構成はこうです。
専用通貨 API は決済の外側すべてを担う:価格ページ、ダッシュボード、会計帳簿、モバイル、検索、分析、FX リスクレポート。積極キャッシュ(1 時間 TTL でほぼ十分)。1 つの API キー、予測可能なコスト、sub-50ms。
Stripe FX Quotes API は決済の内側すべてを担う:チェックアウトでのロックレート、レシートの正確な数字、決済整合の仕訳。顧客に意外なし。
精算ループを閉じる。Stripe 決済後、Stripe 決済レートと通貨 API の対応 mid-market を両方記録。差は実 FX コスト。これを継続的に追跡することは、フィンテック財務チームができる最も高レバレッジの一手。詳しくは通貨ヘッジングと通貨リスク管理。
他の専用プロバイダとの直接対決は ExchangeRate-API vs CurrencyLayer vs Finexly を参照。
よくある質問
Stripe FX Quotes API は無料?
API 自体に呼び出し課金はありませんが、変換には Stripe 標準 FX 手数料(多くのペアで ~2%)と長期ロック向けの小さなプレミアムがかかります。別個の「サブスク」はなく、決済価格に組み込まれます。
通貨 API でカスタムレートで Stripe 決済できる?
できません。Stripe は常に自社レートで決済し、外部レートを決済エンジンに注入できません。できるのは、自分の API + マージンで顧客にカスタムレートを表示し、Stripe の quote で実決済をロックすること。少しでもズレたら差は自分持ち。
専用通貨 API はどれくらい速い?
エッジからの典型的な通貨 API コールは 50ms 未満。Stripe FX Quote のラウンドトリップは Stripe 決済インフラへの署名付きライブコールのため通常 150–400ms。価格ラベルが何百あるマーケサイトでは、即時描画と可視遅延の差になります。
Stripe quote が使う前に切れたら?
無効になり再取得が必要。同期チェックアウトでは稀。非同期(B2B 請求、予約送金)では最初から長めに、または再取得と顧客再確認を準備。
Stripe の FX 手数料を完全回避できる?
時には。顧客通貨で残高保持し同通貨で決済すれば FX なし。マルチカレンシー Stripe アカウント + 複数 PSP のトレジャリー戦略で大部分を消せます。それが見合うかをモデリングするのに専用通貨 API を使います。
はじめる
リアルタイム為替レートをプロジェクトに?Finexly の無料 API キーを取得 — クレカ不要。月 1,000 回の無料リクエスト、sub-50ms 応答、170+ 通貨で開始し、必要に応じてスケール。
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 →