Mehrwährungskataloge
(Abschnitt: Operationen und Management)
1) Aufgabe und Anwendungsbereich
Ein Multi-Währungs-Katalog ist eine einzige Quelle der Wahrheit über Preise/Gebühren/Steuern für verschiedene Währungen, Regionen und Kanäle. Es bietet:- korrekte Preisauslage (UX, Vertrauen),
- Reproduzierbarkeit der Berechnungen (Audit, Retouren),
- wirtschaftliche Berechenbarkeit (Marge/Steuern),
- Compliance (Steuern, Sanktionen, Währungsbeschränkungen).
2) Datenmodell (Referenz)
Entitäten:- 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; z.B. JPY = 0, USD/EUR = 2, KWD = 3; für Crypto - bis zu 8)
- „rounding _ mode“: „HALF _ UP“ (Einzelhandel), „BANKERS“ (Finanzen), „FLOOR “/„ CEIL“ (Steuern/Aufsichtsbehörden)
3) Quellen und Politik von FX (Wechselkurse)
Quellen: Kursanbieter (Commercial/Central Banks), eigene TWAP/Median.
Aktualisierungsrichtlinie: Häufigkeit (1-15 min für volatil, 1 Mal/Tag für stabil), Veröffentlichungsverzögerung.
Markups: „rate (1 + fx_markup_bps)“ auf der Seite des Kunden; transparente Regeln pro Kanal/Region.
Garantiertes Angebotsfenster (Rate Lock): 5-30 min mit 'fx _ version' im Auftrag.
Anti-Sprung: Cap-Wechsel pro Tick, Circuit-Breaker, Fallback zum letzten gültigen Angebot.
Versionierung: Jede Kursveröffentlichung hat 'version', 'effective _ from'; Speichern Sie den Verlauf für Retouren/Streitigkeiten.
4) Preisstrategien
Base + FX: Grundpreis im „Kern“ (z.B. EUR) speichern, im Schaufenster umrechnen.
Per-Currency-Blätter: im Voraus berechnete Preise für Schlüsselwährungen (beste UX, Vorhersagbarkeit).
Gemischt: Top 10 Währungen - Vorausberechnung, „Long Tail“ - on-the-fly.
Charm-pricing: `X. 99/95/90 'durch die Region, kontrollieren Sie die Anhäufung von Rundungsfehlern.
Gebühren: Zahlungsgebühr, Cross-Border-Gebühr, Netzwerkgebühr (Krypto) - im Katalog oder in der Phase „Checkout Pricing“.
5) Steuern und „Inklusion“
MwSt./GST inbegriffen/ausgeschlossen: EU - häufiger MwSt. inbegriffen; B2B kann ohne Mehrwertsteuer sein.
Steuerschichten: Bund/Land/Lokal; für Online-Spiele - spezifische Gebühren.
Schwellenwerte: Die Steuer ändert sich von Umsatz/Kategorie/Region (Schwelle).
Steuerrundung: per-item vs per-basket; die Rundungsmodi und die Berechnungsreihenfolge müssen deterministisch sein.
Jur. Berichterstattung: 'tax _ rule _ version' im Scheck/Quittung speichern.
6) Rundungen und Genauigkeit
Runden Sie im letzten Schritt der Anzeige; Halten Sie in den Berechnungen „hohe Genauigkeit“ (bis zu 8-9 Zeichen).
Verwenden Sie für crypto decimal-Bibliotheken (keine binäre Floating).
Anti-Drift-Korb: „bankers rounding“ für Beträge, aber UX-Rundung für die Anzeige; „rounding _ scope“ festschreiben.
Summenregel: Die Summe der Zeilen nach Rundungen sollte mit der Summe übereinstimmen - verwenden Sie die Verteilung der letzten Kopeken/Cent (Penny-Verteilung).
7) Kataloge, Promo und Bundles
Promo-правила: `if region=A and currency in [EUR,USD] then discount=10% cap=50`.
Anwendung: (1) Grundpreis → (2) Rabatte → (3) Steuern → (4) Gebühren → (5) Rundungen.
Bundle-Allocation: proportional zum Tab der Artikel vor dem Rabatt; Wrapper für Rücksendungen.
Threshold-promo: Kostenloser Versand/Bonus beim total≥X in der Währung des Warenkorbs; Halten Sie den Gegenwert in der Basiswährung, aber fixieren Sie die FX-Version.
8) Integration mit Zahlungen und Compliance
Währungsverfügbarkeit: Nicht jede Währung steht jedem Spieler/Region/Zahlungsanbieter zur Verfügung.
Garantierte FX: Präfix-Autorisierung durch festgeschriebene' fx _ version'; bei Verfall eine Bestätigung des neuen Preises anfordern.
CUS/Sanktionen: Blocklisten von Währungen/Banken/Token, Konvertierungsbeschränkungen.
Retouren/Chargeback: Neuberechnung des historischen 'fx _ version' Auftrags; Rückerstattungsgebühr - nach Katalog am Tag der Transaktion.
9) API-Architektur und Vertrag
Verzeichnis lesen:- `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}“ → Quittung mit Hash und Signaturen.
- `PriceListUpdated`, `FXRatePublished`, `TaxRuleChanged`, `PromoChanged` — с `version/effective_from`.
10) Caching und Leistung
Edge-Cache: Schlüssel 'pricelist: region: currency: sku: version'; Die TTL für stabile Währungen ist höher.
Warmup: Aufwärmen der Top-Kategorien, um die Kampagne zu starten.
SWR (stale-while-revalidate): für Schaufenster; checkout - nur frisch.
Teilweise Invalidation: Behinderung durch die Tags' sku', 'category', 'pricelist _ version'.
SLO: p95 ≤ 120 ms für die Vitrine, p95 ≤ 250 ms für die Quote, ≥99. 95% Verfügbarkeit.
11) Beobachtbarkeit und Auditierung
Ablaufverfolgung: 'trace _ id', 'pricelist _ version', 'fx _ version', 'tax _ rule _ version' in allen Ereignissen.
Immutability: WORM-Zeitschriften von Publikationen von Preislisten/Kursen; Merkle-Slices, Freigabeunterschriften (DSSE).
Empfänge: Scheck/Quittung mit vollständigem Layout und Nutzlast-Hash; Halten Sie 7-10 Jahre (gemäß dem Regulator).
Dashboards: vitrina↔checkout Divergenz, Auf-/Abrundungshäufigkeit, FX-Fehler, Kurssperrzeit (Lock TTL), ROI Promo.
12) Lokalisierung der Anzeige
Währungsformat: Symbol/Code (₴, €, $, AED), Symbolposition, Trennzeichen, Leerzeichen.
Lokale Regeln: "₴ 1 234,56" vs "$1.234. 56”.
Psychologie: Magische Preisschilder ('.99') sind in Fintech/Spielen nicht immer angebracht; Testen Sie die Per-Region.
Rechtliche Unterschriften: „Der Preis beinhaltet die Mehrwertsteuer“, „Die Netzprovision wird separat berechnet“.
13) Sonderfälle
Währungen ohne Bruchteil: JPY/ISK - minor_units=0.
Dreistellige Minoreinheiten: KWD/BHD = 3.
Krypto: BTC/ETH/USDT - bis zu 8 Zeichen, Netzwerkgebühr separat; stablecoins ≠ „1: 1-Kurs“ mit einem Cross-Boarder.
Doppelter Preis: „Katalogwährung“ ≠ „Abbuchungswährung“ (Merchant-Bankkurs). Dokumentieren Sie die Verbreitung.
Sport/Spiele: Limits für maximale Gewinne in der Katalogwährung - Speichern Sie die Äquivalente der 'fx _ version' Runde.
14) SLO/SLI und Erfolgsmetriken
Korrektheit: Der Anteil der Aufträge, bei denen total_checkout = total_quote (± 1 minor unit unter Verteilungsregeln) ≥ 99. 99%.
FX-Stabilität: Der Anteil der Transaktionen im Rate-Lock-Fenster ≥ 99%.
Wirtschaft: Marge/Einheit vs Plan; Abweichungen durch FX/Rundungen (bps).
UX: Quote Rate p95, Anteil der Halden an der Preisumrechnung, NPS der Vitrine.
Audit: 100% Schecks mit gespeicherter'_ version 'und Unterschrift.
15) Playbooks der Vorfälle
„Preis im Schaufenster ≠ im Warenkorb“:1. freeze-Cache-Invaliden, 2) erzwungene Aktualisierung der Preisliste, 3) Vergleich von 'pricelist _ version '/' fx _ version', 4) Richtlinienausgleich.
„FX-Sprung zerstört Margen“:1. aktivieren Sie erhöhte markup/cap Rabatte, 2) schneiden Sie die Sperre TTL, 3) wechseln Sie zu fallback-Quelle.
„Die Steuer passt nicht zusammen“:1. Überprüfen Sie die' tax _ rule _ version', 2) Validierung der rounding_scope, 3) hotfix Regeln und die Neuaufstellung der Körbe.
„Promo gibt einen negativen Preis“:1. Schutzregeln (min_price), 2) Stacking deaktivieren, 3) Recalculation und Audit.
16) Sicherheit und Compliance
Policy-as-code: Kontrolle von Preislisten/FX/Steueränderungen durch PR + Freigabesignaturen.
Rollen/Zugänge: 4-Augen-Prinzip bei der Preisveröffentlichung/FX.
Logs/Quittungen: Signierte Publikationsereignisse und Checkout.
Regionale Beschränkungen: Verbot einzelner Währungen/Token; Geo-Politik.
17) Experimente und Optimierung
A/B: Charm-Preis, vorausberechnete Preise vs on-the-fly, Anzeigeformat.
Dynamic markup: Abhängigkeit von der Volatilität des Paares/der Tageszeit.
Kohortenanalyse: Renditen/Chargeback nach Währungen, Rundungsempfindlichkeit.
Cash-Strategien: Einfluss von SWR/TTL auf Conversion und Genauigkeit.
18) Checkliste Umsetzung
- Definieren Sie die Basiswährung und die Richtlinie der Arbeitsblätter pro Währung.
- Richten Sie die FX-Sammlung/Veröffentlichung mit Versionierung, Markups und TTL-Lock ein.
- Formalisieren Sie die TaxRule und die Reihenfolge der Berechnungen/Rundungen (per-item oder per-basket).
- Implementieren Sie die Verzeichnis-API/quote/commit + signierte Quittungen.
- Aktivieren Sie Edge-Cache und granulare Behinderung; SWR für Schaufenster.
- Starten Dashboards (vitrina↔checkout, FX-Fehler, Steuern, Marge bps).
- Rollen/Unterschriften für Preis-/Kurspublikationen, WORM-Zeitschriften eingeben.
- Playbooks vorbereiten: Nicht-Kursverlauf, FX-Sprung, steuerliche Inkonsistenzen.
- Durchführung des "GameDay-Katalogs': Abschalten der FX-Quelle, Promo-Burst, Steuerwechsel.
- Regelmäßige Revitalisierung der minor_units/otobrazheniye nach Regionen.
19) FAQ
Muss ich die Preise in jeder Währung speichern?
Nicht unbedingt. Kombinieren Sie die Vorberechnung für Top-Währungen und die Umrechnung für den „Tail“ - so werden UX und Kosten ausgeglichen.
Warum „schlägt“ total nach Rundungen nicht?
Aufgrund der Unterschiede per item vs per basket. Fixieren Sie einen Ansatz und verwenden Sie „penny distribution“.
Wie mache ich eine Rückerstattung in einem Monat?
Aus den historischen 'pricelist _ version', 'fx _ version' und 'tax _ rule _ version', die in der Quittung gespeichert sind.
Was ist mit Crypto?
Verwenden Sie decimal-Präzision, Netzwerkgebühr separat, versprechen Sie nicht 1:1 zum Fiat; Kurs und Aktionsfenster festlegen.
Zusammenfassung: Ein Multiwährungskatalog ist eine Kombination aus präziser Mathematik, strengen Richtlinien und intelligentem Caching. Versionieren Sie alles (Preise/Kurse/Steuern), fixieren Sie das Angebotsfenster, bestimmen Sie die Reihenfolge der Berechnungen und Rundungen, unterschreiben Sie die Checkartefakte und halten Sie die Dashboards sichtbar. So erhalten Sie ein ehrliches Schaufenster, reproduzierbare Berechnungen und eine überschaubare Wirtschaft in allen Währungen und Regionen.