डिजिटल वस्तुओं का थोक मंच

डिजिटल गुड्स रीसेलर के लिए मल्टी-करेंसी प्राइसिंग इंजन — 2026

गंभीर B2C रीसेलर का प्राइसिंग इंजन आर्किटेक्चर: थोक price खींचो, FX (CBR/ECB/P2P-blend) लगाओ, कैटेगरी मार्कअप, FX बफर, राउंड, कैश। TRY/RUB/ARS के लिए हर घंटे।

डिजिटल गुड्स रीसेलर के लिए मल्टी-करेंसी प्राइसिंग इंजन — 2026

यदि आप B2C डिजिटल-गुड्स स्टोरफ्रंट चलाते हैं और FoxReload (या किसी USD-नामांकित थोक सप्लायर) से सोर्स करते हैं, तो प्राइसिंग इंजन आपके बिज़नेस में कोड का सबसे महत्वपूर्ण हिस्सा है। यह सीधे मार्जिन, प्रतिस्पर्धात्मकता, और FX पर कितनी बार पैसा गँवाते हैं, निर्धारित करता है।

FoxReload API से products GET /api/products/?category_id_or_slug=SLUG से मिलते हैं। हर product में id, name, price fields हैं। यही price आपके pricing engine का input है।

प्राइसिंग पाइपलाइन

पाइपलाइन शुद्ध परिवर्तनों की एक शृंखला है:

wholesale_price  (FoxReload GET /api/products/ से)
  → × fx_rate_to_customer_currency
  → × (1 + category_markup_pct)
  → × (1 + fx_buffer_pct)
  → मुद्रा-उपयुक्त इन्क्रीमेंट पर राउंड
  → TTL के लिए कैश

TypeScript रेफरेंस implementation

interface PricingInput {
  productId: string;
  wholesaleUsd: number;          // GET /api/products/ से price field
  customerCurrency: 'RUB' | 'EUR' | 'USD' | 'TRY' | 'INR';
  category: 'game-code' | 'gift-card' | 'esim' | 'recharge';
  customerSegment: 'retail' | 'vip' | 'wholesale';
}

const CATEGORY_MARKUP: Record<string, number> = {
  'game-code': 0.22,    // गेम टॉप-अप पर 22%
  'gift-card': 0.18,    // गिफ्ट कार्ड पर 18%
  'esim': 0.35,         // eSIM पर 35%
  'recharge': 0.12,     // मोबाइल रिचार्ज पर 12%
};

const FX_BUFFER: Record<string, number> = {
  'USD': 0.005,
  'EUR': 0.01,
  'RUB': 0.025,         // RUB अस्थिर, चौड़ा बफर
  'TRY': 0.04,          // TRY बहुत अस्थिर
  'INR': 0.012,
};

const SEGMENT_DISCOUNT: Record<string, number> = {
  'retail': 1.0,
  'vip': 0.95,
  'wholesale': 0.88,
};

async function computeRetailPrice(input: PricingInput): Promise<number> {
  const fxRate = await getFxRate('USD', input.customerCurrency);
  const wholesaleLocal = input.wholesaleUsd * fxRate;
  const withMarkup = wholesaleLocal * (1 + CATEGORY_MARKUP[input.category]);
  const withBuffer = withMarkup * (1 + FX_BUFFER[input.customerCurrency]);
  const withSegment = withBuffer * SEGMENT_DISCOUNT[input.customerSegment];
  return roundForCurrency(withSegment, input.customerCurrency);
}

function roundForCurrency(price: number, ccy: string): number {
  if (ccy === 'RUB' || ccy === 'INR') return Math.ceil(price);        // पूर्णांक
  if (ccy === 'TRY') return Math.ceil(price * 2) / 2;                  // 0.50 इन्क्रीमेंट
  return Math.ceil(price * 100) / 100;                                 // 0.01 इन्क्रीमेंट
}

FX स्रोत चयन

मुद्रा स्रोत रिफ्रेश
EUR, GBP, JPY ECB दैनिक संदर्भ दैनिक 16:00 CET
RUB 0.7 × CBR + 0.3 × P2P blend प्रति घंटे
TRY TCMB + 1% समायोजन प्रति घंटे
ARS BCRA आधिकारिक + blue-chip blend प्रति घंटे
INR RBI संदर्भ दैनिक
USD/USDT 1:1 रियल-टाइम

कैशिंग रणनीति

कैश की: (product_id, ग्राहक_मुद्रा, ग्राहक_सेगमेंट)। TTL: आपके FX रिफ्रेश इंटरवल के बराबर — अस्थिर मुद्राओं के लिए 1 घंटा, स्थिर के लिए 24 घंटे।

ऑडिट लॉग के लिए स्टोरेज स्कीमा:

CREATE TABLE pricing_decisions (
  id BIGSERIAL PRIMARY KEY,
  computed_at TIMESTAMPTZ NOT NULL,
  product_id TEXT NOT NULL,
  customer_currency CHAR(3) NOT NULL,
  customer_segment TEXT NOT NULL,
  wholesale_usd NUMERIC(10,4) NOT NULL,
  fx_rate NUMERIC(14,6) NOT NULL,
  markup_pct NUMERIC(5,4) NOT NULL,
  buffer_pct NUMERIC(5,4) NOT NULL,
  final_price NUMERIC(12,2) NOT NULL,
  cache_key TEXT NOT NULL,
  INDEX idx_product_time (product_id, computed_at DESC)
);

90 दिन रखें। यह डेटा chargeback विवादों के लिए अनमोल है और मार्कअप नियमों पर A/B टेस्ट करने के लिए।

FoxReload से GET /api/products/?category_id_or_slug=SLUG से products खींचें, ऊपर के पाइपलाइन में डालें — और आपके पास production में मार्जिन-सुरक्षित मल्टी-करेंसी प्राइसिंग है। foxreload.com पर शुरू करें।

अक्सर पूछे जाने वाले प्रश्न

FX रेट कितनी बार रिफ्रेश करें?
स्थिर प्रमुख जोड़ियों (EUR/USD, GBP/USD) के लिए दैनिक। अस्थिर मुद्राओं के लिए प्रति घंटे — RUB, TRY, ARS Q1 2026 में महीने के भीतर 12-25% हिले। रियल-टाइम (1-5 मिनट) केवल तब जब सक्रिय आर्बिट्रेजर आपकी प्राइसिंग को आगे चलाते हों, जो $1M/मा से नीचे दुर्लभ है।
RUB के लिए कौन सा FX स्रोत इस्तेमाल करूँ?
CBR (रूसी सेंट्रल बैंक) कानूनी संदर्भ दर है लेकिन स्पॉट से 0.5-2% पीछे रहती है। रूसी ग्राहकों को सेवा देने वाली B2C प्राइसिंग के लिए CBR को P2P बाज़ार दरों के साथ मिलाएँ — सामान्यतः 0.7 × CBR + 0.3 × P2P-blend से वास्तविक प्राइसिंग मिलती है।
उचित FX बफर कितना है?
स्थिर मुद्राओं के लिए 1-2%, RUB/TRY/ARS के लिए 2-4%, पूँजी नियंत्रण या सक्रिय अवमूल्यन वाली मुद्राओं के लिए 5%+। बफर ग्राहक को कोट देने और निपटान करने के बीच के स्प्रेड को कवर करता है।
अंतिम खुदरा क़ीमत कैश करूँ या कच्चे इनपुट?
अंतिम खुदरा क़ीमत को (product_id, ग्राहक_मुद्रा, ग्राहक_सेगमेंट) के key पर कैश करें, TTL आपके FX रिफ्रेश इंटरवल के बराबर। chargeback साक्ष्य के लिए कंप्यूटेड क़ीमतों का ऑडिट लॉग रखें।
FoxReload API एक्सेस पाएं

संबंधित लेख