Şu anki geliştirdiğim yazılımlarda default para birimi ve desteklenen para birimleri seçilebiliyor. currencies tablom mevcut.
Örneğin:
Desteklenen para birimleri : TRY - USD - EUR
Default para birimi : TRY
currencies tablosunda 1 TRY = ? USD verileri ekleniyor.
USD: 0.03
EUR: 0.028 gibi kayıt edip para birimi değişikliğinde convert ediyorum.
Bütün para birimleri desteklenebileceği için bu şekilde yapmak istedim ama bazı sorunları yanında getiriyor.
Mesela Türkiye'ye satış yapan ve stripe kullanan birisi düşünün, stripe TRY ödemesi kabul etmiyor. Zaten ödemeyi Stripe'a gönderirken para birimi çevirimlerini yapmak zorunda kalıyorduk.
Ancak PayTR kullanan birisi global ödeme yöntemini açtırmazsa sadece TRY ile ödeme alabilir. Kullanıcı para birimini USD seçtikten sonra sepete ekleme işlemi yapıp ödeme ekranına giderken seçtiği ödeme yönteminin desteklediği para birimine tekrar çevirilmesi gerekiyor.
Sepete ürünleri ekledikten sonra para birimi değiştirilirse kullanıcının ürünleri için fiyatların çevirilmesi gerekiyor.
Not: Tekrar okuyunca demek istediğinizi daha iyi anladım.
"Türkiye'ye açık TL ile Satış yapılıyor fakat sürekli fiyat güncellemek yerine Fiyatı dolar olarak ekleyip TL karşılığını göstermek" gerçek fiyatı USD olarak tutmak mantıklı olur, bir servis aracılığı ile çevirim yapılıp müşteriye göstermek mantıklı olan.
Mevcut yazılım buna izin vermiyor ise kulağınızı ters elle tutmanız gerekebilir, ekstra bir tablo ile:
id - product_id, price şeklinde ürünlerin güncel kurdan USD fiyatlarını tutabilirsiniz. Ürünleri kullanıcıya gösterirken bir servis aracılığı ile ürünleri çekerken bu tablo ile bağlantı kurup dolar kuru * ürün fiyatı gibi güncel fiyat verisini alabilirsiniz.
Bütün işlemler bu tabloda bulunan fiyatlardan ilerleyeceği için sipariş tarafında da sorun yaratacağını düşünmüyorum.
Ekstra olarak mevcut ürünleri tek tek girmek yerine SQL sorgusu ile product_id - fiyat/kur şeklinde bu tabloya ekletebilirsiniz.