Amaç
Ödeme süreçleri (WooCommerce, Iyzico, Stripe vb.) ve finansal defter (Ledger) arasındaki uyumsuzlukları teşhis etmek ve gidermek için teknik bir rehberdir.
💳 Ödeme ve Finansal Sorun Giderme
Ödeme hataları genellikle API bağlantıları, statü eşleşmeleri (Mapping) veya veritabanı kilitleri kaynaklıdır.
🛑 1. Yaygın Hata Kodları ve Çözümleri
HTTP 400 / 401 (Hatalı İstek / Yetkisiz Erişim)
- Neden: API anahtarları (Public/Private Key) yanlış girilmiş veya Test/Live modu uyumsuz.
- Çözüm: Rentiva > Ödeme Ayarları sekmesinden anahtarların doğruluğunu ve "Çalışma Modunu" konfirme edin.
HTTP 403 (Erişim Engellendi)
- Neden: Ödeme sağlayıcısının IP adresleri sunucu güvenlik duvarı (WAF/Cloudflare) tarafından engelleniyor olabilir.
- Çözüm: Ödeme sağlayıcısının (Örn: Iyzico, Stripe) IP aralıklarını beyaz listeye (Whitelist) ekleyin.
HTTP 500 (Sunucu Hatası)
- Neden: Callback işlemi sırasında bir PHP hatası veya veritabanı çakışması.
- Çözüm:
wp-content/debug.logdosyasını inceleyin veWooCommerceBridge::handle_webhook()metodundaki hataları ayıklayın.
🔄 2. Statü Eşleşme (Status Mapping) Sorunları
Ödeme "Tamamlandı" ama rezervasyon hala "Beklemede"?
- Kontrol: WooCommerce sipariş statüsünün
processingveyacompletedolduğundan emin olun. - Teknik Detay: Rentiva, WooCommerce status hook'larını (
woocommerce_order_status_changed) dinler. Eğer otomatik tetiklenme olmuyorsa, eklenti çakışması olabilir. - Çözüm: Manuel sipariş güncellemesi yaparak Rentiva statüsünün senkronize olup olmadığını test edin.
📖 3. Ledger (Defter) Tutarsızlıkları
"Double-Spending" (Mükerrer Ödeme) Denemeleri
- Durum: Bir ödeme talebi (Payout) onaylanmış görünüyor ama bakiye düşmemiş.
- Neden:
AtomicPayoutServicetransaction kilidine takılmış olabilir. - Çözüm:
mhm_rentiva_ledgertablosunda ilgiliUUIDile bir kayıt olup olmadığını SQL üzerinden doğrulayın.
Commission Credit Oluşmuyor?
- Neden: Komisyon motoru (
CommissionEngine), rezervasyonu sadececompleted(Seyahat Bitti) statüsünde işler. - Çözüm: Rezervasyonun gerçekten sona erdiğini ve statüsünün
completedolduğunu konfirme edin.
🛠️ 4. API Bağlantı Testi (Idempotency)
Tüm API çağrılarında idempotency anahtarı kullanılır:
- Teşhis: Aynı ödeme isteğinin birden fazla kez gitmesi engellenmiştir.
- Çözüm: Eğer bir callback hatası alıyorsanız, ödeme sağlayıcısından gelen
transaction_iddeğeriniAdvancedLoggerüzerinden aratın ve mükerrer kayıt olup olmadığını kontrol edin.
Denetim Listesi
- API anahtarlarının doğruluğu (Test vs Live).
- Güvenlik duvarı (WAF) blokları.
- Webhook/Callback URL'inin doğruluğu.
- WooCommerce statü senkronizasyonu.
Değişiklik Günlüğü
| Tarih | Sürüm | Not |
|---|---|---|
| 19.03.2026 | 4.21.2 | API Hata Kodları, Status Mapping ve Ledger tutarlılık detayları eklendi. |