Ana içeriğe geç

Version Pro Updated

Pro özelliği

Bu sayfa MHM Rentiva Pro eklentisinin bir yeteneğini anlatır. WordPress.org'daki ücretsiz Lite sürümünün parçası değildir; Lite'ın yanına kurulu Pro ve geçerli bir lisans gerektirir. Tam ayrım için: Sürümler — Lite ve Pro farkı. Pro'yu edinmek için: wpalemi.com/rentiva.

Amaç

Bu sayfa, finansal ödeme kayıtlarının toplu olarak dışa aktarılmasını sağlayan PayoutCsvExporter bileşeninin teknik işleyişini ve veri güvenliği kurallarını açıklar.

📊 Payout CSV Exporter

PayoutCsvExporter, yöneticilerin ödeme geçmişini denetlemek veya banka entegrasyonları için toplu veri almak amacıyla kullandığı bir yardımcı sınıftır. Veriyi hafızaya almadan doğrudan tarayıcıya "stream" ederek yüksek performans sağlar.


🛠️ Teknik İşleyiş​

1. Erişim ve Güvenlik​

Dışa aktarma işlemi standart bir WordPress admin_post kancası üzerinden yürütülür:

  • Endpoint: /wp-admin/admin-post.php?action=mhmrentiva_export_payouts
  • Yetki Kontrolü: Sadece manage_options (Yönetici) yetkisine sahip kullanıcılar erişebilir.
  • Nonce Doğrulama: İşlemin geçerliliği mhmrentiva_export_payouts anahtarlı bir WP Nonce üzerinden doğrulanır.

2. Veri Formatı (Excel Uyumluluğu)​

Sistem, CSV dosyalarının özellikle Excel'de düzgün açılabilmesi için UTF-8 with BOM (Byte Order Mark) kullanır:

  • BOM: \xEF\xBB\xBF karakter dizisi dosyanın başına eklenir.
  • Ayrıcı: Standart virgül (,) ayrıcı olarak kullanılır.

📋 CSV Sütun Yapısı (Mapping)​

Dışa aktarılan dosyadaki kolonlar ve kaynakları aşağıdaki gibidir:

Kolon AdıVeri KaynağıAçıklama
Payout IDPost IDSistemsel benzersiz kimlik.
Vendor NameWP_User Display NameÖdemenin yapıldığı satıcının tam adı.
Amount_mhmrentiva_payout_amountÖdeme tutarı (Decimal format).
CurrencyWC CurrencyWooCommerce baz para birimi.
CPT Statuspost_statusWordPress tarafındaki durum (Pending, Approved vb.).
Processor Status_mhmrentiva_payout_statusÖdeme sağlayıcısından dönen statü kodu (n/a ise bekliyor).
Requested Atpost_date_gmtTalebin UTC zaman damgası.

🔒 Güvenlik Protokolleri​

PII (Kişisel Veri) Maskeleme​

CSV çıktıları finansal denetim için tasarlandığından, satıcıların hassas bilgileri (IBAN, Vergi No) varsayılan olarak bu exportta yer almaz. Bu verilere sadece Payout dökümü içindeki şifreli meta katmanından erişilebilir.

Loglama​

Her dışa aktarma (Export) işlemi, mhmrentiva_payout_audit tablosuna "export_triggered" aksiyonu ile kaydedilir. Kimin, ne zaman veri indirdiği forensics sisteminde izlenebilir.


💡 Geliştirici Notları​

İhracat linkini dinamik olarak oluşturmak için PHP tarafında şu metod kullanılmalıdır:

// Güvenli (Nonce-protected) Export URL'si alma
$export_url = \MHMRentiva\Admin\PostTypes\Payouts\PayoutCsvExporter::get_export_url();

Bölüm Sonu Özeti​

  • PayoutCsvExporter, yüksek veri hacimleri için Streaming metodunu kullanır.
  • Tüm operasyon Nonce ve Capability kontrolü ile korunur.
  • Çıktılar Excel-Ready (UTF-8 BOM) formatındadır.

Değişiklik Günlüğü​

TarihSürümNot
19.03.20264.21.2Sayfa, PayoutCsvExporter sınıfındaki streaming mantığı ve Excel BOM yapısına göre güncellendi.