Çok para birimli kataloglar
(Bölüm: Operasyonlar ve Yönetim)
1) Görev ve kapsam
Çok para birimli bir katalog, farklı para birimleri, bölgeler ve kanallar için fiyatlar/ücretler/vergiler hakkında tek bir gerçek kaynağıdır. Şunları sağlar:- doğru fiyat mart (UX, güven),
- Hesaplamaların tekrarlanabilirliği (denetimler, geri dönüşler),
- ekonomik öngörülebilirlik (marj/vergiler),
- (vergilendirme, yaptırımlar, para birimi kısıtlamaları).
2) Veri modeli (referans)
Varlıklar:- Ürün/SKU: '{sku _ id, başlık, öznitelikler, 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; Örneğin JPY = 0, USD/EUR = 2, KWD = 3; Kripto için - 8'e kadar)
- 'yuvarlama _ modu': 'HALF _ UP' (perakende), 'BANKERS' (finans), 'FLOOR'/' CEIL' (vergiler/düzenleyiciler)
3) FX kaynakları ve politikası
Kaynaklar: Kurs sağlayıcıları (ticari/merkez bankaları), kendi TWAP/medyan.
Güncelleme politikası: frekans (uçucu için 1-15 dakika, kararlı için 1 zaman/gün), yayın gecikmesi.
İşaretlemeler: Müşteri tarafına 'oran (1 + fx_markup_bps)'; şeffaf kanal/bölge kuralları.
Garantili teklif penceresi (fiyat kilidi): Sırayla 'fx _ version'ile 5-30 dakika.
Anti-jump: kene başına kapak değişiklikleri, devre kesiciler, en son geçerli teklife geri dönüş.
Sürüm oluşturma: her ders yayınında bir 'sürüm', 'effective _ from'; İade/anlaşmazlıklar için geçmişi saklayın.
4) Fiyatlandırma stratejileri
Base + FX: temel fiyatı "çekirdek" içinde saklayın (örneğin, EUR), vitrinde dönüştürün.
Per-currency sheets: Anahtar para birimleri için önceden hesaplanmış fiyatlar (en iyi UX, öngörülebilirlik).
Karışık: En iyi 10 para birimi - ön hesaplama, "uzun kuyruk" - anında.
Çekicilik-fiyatlandırma: 'X. 99/95/90 'bölgeye göre, yuvarlama hatalarının birikimini izleyin.
Ücretler: ödeme ücreti, sınır ötesi ücret, ağ ücreti (kripto) - dizinde veya "Ödeme Fiyatlandırması" aşamasında.
5) Vergiler ve "dahil etme"
KDV/GST dahil/hariç: AB - KDV dahil olandan daha sık; B2B KDV'siz olabilir.
Vergi katmanları: federal/eyalet/yerel; Online oyunlar için - belirli ücretler.
Eşik oranları: Vergi cirodan/kategoriden/bölgeden (eşik) değişir.
Vergi yuvarlama: ürün başına ve sepet başına; Yuvarlama modları ve hesaplama sırası deterministik olmalıdır.
Yur. raporlama: 'tax _ rule _ version' kontrol/makbuzda saklayın.
6) Yuvarlama ve doğruluk
Gösterinin son adımında yuvarlak; Hesaplamalarda "yüksek doğruluk" sağlayın (8-9 karaktere kadar).
Kripto için ondalık kütüphaneleri kullanın (ikili kayan nokta olmadan).
Sepet anti-drift: Miktarlar için "bankacılar yuvarlama", ancak görüntüleme için UX yuvarlama; 'rounding _ scope' düzeltin.
Toplam kuralı: satır satır yuvarlamanın toplamı toplam - kullanım kuruşu dağılımı ile aynı olmalıdır.
7) Kataloglar, tanıtımlar ve paketler
Promosyon- правила: 'Eğer bölge = A ve [EUR, USD] cinsinden para birimi ise indirim = %10 cap = 50'.
Başvuru sırası: (1) taban fiyat - (2) indirim - (3) vergi - (4) ücret - (5) yuvarlama.
Paket dağılımı: indirimden önceki konum sekmesiyle orantılı; İadeler için sarıcı.
Eşik promosyon: Sepet para biriminde total≥X ücretsiz nakliye/bonus; Temel para birimini eşdeğer tutun, ancak FX sürümünü düzeltin.
8) Ödemelerle entegrasyon ve uyumluluk
Para birimi kullanılabilirliği: Her para birimi her oyuncu/bölge/ödeme sağlayıcısı tarafından kullanılamaz.
Garantili FX: sabit 'fx _ version'ile yetkilendirme öneki; son kullanma sırasında - yeni fiyatın onaylanması talebi.
CUS/yaptırımlar: Para/banka/belirteçlerin blok listeleri, dönüşüm kısıtlamaları.
İade/ters ibraz: Siparişin tarihsel 'fx _ versiyonuna'göre yeniden hesaplama; İade ücreti - işlem tarihinde dizine göre.
9) API Mimarisi ve Sözleşme
Okuma dizini:- 'GET/katalog/fiyatlar? sku =... & para =... & bölge =... & fiyat listesi =... '
- Ответ: '{unit _ price, currency, fx_version, pricelist_version, tax_breakdown[], ücretler [], display_price, rounding_mode}'
- 'POST/pricing/quote {items [], region, currency, buyer_type}'
- Ответ: '{items _ priced [], subtotal, indirimler, vergiler [], ücretler [], toplam, fx_version, lock_ttl, imza}'
- 'POST/pricing/commit {quote_id, signature}' - hash ve imzalarla birlikte alındı.
- 'PriceListUpdated', 'FXRatePublished', 'TaxRuleChanged', 'PromoChanged' - с 'version/effective _ from'.
10) Önbelleğe alma ve performans
Kenar önbelleği: 'pricelist: region: currency: sku: version' tuşu; İstikrarlı para birimleri için TTL daha yüksektir.
Isınma: Kampanya lansmanı ile en üst kategorilerin ısınması.
SWR (bayat-while-revalidate): vitrinler için; Ödeme - sadece taze.
Kısmi hükümsüzlük: 'sku', 'kategori', 'pricelist _ version' etiketleri ile engellilik.
SLO: Ekran için p95 ≤ 120ms, teklif için p95 ≤ 250ms, ≥99. %95 kullanılabilirlik.
11) Gözlemlenebilirlik ve denetim
Trace: Tüm olaylarda 'trace _ id', 'pricelist _ version', 'fx _ version', 'tax _ rule _ version'.
Değişmezlik: WORM-fiyat listeleri/kursların yayınlarının dergileri; Merkle dilimleri, serbest bırakma imzaları (DSSE).
Makbuzlar: tam düzen ve yük karması ile kontrol/makbuz; 7-10 yıl boyunca saklayın (regülatör tarafından).
Panolar: vitrina↔checkout tutarsızlık, yukarı/aşağı yuvarlama sıklığı, FX hataları, ders kilitleme süresi (TTL kilidi), ROI promosyonu.
12) Ekran yerelleştirme
Para birimi biçimi: karakter/kod (₴, €, $, AED), karakter konumu, sınırlayıcılar, boşluk.
Yerel kurallar: "₴ 1,234,56" vs "1,234 $. 56”.
Psikoloji: Sihirli fiyat etiketleri ('.99') fintech/oyunlarda her zaman uygun değildir; Bölge başına test edin.
Yasal imzalar: "Fiyat KDV'yi içerir", "Ağ komisyonu ayrı olarak ücretlendirilir".
13) Özel durumlar
Kesirli kısmı olmayan para birimleri: JPY/ISK - minor_units=0.
Üç karakterli küçük birimler: KWD/BHD = 3.
Kripto: BTC/ETH/USDT - 8 karaktere kadar, ağ ücreti ayrı ayrı; Stablecoin'ler sınır ötesi ile "1:1 başlığı" ≠.
Çift fiyat: "Katalog para birimi" ≠ "yazma para birimi" (tüccar banka oranı). Formayı belgeleyin.
Spor/oyunlar: Katalog para biriminde maksimum kazanç limitleri - eşdeğerleri 'fx _ version' turuna göre saklayın.
14) SLO/SLI ve başarı metrikleri
Doğruluk: total_checkout = total_quote (dağıtım kuralları için ± 1 küçük birim) ≥ 99 olduğu siparişlerin oranı. 99%.
FX kararlılığı: işlemlerin oran kilidi penceresindeki payı %99 ≥.
Ekonomi: marj/birim vs plan; FX/yuvarlama (bps) nedeniyle sapmalar.
UX: hız teklif p95, fiyat dönüşümü, NPS vitrinler üzerine dökümü payı.
Denetim: Kaydedilmiş '_ version've imza ile yapılan denetimlerin %100'ü.
15) Olay oyun kitapları
"Vitrindeki ≠ sepetteki fiyat":1. Dondur nakit devre dışı, 2) zorunlu yenileme fiyat listesi, 3) 'pricelist _ version'/' fx _ version' karşılaştırın, 4) politika tazminat.
"FX atlama marjları yok eder":1. Artan işaretleme/indirim üst sınırını etkinleştirin, 2) kilit TTL'yi azaltın, 3) geri dönüş kaynağına geçin.
"Vergi birleşmiyor":1. 'tax _ rule _ version' seçeneğini işaretleyin, 2) rounding_scope doğrulanması, 3) düzeltme kuralları ve sepetlerin yeniden düzenlenmesi.
"Promosyon negatif fiyat verir":1. Güvenlik kuralları (min_price), 2) yığınlamayı devre dışı bırakma, 3) yeniden hesaplama ve denetim.
16) Güvenlik ve uyumluluk
Kod olarak politika: Fiyat listelerindeki/FX/vergilerdeki değişikliklerin PR + serbest bırakma imzaları aracılığıyla kontrolü.
Roller/erişimler: Fiyat yayınlarında 4-göz prensibi/FX.
Günlükler/makbuzlar: imzalı yayınlama olayları ve ödeme.
Bölgesel kısıtlamalar: bireysel para birimlerinin/belirteçlerin yasaklanması; jeo-politikacılar.
17) Deneyler ve optimizasyon
A/B: çekicilik-fiyatlandırma, önceden hesaplanmış fiyatlar vs-on-the-fly, ekran formatı.
Dinamik işaretleme: çift volatiliteye/günün saatine bağımlılık.
Kohort analizi: para birimine göre geri dönüş/ters ibraz, yuvarlama hassasiyeti.
Nakit stratejileri: SWR/TTL'nin dönüşüm ve doğruluk üzerindeki etkisi.
18) Uygulama kontrol listesi
- Temel para birimini ve sayfaların para birimi başına politikasını tanımlayın.
- Sürüm oluşturma, işaretleme ve TTL'yi kilitleme ile FX koleksiyonunu/yayınını yapılandırın.
- TaxRule ve hesaplama/yuvarlama sırasını (öğe başına veya sepet başına) resmileştirin.
- API/quote/commit + imzalı makbuzları dizin uygulayın.
- Kenar önbelleğini ve tanecikli özürlülüğü etkinleştir; Vitrinler için SWR.
- Panolar oluşturun (vitrina↔checkout, FX hataları, vergiler, bps marjı).
- Fiyat/oran yayınlarında, WORM dergilerinde rol/imza girin.
- Oyun kitapları hazırlayın: Fiyat özledim, FX spike, vergi tutarsızlıkları.
- Davranış "GameDay Kataloğu": FX kaynağını devre dışı bırakma, promosyon patlaması, vergi değişikliği.
- Düzenli olarak bölgelere göre minor_units/otobrazheniye yenileyin.
19) SSS
Fiyatları her para biriminde saklamam gerekir mi?
Şart değil. En iyi para birimleri için ön hesaplamayı ve kuyruk için dönüşümü birleştirin - UX ve maliyetler bu şekilde dengelenir.
Yuvarlamadan sonra neden toplam "dövülmez"?
Ürün başına ve sepet başına farklılıklar nedeniyle. Bir yaklaşımı düzeltin ve "kuruş dağıtımı" kullanın.
Bir ay içinde geri ödeme nasıl yapılır?
Makbuzda saklanan tarihsel 'pricelist _ version', 'fx _ version've' tax _ rule _ version'a göre.
Peki ya kripto?
Ondalık doğruluk kullanın, ağ ücreti ayrı ayrı, fiat için 1:1 söz vermeyin; Kursu ve eylem penceresini düzeltin.
Özet: Çok para birimli katalog, hassas matematik, katı politikalar ve akıllı önbelleğe almanın bir kombinasyonudur. Sürüm her şey (fiyatlar/oranlar/vergiler), tırnak penceresini düzeltin, hesaplamaların ve yuvarlamanın sırasını belirleyin, eserleri kontrol edin ve gösterge panolarını görünür tutun. Böylece dürüst bir vitrin, tekrarlanabilir yerleşimler ve tüm para birimlerinde ve bölgelerde yönetilen bir ekonomi elde edersiniz.