Yapı Kredi Sanal POS Modülü
Yapı Kredi POSNET 3D Secure ödemelerini 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ı
- Merchant ID
- Terminal ID
- POSNET ID
- EncKey
- HTTPS
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/yapikredipos.php, modules/gateways/yapikredipos/, modules/gateways/callback/yapikredipos.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ı
3D Secure modelini, test/canlı ortamını ve hesabınıza tanımlı işlem seçeneklerini yapılandırın.
Testler
- Banka test ortamında başarı, ret ve iptal akışlarını deneyin.
- MAC/imza veya tutar uyuşmazlığında faturanın ödenmediğini doğrulayın.
- Canlı modda debug çıktılarının kapalı olduğunu 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.