Назад к блогу

Что такое динамическая конвертация валют (DCC)? Руководство для разработчиков

V
Vlado Grigirov
July 18, 2026
Currency API Exchange Rates DCC Payments Fintech Tutorial

Когда-нибудь расплачивались картой за границей и слышали вопрос: «Вы хотите оплатить в долларах США или в местной валюте?» За этим единственным вопросом стоит динамическая конвертация валют (dynamic currency conversion, DCC) — а за ней скрывается целая цепочка из определения карты, поиска обменного курса и расчёта наценки, которую стоит понимать каждому разработчику финтех-продуктов. Это руководство объясняет, что такое динамическая конвертация валют, как она работает шаг за шагом, из чего складываются её издержки и как вы сами можете построить прозрачное предложение DCC с помощью API обменных курсов валют.

Управляете ли вы магазином, который обслуживает зарубежных покупателей, или разрабатываете оформление заказа как программист — понимание DCC помогает принимать взвешенные решения и, что особенно важно, показывать клиентам курсы, которым они могут доверять.

Что такое динамическая конвертация валют?

Динамическая конвертация валют (DCC), которую иногда называют предпочтительной валютой держателя карты (cardholder preferred currency, CPC) или «оплатой в вашей валюте», — это услуга, позволяющая клиенту, расплачивающемуся иностранной картой, увидеть и оплатить сумму транзакции в своей домашней валюте вместо местной валюты продавца прямо в точке продажи.

Допустим, путешественник из США покупает ужин за 100 € в Париже. Без DCC терминал ресторана списывает 100 €, а банк клиента позже конвертирует их в доллары по тому курсу, который применяет платёжная сеть. С DCC терминал распознаёт, что карта выпущена в США, конвертирует сумму на месте и предлагает клиенту выбор: заплатить 100 € или примерно 112 $ (сумма в евро, переведённая в доллары, плюс наценка). Покупатель видит точную сумму в долларах до подтверждения.

DCC работает во множестве платёжных сценариев: транзакции с присутствием карты по чипу и PIN-коду и бесконтактно, мобильные кошельки вроде Apple Pay и Google Pay, снятие наличных в банкоматах и онлайн-платежи без присутствия карты (часто называемые eDCC). Основная идея всегда одна и та же — конвертировать в момент оплаты, чтобы держатель карты платил в привычной валюте.

Как работает DCC, шаг за шагом

Как только DCC включена на платёжном терминале или в онлайн-оформлении заказа, транзакция проходит пять этапов:

  1. Инициирование платежа. Клиент прикладывает, вставляет или вводит данные иностранной карты при оформлении заказа.
  2. Определение карты и поиск валюты. Во время авторизации провайдер DCC считывает BIN карты (Bank Identification Number, банковский идентификационный номер — первые 6–8 цифр), чтобы определить страну-эмитента и домашнюю валюту держателя карты — EUR, USD, GBP, JPY и так далее.
  3. Расчёт курса и наценки. Провайдер берёт базовый обменный курс, добавляет наценку и вычисляет сумму в домашней валюте клиента.
  4. Выбор валюты. Терминал или экран оформления заказа предлагает два варианта — оплатить в местной валюте или в домашней валюте — показывая обменный курс, наценку и итоговую сумму, чтобы клиент мог сделать выбор.
  5. Расчёты (сеттлмент). Какую бы валюту ни выбрал клиент, эквайер продавца рассчитывается с продавцом в местной валюте на полную сумму. Провайдер DCC берёт конвертацию на себя за кулисами.

Обменный курс и итоговые суммы, показанные в чеке DCC, фиксируются в момент транзакции, поэтому сумма, которую одобряет клиент, совпадает с той, что позже появится в его выписке. Именно эта предсказуемость — главное преимущество DCC.

Наценка DCC: откуда берутся издержки

Вот самая важная часть. Курс, предлагаемый в транзакции DCC, — это не чистый рыночный курс. Это базовый курс плюс наценка, которая включает в себя комиссию провайдера за конвертацию валюты и его прибыль.

Эти наценки сильно различаются. Обычно они находятся где-то между примерно 3 % и 12 %, а независимые исследования зафиксировали наценки DCC, достигавшие 18 % сверх стандартного обменного курса. Для сравнения, если клиент отказывается от DCC и позволяет собственному банку конвертировать транзакцию, банк обычно применяет курс, гораздо более близкий к межбанковскому (оптовому) курсу плюс меньшую комиссию за зарубежную операцию.

Именно поэтому защитники прав потребителей и рекомендации для путешественников от платёжных сетей в целом предупреждают, что выбор DCC обычно обходится держателю карты дороже, чем отказ от неё. DCC даёт определённость и удобство, а не более выгодный курс.

Для всех, кто создаёт платёжный опыт, вывод очевиден: чем прозрачнее ваш курс и наценка, тем больше доверия вы завоюете — и тем меньше споров и возвратных платежей вам придётся разбирать. Эта прозрачность начинается со знания реального среднерыночного курса (mid-market rate), чтобы вы могли точно показать клиентам, сколько они переплачивают сверх него.

DCC против традиционной конвертации валют

Эти два подхода различаются по трём осям:

  • Кто устанавливает курс. При DCC курс и наценку устанавливает провайдер DCC продавца. При традиционной конвертации это делает банк-эмитент держателя карты или платёжная сеть (Visa, Mastercard).
  • Когда происходит конвертация. DCC конвертирует в точке продажи — заранее и наглядно. Традиционная конвертация происходит позже, за кулисами, и появляется в выписке.
  • Стоимость. Наценки DCC обычно выше собственной комиссии эмитента за конвертацию, поэтому традиционная конвертация зачастую дешевле — но клиент не знает точную итоговую сумму, пока не придёт выписка.

Ни один из подходов не является «лучшим» во всех случаях. DCC меняет более высокую стоимость на мгновенную определённость; традиционная конвертация меняет эту определённость на, как правило, более низкую стоимость. Понимание этого компромисса — основа для создания функций конвертации, честных в отношении обеих сторон. Если вам нужна более глубокая механика того, как выводятся курсы конвертации, посмотрите наше руководство о том, как работают обменные курсы, и разницу между среднерыночным обменным курсом и розничными курсами с наценкой.

Правила соответствия, которые должны знать разработчики

DCC регулируется, и если вы её создаёте, правила не являются необязательными. Обе крупные платёжные сети требуют подлинной прозрачности и согласия:

  • Базовый курс должен быть оптовым/межбанковским. Наценка применяется поверх этого референсного курса, а не незаметно вшивается в вымышленное число.
  • Наценка должна быть раскрыта. Visa требует, чтобы наценка сверх референсного курса была показана держателю карты.
  • Согласие обязательно. «Кабинетная DCC» (back office DCC) — конвертация без явного выбора клиента — запрещена. Клиент должен активно согласиться, а персонал никогда не должен предполагать предпочтение.
  • Чек должен документировать выбор, включая сумму в местной валюте, конвертированную сумму, использованный курс, наценку и подтверждение того, что держатель карты принял DCC.

Соответствие этим требованиям означает, что вашей системе нужен надёжный, проверяемый источник референсного обменного курса. Именно здесь на помощь приходит специализированный API обменных курсов валют.

Как построить прозрачное предложение DCC с помощью валютного API

Вам не нужно быть глобальным платёжным процессором, чтобы предложить справедливую конвертацию, соответствующую правилам. Строительные блоки таковы: определить домашнюю валюту карты, получить чистый референсный курс, применить раскрытую наценку и показать клиенту выбор. Вот как выстроить слой курсов с помощью API Finexly.

Шаг 1: Определите валюту-эмитента карты

Сопоставьте BIN карты со страной-эмитентом и валютой. Большинство эквайеров и сервисов поиска по BIN возвращают ISO-код страны, который вы можете преобразовать в код валюты по ISO 4217. Для этого примера предположим, что определение вернуло USD в качестве домашней валюты держателя карты, а продавец работает в EUR.

Шаг 2: Получите среднерыночный референсный курс

Запросите текущий курс из EUR (валюта продавца) в USD (валюта держателя карты). С помощью cURL:

curl "https://api.finexly.com/v1/latest?base=EUR&symbols=USD" \
  -H "Authorization: Bearer YOUR_API_KEY"

Типичный ответ в формате JSON:

{
  "base": "EUR",
  "date": "2026-07-18",
  "rates": {
    "USD": 1.0842
  }
}

Шаг 3: Примените и раскройте свою наценку

Возьмите среднерыночный курс, добавьте прозрачную наценку и вычислите обе суммы. На JavaScript:

async function buildDccOffer(merchantAmount, base, home, markupPct) {
  const res = await fetch(
    `https://api.finexly.com/v1/latest?base=${base}&symbols=${home}`,
    { headers: { Authorization: "Bearer YOUR_API_KEY" } }
  );
  const data = await res.json();

  const midMarketRate = data.rates[home];
  const dccRate = midMarketRate * (1 + markupPct / 100);
  const homeAmount = merchantAmount * dccRate;

  return {
    payInLocal: { amount: merchantAmount.toFixed(2), currency: base },
    payInHome: {
      amount: homeAmount.toFixed(2),
      currency: home,
      rate: dccRate.toFixed(4),
      midMarketRate: midMarketRate.toFixed(4),
      markup: `${markupPct}%`,
    },
  };
}

// A €100 charge, cardholder in USD, 2.5% disclosed markup
buildDccOffer(100, "EUR", "USD", 2.5).then(console.log);

Та же логика на Python:

import requests

def build_dcc_offer(merchant_amount, base, home, markup_pct):
    r = requests.get(
        "https://api.finexly.com/v1/latest",
        params={"base": base, "symbols": home},
        headers={"Authorization": "Bearer YOUR_API_KEY"},
    )
    mid = r.json()["rates"][home]
    dcc_rate = mid * (1 + markup_pct / 100)
    return {
        "pay_in_local": {"amount": round(merchant_amount, 2), "currency": base},
        "pay_in_home": {
            "amount": round(merchant_amount * dcc_rate, 2),
            "currency": home,
            "rate": round(dcc_rate, 4),
            "mid_market_rate": round(mid, 4),
            "markup": f"{markup_pct}%",
        },
    }

print(build_dcc_offer(100, "EUR", "USD", 2.5))

Шаг 4: Честно представьте выбор

Отобразите оба варианта рядом — сумму в местной валюте и сумму в домашней валюте — и покажите среднерыночный курс, вашу наценку и итоговый курс. Поскольку вы получили референсный курс из оптового источника, вы можете доказать, что наценка ровно такая, какую вы раскрыли. Сохранение поля date из ответа API вместе с транзакцией даёт вам проверяемую запись, которую ожидают платёжные сети.

Поскольку курсы меняются постоянно, разумно кешируйте ответы и обновляйте их по расписанию, которое подходит вашему объёму, — посмотрите наши заметки о кешировании и обработке ошибок, где описаны шаблоны, позволяющие оставаться быстрым и не выдавать устаревшие котировки. По мере роста объёма транзакций изучите тарифные планы, чтобы подобрать план под вашу частоту запросов.

Преимущества и риски DCC

DCC не является по своей сути ни хорошей, ни плохой — это инструмент с явными плюсами и реальными компромиссами.

Для продавцов DCC может расширить международную привлекательность, снизить путаницу с оплатой и открыть поток дохода от разделения комиссии, поскольку некоторые провайдеры возвращают часть маржи от конвертации. Она также может сократить споры, ведь клиенты одобряют точную сумму в понятной им валюте.

Для покупателей DCC даёт удобство и определённость: никаких вычислений в уме, а сумма в чеке совпадает с банковской выпиской. Компромисс — это стоимость: наценка обычно делает DCC дороже, чем если бы конвертацию выполнял их собственный банк.

Риск для обеих сторон — это непрозрачность. Когда наценки скрыты или выбор делается за клиента, доверие быстро разрушается, а регуляторы обращают на это внимание. Стройте с расчётом на прозрачность — и DCC станет настоящим удобством, а не скрытой комиссией.

Часто задаваемые вопросы

Стоит ли динамическая конвертация валют того для клиентов? Обычно она обходится дороже, чем отказ от неё, потому что наценка DCC, как правило, превышает комиссию, которую взял бы собственный банк держателя карты. Её ценность — в определённости: вы видите точную сумму в домашней валюте до оплаты. Чувствительные к затратам клиенты обычно экономят, оплачивая в местной валюте.

Какова типичная наценка DCC? Наценки обычно варьируются примерно от 3 % до 12 % сверх референсного обменного курса и были задокументированы на уровне до 18 %. Платёжные сети требуют, чтобы наценка была раскрыта и применялась поверх оптового межбанковского курса.

Является ли DCC тем же, что и мультивалютное ценообразование? Нет. DCC конвертирует в момент оплаты на основе валюты-эмитента карты. Мультивалютное ценообразование отображает цены в валюте покупателя на протяжении всего просмотра, до оформления заказа. Многие продавцы используют оба подхода.

Могу ли я построить собственное предложение конвертации в стиле DCC? Вы можете самостоятельно построить слой курсов и раскрытия информации, используя валютный API для получения референсного курса, а затем применить и показать прозрачную наценку. Фактический расчёт по карточным транзакциям всё равно идёт через вашего эквайера и должен соответствовать правилам DCC от Visa и Mastercard, включая согласие и раскрытие информации.

Как мне получить среднерыночный курс для конвертаций? Используйте API обменных курсов в реальном времени. Finexly предоставляет актуальные и исторические курсы для более чем 170 валют, так что вы можете получить среднерыночный курс, применить собственную раскрытую наценку и представить честную конвертацию. Попробуйте бесплатный валютный API, чтобы начать.

Получите точные курсы для ваших сценариев конвертации

Динамическая конвертация валют держится или рушится на прозрачности курса. Предлагаете ли вы DCC, создаёте мультивалютное оформление заказа или просто показываете покупателям, сколько они действительно заплатят, — всё начинается с надёжного источника среднерыночного курса.

Готовы встроить прозрачную конвертацию в свой продукт? Получите бесплатный API-ключ Finexly — без банковской карты. Начните с 1000 бесплатных запросов в месяц, получайте курсы в реальном времени для более чем 170 валют и масштабируйтесь по мере роста объёма транзакций.

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 →