PayTR Havale / EFT Modülü
PayTR Havale/EFT bildirimlerini güvenli callback ile WHMCS faturalarına işler.
Ön koşullar
- WHMCS 8.x/9.x desteklenen sürüm
- PHP 7.4+, cURL, JSON, mbstring ve OpenSSL
- Geçerli HTTPS alan adı
- PayTR Merchant ID
- Merchant Key
- Merchant Salt
- PayTR hesabında Havale/EFT hizmetinin aktif olması
Kurulum adımları
-
1
Yedek ve ön kontrol
WHMCS dosyaları ile veritabanını yedekleyin; işlemi önce staging ortamında uygulayın.
-
2
Dosyaları yükleyin
Paket dizin yapısını bozmadan şu hedeflere yükleyin: modules/gateways/paytr_eft.php, modules/gateways/callback/paytr_eft.php
-
3
İzinleri doğrulayın
Klasörleri normalde 750/755, dosyaları 640/644 tutun; web sunucusu sahibini doğru ayarlayın ve 777 kullanmayın.
-
4
Bağımlılıkları kurun
Paket vendor klasörü içermiyorsa, composer.json bulunan modül klasöründe üretim bağımlılıklarını kurun.
Komutcomposer install --no-dev --optimize-autoloader -
5
Modülü etkinleştirin
WHMCS > Sistem Ayarları > Ödeme Yöntemleri bölümünde modülü etkinleştirin; önce sağlayıcının test ortamını seçin.
-
6
İlk yapılandırmayı kaydedin
Aşağıdaki modüle özel alanları doldurun; test tamamlanmadan canlı ortam/kimlik bilgilerine geçmeyin.
Yapılandırma
Banka/sağlayıcı ayarları
Banka seçimini, sipariş numarası biçimini ve test modunu yapılandırın.
Testler
- PayTR test akışında bekleyen işlemi oluşturun.
- Geçerli callback ile faturanın ödendiğini, hatalı imza ile ödenmediğini doğrulayın.
- Aynı callback tekrarında mükerrer ödeme oluşmadığını kontrol edin.
Güvenlik
- Kart numarası, CVC, banka parolası ve gizli anahtarları WHMCS veya web sunucusu loglarına yazmayın.
- Canlıda yalnız 3D Secure ve bankanızın/onaylı sağlayıcınızın izin verdiği modeli kullanın.
- Sabit test kartı yayımlamayın; sağlayıcının güncel test dokümanını izleyin.
Sorun giderme
Ödeme dönüyor ancak fatura ödenmiyor
Callback URL'sinin HTTPS, POST erişimi, WAF kuralı, imza doğrulaması, tutar ve para birimini kontrol edin.
Mükerrer ödeme
Sağlayıcı işlem kimliği için benzersizlik ve callback idempotency kaydını kontrol edin.