Мультивалюталык каталогдор
(Бөлүк: Операциялар жана башкаруу)
1) Милдети жана колдонуу чөйрөсү
Мультивалюталык каталог - ар кандай валюталар, региондор жана каналдар үчүн баалар/комиссиялар/салыктар жөнүндө чындыктын бирдиктүү булагы. Ал камсыз кылат:- (UX, ишеним),
- эсептешүүлөрдүн кайталанышы (аудит, кайтарымдар),
- экономикалык болжолдоо (маржа/салыктар),
- комплаенс (салык салуу, санкциялар, валюталарды чектөө).
2) Маалыматтар модели (референт)
Маңызы:- Product/SKU: `{sku_id, title, attributes, region_policies[]}`
- PriceList: `{pricelist_id, base_currency, effective_from, effective_to, version}`
- PriceItem: `{sku_id, base_price, base_currency, tax_class, pricing_model, promo_refs[]}`
- FXRate: `{pair: EUR→USD, rate, source, method, precision, effective_from, version}`
- `minor_units` (ISO 4217; мисалы, JPY = 0, USD/EUR = 2, KWD = 3; крипто үчүн - 8 чейин)
- 'rounding _ mode': 'HALF _ UP' (чекене), 'BANKERS' (финансы), 'FLOOR '/' CEIL' (салыктар/жөнгө салуучулар)
3) FX булактары жана саясаты (алмашуу курсу)
Булактар: курстар провайдерлери (коммерциялык/борбордук банктар), өзүнүн TWAP/медиана.
Жаңылоо саясаты: жыштык (туруксуз үчүн 1-15 мин, туруктуу үчүн 1 жолу/күн), жарыялоо кечигүү.
Маркаптар: 'rate (1 + fx_markup_bps)' кардар тарапта; ачык-айкын эрежелер per-канал/аймак.
кепилденген терезе (rate lock): 5-30 мүнөт менен 'fx _ version' буйрутма.
Анти-секирик: тик үчүн капка өзгөрүүлөр, circuit-breakers, акыркы валиддик котировкага fallback.
Версиялоо: курстардын ар бир жарыялоо 'version', 'effective _ from'; кайтаруулар/талаш-тартыштар үчүн тарыхты сактаңыз.
4) баа стратегиялары
Base + FX: Негизги бааны "ядродо" сактоо (мисалы, EUR), витринага которуу.
Per-currency барактар: негизги акча үчүн алдын ала эсептелген баалар (мыкты UX, алдын ала).
Mixed: Top 10 акча - алдын ала эсептөө, "узун куйрук" - on-the-fly.
Charm-pricing: `X. 99/95/90 'региондо, тегеректөө каталарынын топтолушун көзөмөлдөө.
Төлөмдөр/жыйымдар: payment fee, cross-border fee, network fee (крипто) - каталогдо же "Текшерүү баасы" баскычында.
5) Салыктар жана "күйгүзүү"
VAT/GST киргизилген/алынып салынган: EU - көбүнчө VAT-inclusive; B2B КНСсиз болушу мүмкүн.
Салык катмарлары: федералдык/штат/жергиликтүү; онлайн оюндар үчүн - белгилүү жыйымдар.
Босого чендер: салык жүгүртүүдөн/категориядан/аймактан (threshold) өзгөрөт.
Салыктарды тегеректөө: per-item vs per-basket; тегеректөө режимдери жана эсептөө тартиби аныкталууга тийиш.
Кар. отчеттуулук: чек/дүмүрчөктө 'tax _ rule _ version' сактаңыз.
6) тегеректөө жана тактык
көрсөтүү акыркы кадам тегерек; эсептөөлөрдө "жогорку тактык" (8-9 белгиге чейин).
крипто үчүн decimal китепкана (бинардык калкып жок).
Анти-drift себет: "bankers rounding" суммалар үчүн, бирок UX-тегеректөө көрсөтүү үчүн; 'rounding _ scope'.
Сумманын эрежеси: тегеректөөлөрдөн кийинки саптардын суммасы total менен дал келиши керек - акыркы тыйындарды/центтерди бөлүштүрүүнү колдонуңуз (penny distribution).
7) Каталогдор, промо жана Бандла
Promo-правила: `if region=A and currency in [EUR,USD] then discount=10% cap=50`.
Колдонуу тартиби: (1) базалык баасы → (2) арзандатуулар → (3) салыктар → (4) жыйымдар → (5) тегеректөө.
Bundle-бөлүштүрүү: арзандатууга чейин орундардын өтмөгүнө пропорционалдуу; кайтаруу үчүн vapper.
Threshold-промо: куржундун акча менен жалпы ≥ X акысыз жеткирүү/бонус; эквивалентти базалык валютада сактаңыз, бирок FX версиясын бекитиңиз.
8) Төлөмдөр жана комплаенс менен интеграция
Валюта жеткиликтүүлүгү: ар бир валюта ар бир оюнчу/аймак/төлөм провайдери үчүн жеткиликтүү эмес.
Guaranteed FX: белгиленген 'fx _ version' боюнча алдын ала авторизациялоо; экспирация учурунда - жаңы бааны ырастоо өтүнүчү.
КБК/санкциялар: валюталардын/банктардын/токендердин блок-баракчалары, конвертациялоого чектөөлөр.
Кайтарымдар/chargeback: тарыхый 'fx _ version' тартиби боюнча кайра эсептөө; кайтаруу комиссиясы - транзакция күнүндөгү каталог боюнча.
9) Архитектура жана келишим API
Каталогду окуу:- `GET /catalog/prices? sku=…¤cy=…®ion=…&pricelist=…`
- Ответ: `{unit_price, currency, fx_version, pricelist_version, tax_breakdown[], fees[], display_price, rounding_mode}`
- `POST /pricing/quote { items[], region, currency, buyer_type }`
- Ответ: `{items_priced[], subtotal, discounts, taxes[], fees[], total, fx_version, lock_ttl, signature}`
- 'POST/pricing/commit {quote_id, signature}' → хеш жана кол тамгалар менен дүмүрчөк.
- `PriceListUpdated`, `FXRatePublished`, `TaxRuleChanged`, `PromoChanged` — с `version/effective_from`.
10) Кэш жана аткаруу
Edge-кэш: ачкыч 'pricelist: region: currency: sku: version'; TTL жогорку туруктуу акча үчүн.
Warmup: өнөктүк баштоо үчүн жогорку категорияларын жылытуу.
SWR (stale-while-revalidate): витриналар үчүн; checkout - fresh гана.
Partial invalidation: тегдер боюнча майып 'sku', 'category', 'pricelist _ version'.
SLO: p95 ≤ 120 ms үчүн, p95 ≤ 250 ms үчүн quote, ≥ 99. 95% жеткиликтүүлүгү.
11) Байкоо жана аудит
Trace: 'trace _ id', 'pricelist _ version', 'fx _ version', 'tax _ rule _ version' бардык окуяларда.
Иммутабилдүүлүк: WORM-журналдар жарыялоо прейскурант/курстары; Merkle-тилкелер, релиздердин кол тамгалары (DSSE).
Receipts: чек/дүмүрчөк толук жайгаштыруу жана хеш пайдалуу жүк менен; 7-10 жыл сактоо (жөнгө салуу боюнча).
Дашборддор: терезенин айырмачылыгы, тегеректөө жыштыгы "өйдө/ылдый", FX каталары, курсту бөгөттөө убактысы (TTL кулпу), РОИ промо.
12) Локализация көрсөтүү
Валюта форматы: символ/код (, €, $, AED), символдун орду, бөлгүчтөр, боштук.
Жергиликтүү эрежелер: "1 234,56" vs "$1,234. 56”.
Психология: сыйкырдуу баа ('.99') ар дайым fintech/оюндар үчүн ылайыктуу эмес; per-аймакты сынап көрүңүз.
Юридикалык кол тамгалар: "Баа КНСти камтыйт", "Тармактын комиссиясы өзүнчө алынат".
13) Өзгөчө учурлар
Бөлүкчөлөрү жок валюталар: JPY/ISK - minor_units=0.
Үч белги минор бирдиги: KWD/BHD = 3.
Крипто: BTC/ETH/USDT - 8 белгиге чейин, тармак fee өзүнчө; stablecoins ≠ "курс 1:1" кросс-бордер менен.
Кош баа: "каталогдун валютасы" ≠ "эсептен чыгаруу валютасы" (мерчанттын банктык курсу). spread документтештирүү.
Спорт/оюндар: каталог валютасында максималдуу утуштарга лимиттер - 'fx _ version' раундунун эквиваленттерин сактоо.
14) SLO/SLI жана ийгилик метрика
Тактык: буйрутмалардын үлүшү, мында total_checkout = total_quote (бөлүштүрүү эрежелеринде 1 minor unit ±) ≥ 99. 99%.
FX туруктуулугу: rate lock терезесиндеги операциялардын үлүшү ≥ 99%.
Экономика: маржа/бирдиги vs план; улам FX/тегеректелген четтөөлөр (bps).
UX: p95 quote ылдамдыгы, баа кайра эсептөөдө таштандылардын үлүшү, NPS дүкөндөр.
Аудит: 100% сакталган '_ version' жана кол менен чектер.
15) Playbook окуялар
"Терезенин баасы ≠ себетте":1. freeze кэш-майыптар, 2) милдеттүү refresh баа тизмеси, 3) салыштыруу 'pricelist _ version '/' fx _ version', 4) саясат боюнча компенсация.
"FX секирүү маржаны жок кылат":1. 2) TTL кулпусун кыскартуу, 3) fallback булагына өтүү.
"Салык шайкеш келбейт":1. текшерүү 'tax _ rule _ version', 2) rounding_scope валидациясы, 3) hotfix эрежелери жана себеттердин кайталанышы.
"Promo терс баа берет":1. коргоо эрежелери (min_price), 2) өчүрүү, 3) recalculation жана аудит.
16) Коопсуздук жана комплаенс
Policy-as-code: PR + релиз кол аркылуу прейскурант/FX/салык өзгөрүүлөрдү көзөмөлдөө.
Ролдору/жеткиликтүүлүктөрү: 4-көз principle жарыяланган баалар/FX.
Логи/дүмүрчөктөр: кол коюлган окуялар жарыялоо жана текшерүү.
Аймактык чектөөлөр: айрым валюталарга/токендерге тыюу салуу; гео-саясат.
17) Эксперименттер жана оптималдаштыруу
A/B: charm-pricing, алдын ала эсептелген баалар vs on-the-fly, көрсөтүү форматы.
Динамикалык markup: жуп туруксуздугуна көз каранды/суткалык убакыт.
Когорт талдоо: акча кайра/chargeback, тегеректөө сезгичтиги.
Кэш стратегиясы: SWR/TTLдин конверсияга жана тактыкка тийгизген таасири.
18) Киргизүү чек-тизмеси
- негизги акча жана per-currency барак саясатын аныктоо.
- FX жыйноону/жарыялоону версиялоо, маркаптар жана TTL кулпусу менен тууралоо.
- Расмий TaxRule жана эсептөө/тегеректөө тартиби (per-item же per-basket).
- API каталогун ишке ашыруу/quote/commit + кол коюлган дүмүрчөктөр.
- edge-кэш жана гранулярдык майып киргизүү; витриналар үчүн SWR.
- Dashboard баштоо (Sheet, FX каталар, салыктар, маржа bps).
- баа/курстарды жарыялоо үчүн ролдорду/кол киргизүү, WORM журналдар.
- Playbook даярдоо: баанын төмөндөшү, FX секирүү, салык макулдашуу.
- өткөрүү "GameDay каталогу": FX булагы өчүрүү, промо-бурст, салык өзгөртүү.
- Региондор боюнча minor_units/отображение дайыма текшерип туруу.
19) FAQ
Бааларды ар бир валютада сактоо керекпи?
Сөзсүз эмес. жогорку акча үчүн алдын ала эсептөө жана "куйругу" үчүн которуу айкалыштыруу - UX жана чыгымдар балансталат.
Эмне үчүн жалпы тегерек кийин "уруп жок"?
Улам айырмачылыктар per-item vs per-basket. Бир ыкманы бекитип, "penny distribution" колдонуңуз.
Бир айдан кийин кантип кайтаруу керек?
тарыхый 'pricelist _ version', 'fx _ version' жана 'tax _ rule _ version' боюнча, дүмүрчөктө сакталган.
крипто жөнүндө эмне айтууга болот?
decimal-тактык, тармактык fee өзүнчө колдонуу, 1 убада жок: 1; курсту жана иш терезени чечүү.
Резюме: Мультивалюталык каталог - бул так математика, катуу саясат жана акылга сыярлык кэширлөөнүн айкалышы. Баарын (баалар/курстар/салыктар) версиялаңыз, цитаталардын терезесин бекитиңиз, эсептөө жана тегеректөө тартибин аныктаңыз, чек артефакттарына кол коюңуз жана дашбордддорду көрүнүктүү кармаңыз. Ошентип, сиз бардык акча жана региондордо чынчыл терезе, кайра эсептөөлөр жана башкарылуучу экономиканы алат.