ravan/ziraat-bank

Ziraat Bankası HEK_NKYWS (Hesap Hareketleri) SOAP API Wrapper for PHP 8+

Maintainers

Package info

github.com/ravanbabayev/ziraat-bank-php

pkg:composer/ravan/ziraat-bank

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-07-22 20:29 UTC

This package is auto-updated.

Last update: 2026-07-22 20:33:50 UTC


README

Latest Version on Packagist Total Downloads Software License

[TR] T.C. Ziraat Bankası HEK_NKYWS (Hesap Hareketleri) SOAP entegrasyonu için geliştirilmiş framework bağımsız, PHP 8.0+ destekleyen modern kütüphane.

[EN] Modern framework-agnostic PHP 8.0+ library for T.C. Ziraat Bank HEK_NKYWS (Account Transactions) SOAP integration.

Özellikler / Features

  • PHP 8.0+ & PSR Standartları ile tam uyum.
  • Framework Bağımsız (Agnostic): Herhangi bir PHP projesinde veya doğrudan Laravel ile kullanılabilir.
  • 19 Metot Desteği: WSDL'de bulunan tüm SOAP metotlarını (sorgulamalar, PDF dekont, mutabakat) içerir.
  • Casing Tutarlılığı: WSDL alan adlarındaki tutarsız casing yapısı korunarak hata yapma payı sıfıra indirilmiştir.
  • Laravel Desteği: Auto-discovery, Config dosyası ve Facade desteği ile Laravel projelerinde anında entegrasyon.
  • PSR-3 Logger & PSR-16 Cache desteği.

Kurulum / Installation

Composer aracılığı ile paketi projenize dahil edin:

composer require ravan/ziraat-bank

Not: SOAP servislerini kullanabilmek için PHP ext-soap eklentisinin aktif olması gerekmektedir.

Kullanım / Usage

1. Sade PHP (Framework Bağımsız) / Standalone PHP

use Ravan\ZiraatBank\ZiraatBankService;

$service = new ZiraatBankService(
    kurumKod: 'kullanıcı-adınız',
    sifre: 'şifreniz',
    wsdl: 'https://hesap.ziraatbank.com.tr/HEK_NKYWS/HesapHareketleri.asmx?WSDL', // Opsiyonel varsayılan
    tcknVkn: '1234567890' // Opsiyonel
);

// Örnek: IBAN ile hesap özeti sorgulama
$response = $service->sorgulaOzetWS(
    ibanNo: 'TR...',
    baslangicTarihi: '20.07.2026',
    bitisTarihi: '22.07.2026'
);

print_r($response);

2. Laravel Entegrasyonu / Laravel Integration

Paket, Laravel auto-discovery'yi destekler. Service provider ve Facade otomatik olarak yüklenir.

Yapılandırma Yayınlama / Publish Config

Ayarlar dosyasını (config/ziraatbank.php) oluşturmak için:

php artisan vendor:publish --provider="Ravan\ZiraatBank\Laravel\ZiraatBankServiceProvider" --tag="ziraatbank-config"

.env Tanımlamaları / .env Configuration

Aşağıdaki değişkenleri .env dosyanıza ekleyin:

ZIRAAT_HEK_USERNAME="kullanici_adiniz"
ZIRAAT_HEK_PASSWORD="sifreniz_buraya"
ZIRAAT_HEK_TCKNVKN="tckn_veya_vkn_numaraniz"
# Opsiyonel:
ZIRAAT_HEK_WSDL="https://hesap.ziraatbank.com.tr/HEK_NKYWS/HesapHareketleri.asmx?WSDL"

Laravel Facade Kullanımı / Facade Usage

use Ravan\ZiraatBank\Laravel\Facades\ZiraatBank;

// Müşteri ve ek no ile hesap hareketleri
$sonuc = ZiraatBank::sorgulaHesapHareket(
    musteriNo: 123456,
    ekNo: 0,
    baslangicTr: '20.07.2026',
    bitisTr: '22.07.2026'
);

Metotlar / Available Methods

Aşağıda kütüphane içerisinde hazır bulunan 19 SOAP metodu ve ek yardımcı metotlar listelenmiştir.

SOAP Servis Metotları

  • musteriHesapHareket(...)
  • hesapEkstre(...)
  • hesapEkstreZamanIle(...)
  • sorgulaDetayWS(...)
  • sorgulaDetayWSZamanIle(...)
  • sorgulaOzetWS(...)
  • sorgulaOzetWSZamanIle(...)
  • hareketSorgulaVknIle(...)
  • getirPdfDekont(...)
  • getirPdfDekontZamanIle(...)
  • getirPdfDekontDekontNoIle(...)
  • sorgulaHesapHareket(...)
  • sorgulaHesapHareketZamanIle(...)
  • sorgulaHesapHareketZamanIleHizli(...)
  • getirTanimliHesapBilgileri(...)
  • sorgulaGelenParaTransfer(...)
  • sorgulaMutabakatOzetZamanIle(...)
  • sorgulaMutabakatDetayZamanIle(...)
  • sorgulaMahsupDetayZamanIle(...)

Birleşik ve Yardımcı Metotlar / Helper Methods

  • ping(): WSDL endpoint'e erişilebilirliği test eder (bool).
  • getBankAccounts(): TCKN/VKN'ye bağlı tüm aktif banka hesaplarını normalize edilmiş formatta listeler (Önbellekleme desteklidir).
  • getAccountTransactions($accountId, $startDate, $endDate): Belirli bir hesaba ait hareketleri çeker ve entegrasyon zamanına göre filtreler.
  • getHesaplarVeHareketleri($tcknVkn, $baslangicTr, $bitisTr): Tüm hesapları çeker ve her birinin hareketlerini birleştirerek tek bir dizi halinde döner.
  • getLastExchange(): Son gönderilen/alınan XML istek ve yanıtlarını hata ayıklama (debug) için döner.

Hata Ayıklama (Debug) / Logging & Caching

Kütüphane PSR-3 uyumlu logger ve PSR-16 uyumlu cache arabirimlerini destekler. Laravel üzerinde kullanıldığında uygulamanızın varsayılan Log ve Cache sistemleri otomatik olarak kütüphaneye enjekte edilir.

Sade PHP kullanımında ise bağımlılıklarınızı manuel olarak enjekte edebilirsiniz:

$service->setLogger($myPsr3Logger);
$service->setCache($myPsr16Cache);

Lisans / License

Bu paket MIT Lisansı altında dağıtılmaktadır.