WooCommerce'de Monero Kabul Edin: Tam Entegrasyon Rehberi
Neden WooCommerce Mağazanızda Monero Kabul Etmelisiniz?
Monero (XMR), günümüzün en güçlü gizlilik odaklı kripto para birimidir. WooCommerce mağazanıza Monero ödeme seçeneği eklemek, mahremiyet konusunda bilinçli bir müşteri kitlesinin kapılarını açar. Kredi kartı ödemelerinin yüzde 2-4 arasında değişen işlem ücretleri ve geri ödeme (chargeback) riskleriyle karşılaştırıldığında, Monero işlemleri geri alınamaz nitelikte olup işlem ücretleri genellikle 0,01 doların çok altında kalır ve yaklaşık iki dakikada onaylanır.
Türkiye'de kripto para piyasaları, Sermaye Piyasası Kurulu (SPK) ve Mali Suçları Araştırma Kurulu (MASAK) tarafından düzenlenmektedir. 2021 yılında yürürlüğe giren ödeme düzenlemeleri, kripto paraların doğrudan ödeme aracı olarak kullanımını kısıtlamış olsa da e-ticaret platformlarının uluslararası müşterilere XMR kabul etmesi tamamen ayrı bir hukuki çerçevede değerlendirilmektedir. Özellikle sınır ötesi işlemlerde Monero, hem alıcı hem de satıcı için şeffaflık endişelerini ortadan kaldıran tercih edilen bir ödeme yöntemi haline gelmektedir.
Bu rehber, WooCommerce mağazanıza Monero ödemelerini entegre etmenin üç farklı yolunu ele almaktadır: MoneroPay kullanımı, BTCPay Server ile XMR desteği ve özel bir ödeme ağ geçidi eklentisi geliştirme.
Ön Koşullar ve Mimari Genel Bakış
Entegrasyona başlamadan önce aşağıdakilerin hazır olduğundan emin olun:
- WordPress 6.0+ ile birlikte WooCommerce 8.0+ kurulu ve yapılandırılmış olmalıdır.
- Görünüm anahtarlarına (view keys) erişimli bir Monero cüzdanı gerekmektedir. Otomatik ödeme tespiti için bir Monero cüzdan RPC örneği veya salt görüntüleme cüzdanı kullanmanız gerekecektir.
- VPS veya özel sunucu: Monero arka plan programını (monerod) ve cüzdan RPC'yi çalıştırmak için minimum 2 CPU çekirdeği, 4 GB RAM ve budanmış blok zinciri için 150 GB SSD depolama alanı önerilmektedir.
- SSL sertifikası: Web kancası güvenliği için WooCommerce mağazanızda SSL zorunludur.
Ödeme Akışı Mimarisi
WooCommerce'de Monero ödemelerinin genel akışı şu şekilde işler:
- Müşteri ödeme sayfasında Monero'yu seçer ve "Sipariş Ver" düğmesine tıklar.
- Ödeme ağ geçidiniz, cüzdan RPC veya ödeme işlemci API'sini kullanarak sipariş için benzersiz bir alt adres (subaddress) oluşturur.
- Müşteriye gerçek zamanlı döviz kuru üzerinden XMR cinsinden dönüştürülmüş ödeme adresi ve tutar gösterilir.
- Arka planda çalışan bir süreç, oluşturulan alt adrese gelen işlemler için Monero blok zincirini izler.
- Ödeme onaylandıktan sonra (genellikle 10 onay, yaklaşık 20 dakika) sipariş durumu "İşlemde" olarak güncellenir ve satıcıya bildirim gönderilir.
Seçenek 1: MoneroPay Entegrasyonu
MoneroPay, özellikle tüccar entegrasyonları için tasarlanmış hafif ve kendi barındırmalı bir Monero ödeme işlemcisidir. Alt adres üretimi, ödeme izleme, döviz kuru dönüştürme ve web kancası bildirimlerini yönetir.
MoneroPay Kurulumu
MoneroPay'i sunucunuza kurmak için aşağıdaki adımları izleyin. MoneroPay, çalışan bir monerod örneği gerektirir ve ödeme işlemleri için bir REST API sağlar:
Adım 1: MoneroPay deposunu klonlayın ve derleyin. MoneroPay, Go dilinde yazılmıştır ve tek bir ikili dosyaya derlenir. Yerel monerod örneğinize bağlanmak için yapılandırın; cüzdanınızın birincil adresini, özel görünüm anahtarını, RPC ana bilgisayarını, RPC bağlantı noktasını ve gerekli onay sayısını belirtin.
Adım 2: MoneroPay'i başlatın ve Monero arka plan programınıza bağlandığını doğrulayın. API, yapılandırılan bağlantı noktasında (varsayılan 5000) kullanılabilir olacaktır. Her şeyin çalıştığını onaylamak için sağlık uç noktasını test edin.
Adım 3: MoneroPay WooCommerce eklentisini kurun. Bu eklenti, WooCommerce'e "Monero (XMR)" ödeme seçeneği ekler ve REST API'si aracılığıyla MoneroPay örneğinizle iletişim kurar.
WooCommerce Eklentisi Yapılandırması
WooCommerce > Ayarlar > Ödemeler bölümüne gidin ve MoneroPay ağ geçidini etkinleştirin. Aşağıdaki ayarları yapılandırın:
- MoneroPay API URL'si: MoneroPay örneğinizin çalıştığı URL (örn. https://odeme.sirketiniz.com).
- API Gizli Anahtarı: Web kancası doğrulaması için paylaşılan gizli anahtar.
- Gerekli onay sayısı: Ödemeyi tamamlanmış olarak işaretlemeden önce gereken blok onayı sayısı (önerilen: 10).
- Döviz kuru kaynağı: XMR/fiat dönüştürmesi için CoinGecko, Kraken veya Binance'ı seçin.
- Ödeme zaman aşımı: Siparişi sona erdirmeden önce ödeme bekleme süresi (önerilen: 60 dakika).
Web Kancası İşleme
MoneroPay, ödeme olayları gerçekleştiğinde WooCommerce mağazanıza web kancası bildirimleri gönderir. Web kancası işleyicisi HMAC imzasını doğrulamalı, ödeme durumunu ayrıştırmalı ve WooCommerce siparişini buna göre güncellemelidir. Web kancası yükü şunları içerir: sipariş kimliği, ödeme durumu (beklemede, onaylanıyor, onaylandı, süresi doldu), alınan tutar, onay sayısı ve işlem karması. İşleyiciniz, paylaşılan gizli anahtarı kullanarak HMAC-SHA256 imzasını doğrulayıp ardından ödeme durumuna göre siparişi beklemeye almalı (beklemede için), onay sayısıyla sipariş notu eklemeli (onaylanıyor için), ödemeyi tamamlanmış olarak işaretlemeli (onaylandı için) veya siparişi iptal etmelidir (süresi dolmuş ödemeler için).
Seçenek 2: Monero Destekli BTCPay Server
BTCPay Server, altcoin eklenti sistemi aracılığıyla Monero'yu destekleyen olgun ve kendi barındırmalı bir ödeme işlemcisidir. Bitcoin ödemeleri için BTCPay Server kullanıyorsanız veya zengin yönetici arayüzüne sahip, test edilmiş bir çözüm istiyorsanız bu seçenek idealdir.
BTCPay Server'da Monero'yu Etkinleştirme
Adım 1: Yeni bir BTCPay Server örneği dağıtıyorsanız, dağıtım komut dosyasını çalıştırmadan önce uygun ortam değişkenini (BTCPAY_INCLUDE_XMR=1) ayarlayarak kurulum sırasında Monero eklentisini etkinleştirin.
Adım 2: Mevcut BTCPay Server kurulumları için docker parça yapılandırmasını değiştirerek Monero desteği ekleyebilirsiniz. Yapılandırmayı güncelledikten sonra BTCPay Server yığınını yeniden başlatın. Monero arka plan programı ve cüzdanı ağla senkronize olacaktır; bu ilk çalıştırmada birkaç saat sürebilir.
Adım 3: BTCPay Server yönetici panelinde mağaza ayarlarınıza, ardından "Cüzdanlar" bölümüne gidin ve Monero cüzdanını yapılandırın. Yerleşik cüzdanı kullanabilir veya harici bir Monero cüzdan RPC örneğine bağlanabilirsiniz.
BTCPay Eklentisi Aracılığıyla WooCommerce Entegrasyonu
WordPress eklenti dizininden resmi BTCPay Server WooCommerce eklentisini kurun. BTCPay Server URL'niz ve API anahtarınızla yapılandırın. Eklenti, BTCPay Server mağazanızda XMR etkinleştirildiğinde Monero ödemelerini otomatik olarak yönetir. Müşteriler ödeme sayfasında hem Bitcoin hem de Monero ödeme seçeneklerini görecek ve tercih ettikleri kripto parayı seçebilecektir.
Seçenek 3: Özel Ödeme Ağ Geçidi Eklentisi
Ödeme akışı üzerinde maksimum kontrol için, doğrudan Monero cüzdan RPC ile iletişim kuran özel bir WooCommerce ödeme ağ geçidi oluşturabilirsiniz. Bu yaklaşım, aracı bir ödeme işlemcisine duyulan ihtiyacı ortadan kaldırır; ancak daha fazla geliştirme çalışması gerektirir.
Eklenti Yapısı
Özel bir Monero ödeme ağ geçidi, WC_Payment_Gateway sınıfını genişletir ve temel ödeme işleme yöntemlerini uygular. Ana sınıf yapıcısı, ağ geçidi kimliğini, simgesini, yöntem başlığını ve açıklamasını ayarlar; cüzdan RPC ana bilgisayarı ve bağlantı noktası, gerekli onay sayısı ve döviz kuru API uç noktası dahil olmak üzere form alanlarını ve ayarlarını başlatır.
Alt Adres Üretimi
Her sipariş için, cüzdan RPC create_address yöntemini kullanarak benzersiz bir Monero alt adresi oluşturun. Bu işlev, hesap dizini 0'ı belirterek ve sipariş kimliğini etiket olarak kullanarak Monero cüzdanına bir JSON-RPC çağrısı yapar. Daha sonra ödeme doğrulaması için sipariş meta verisi olarak saklanan yeni oluşturulmuş alt adresi ve dizinini döndürür.
WP-Cron ile Ödeme İzleme
Bekleyen siparişlerdeki gelen ödemeleri kontrol etmek için her 2 dakikada bir çalışan bir WP-Cron işi ayarlayın. İzleme işlevi, Monero ödeme yöntemiyle "beklemede" durumundaki siparişler için WooCommerce'i sorgular, ardından her sipariş için saklanan alt adres dizinini alır ve gelen transferleri kontrol etmek için cüzdan RPC get_transfers yöntemini çağırır. Yeterli onaya sahip bir transfer bulunduğunda, işlev ödemeyi tamamlar ve sipariş durumunu günceller.
Döviz Kuru İşleme
Sipariş toplamını fiat'tan XMR'ye güvenilir bir döviz kuru API'si kullanarak dönüştürün. Fiyatı görece güncel tutarken aşırı API çağrılarını önlemek için oranı 60 saniye önbelleğe alın. İşlev önce WordPress geçicilerinde önbelleğe alınmış bir oran olup olmadığını kontrol eder; bulunamazsa uygun fiat para birimi için CoinGecko API'sinden güncel oranı alır, önbelleğe alır ve dönüştürülmüş tutarı döndürür.
İade Akışı
Monero iadeleri blok zinciri üzerinden otomatikleştirilemez; çünkü işlemler tek yönlüdür ve geri alınamaz. Manuel bir iade iş akışı uygulayın: yönetici WooCommerce üzerinden iade başlatır, müşteriden bir e-posta bildirimi aracılığıyla iade için Monero adresi vermesi istenir ve satıcı iadeyi cüzdanından manuel olarak gönderir. Ağ geçidinizdeki process_refund yöntemi, iade tutarını kaydetmeli ve müşteriye XMR iade adresi talep eden bir bildirim e-postası göndermeli, ardından WooCommerce iadesini beklemede olarak işaretlemek için true döndürmelidir.
Türkiye'de WooCommerce Monero Entegrasyonu: Hukuki Perspektif
Türkiye'deki WooCommerce mağaza sahipleri için bazı ek düzenleyici hususları göz önünde bulundurmanız gerekmektedir. SPK ve MASAK çerçevesi açısından değerlendirildiğinde, Monero'nun bir ödeme aracı olarak kullanılması 2021 tarihli Cumhurbaşkanlığı Kararnamesi kapsamına girebilir; bu nedenle hukuki danışmanlık almanız önerilir. Öte yandan uluslararası müşteriler veya anonim işlemler söz konusu olduğunda, XMR'nin KYC gerektirmeden kabul edilmesi, MASAK'ın kara para aklamayla mücadele (AML) düzenlemelerine uyum açısından dikkatli bir değerlendirme gerektirmektedir.
Pratik bir yaklaşım olarak birçok Türk e-ticaret operatörü, Monero ödemelerini Türkiye'deki birincil ödeme yöntemi olarak sunmak yerine uluslararası müşterilere yönelik alternatif bir ödeme seçeneği olarak konumlandırmaktadır. Bu yaklaşım hem düzenleyici belirsizliği azaltır hem de gizlilik odaklı küresel müşterilere erişim imkânı sunar.
Güvenlik En İyi Uygulamaları
Monero ödemelerini kabul ederken hem işletmenizi hem de müşterilerinizi korumak için şu güvenlik yönergelerini izleyin:
- Ödeme tespiti için salt görüntüleme cüzdanları kullanın: WooCommerce mağazanıza bağlı cüzdan, salt görüntüleme cüzdanı olmalıdır (yalnızca birincil adres ve görünüm anahtarıyla oluşturulmuş). Harcama anahtarını çevrimdışı tutun. Bu sayede sunucunuz ele geçirilse bile saldırgan fonları çalamaz.
- Kendi Monero düğümünüzü çalıştırın: Ödeme doğrulaması için uzak düğümlere güvenmeyin. Güvenliği ihlal edilmiş bir uzak düğüm sahte işlemler bildirebilir veya meşru olanları saklayabilir. Kendi monerod örneğinizi çalıştırmak doğru blok zinciri verilerine sahip olmanızı sağlar.
- Web kancası uç noktalarını güvenli hale getirin: Gelen web kancalarında her zaman HMAC imzalarını doğrulayın. HTTPS kullanın ve mümkünse web kancası kaynak IP'lerini kısıtlayın.
- Döviz kuru oynaklığını yönetin: XMR/fiat kurları ödeme penceresi süresince önemli ölçüde değişebilir. Müşterinin fiyatı gördüğü an ile ödemeyi gönderdiği an arasındaki döviz kuru dalgalanmalarını karşılamak için tam gereken tutarın yüzde 1-2 altında bir tolerans belirleyin.
- Eksik ödemeleri izleyin: Kısmi ödemeleri tespit eden ve sessizce başarısız olmak yerine müşteriye kalan bakiyeyi göndermesini bildiren bir mantık uygulayın.
- Düzenli güvenlik denetimleri yapın: Sunucu yazılımınızı, WordPress'inizi ve WooCommerce eklentilerinizi güncel tutun. Monero ödeme altyapısı düzenli güvenlik denetimine tabi tutulmalıdır.
Entegrasyonunuzu Test Etme
Yayına geçmeden önce Monero stagenet kullanarak Monero ödeme entegrasyonunuzu kapsamlı biçimde test edin. Stagenet, coinlerin gerçek değeri olmadığı, test amacıyla tasarlanmış ayrı bir Monero ağıdır. monerod'u ve cüzdan RPC'nizi uygun bayrakları ekleyerek stagenet üzerinde çalışacak şekilde yapılandırın. Ödeme ağ geçidi yapılandırmanızı stagenet RPC örneğine işaret edecek şekilde güncelleyin. Test siparişleri oluşturun ve sipariş oluşturma, alt adres üretimi, ödeme tespiti, onay bekleme ve sipariş tamamlama dahil olmak üzere eksiksiz ödeme akışını doğrulayın.
Stagenet'te kapsamlı testler yapmanın ötesinde, şu senaryoları da test ettiğinizden emin olun:
- Fazla ödeme senaryoları: Müşteri fazla XMR gönderdiğinde sisteminizin nasıl davrandığını test edin.
- Eksik ödeme senaryoları: Kısmi ödemelerin doğru şekilde tespit edildiğini ve müşteriye bildirim gönderildiğini doğrulayın.
- Zaman aşımı senaryoları: Müşteri ödeme penceresinin dolmasına izin verdiğinde sipariş iptali akışını test edin.
- Ağ gecikmesi senaryoları: Yüksek ağ yükü dönemlerinde onay gecikmelerini simüle edin.
- Çoklu eş zamanlı sipariş: Birden fazla müşterinin eş zamanlı ödeme yapması durumunda alt adres üretimi ve izlemenin doğru çalıştığından emin olun.
Performans Optimizasyonu
Yüksek hacimli Monero ödeme altyapısı için performans hususları kritik önem taşır. İzleme servisi, ağ üzerindeki tüm işlemleri taramak yerine yalnızca bekleyen siparişlere ait subaddress indekslerini kontrol etmelidir. Büyük sipariş hacimlerinde, her sipariş için ayrı bir cron işi yerine toplu işleme stratejisi kullanın. Monero cüzdan RPC zaman aşımlarını ve bağlantı havuzlamasını uygun şekilde yapılandırarak eş zamanlı ödeme izleme kapasitesini artırabilirsiniz.
Sonuç
WooCommerce mağazanızda Monero'yu kabul etmek, müşterilere özel, düşük ücretli bir ödeme seçeneği sunarken geri ödeme dolandırıcılığını ortadan kaldırmanın pratik bir yoludur. MoneroPay'in basitliğini, BTCPay Server'ın sağlamlığını veya özel ağ geçidinin esnekliğini seçin; entegrasyon her WordPress geliştiricisinin ulaşabileceği bir hedeftir. Mağazanızda harcamak üzere Monero edinmek isteyen müşteriler için MoneroSwapper, XMR edinmeyi kolaylaştıran hızlı, KYC gerektirmeyen bir borsa hizmeti sunmaktadır. Türkiye'deki kullanıcılar için MoneroSwapper, SPK ve MASAK düzenlemelerine uygun KYC gereklilikleri olmaksızın güvenli ve gizli XMR takası imkânı sağlamaktadır.
🌍 Şu dilde oku