PHP ile IBAN doğrulama uygulaması yapıyoruz

PHP

Merhabalar, bu yazımızda girilen IBAN numrasının hangi bankaya ait olduğunu ve banka resmini ücretsiz bir şekidle CURL ile çekeceğiz. Genel olarak internette bir araştırma yaptım ama GET ile sorgulama yapan bir siteye rastlayamadım, en sonunda ise iban.gen.tr adresini keşfettim, kendilerine buradan da teşekkür ederiz çünkü IBAN doğrulama API lerini çok pahalı fiyatlardan satıyorlar, kendilerinin IBAN sorgulama ekranını GET ile yapmış olmları bir teşekkürü hak ettirdi. Fazla konuşmadan işlemlere başlayalım.

Adım 1: CURL ile bağlanalım

if (@$_POST["submit"]) {
	function siteAdresi($site){
		$ch = curl_init();
		$hc = "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; Yahoo! Search - Web Search)";
		curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
		curl_setopt($ch, CURLOPT_URL, $site);
		curl_setopt($ch, CURLOPT_USERAGENT, $hc);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$site = curl_exec($ch);
		curl_close($ch);
		return $site;
	}

	function search($start, $end, $string){
		@preg_match_all('/' . preg_quote($start, '/') .
		'(.*?)'. preg_quote($end, '/').'/i', $string, $m);
		return @$m[1];
	}

	$veri= siteAdresi("https://iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=".$_POST["iban"]);
	$itemName = search('<strong>','</strong>',$veri)[0];
	$itemImg = search('src="','"',$veri)[2];

}

Bu kısımda inputa girilen veri  iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=IBAN url sine gidecek ve belirlediğimiz alanları bize getirecek. 

Adım 2: Formumuzu oluşturalım

<form action="" method="POST">
	<input type="text" name="iban" placeholder="IBAN numaranızı giriniz">
	<input type="submit" name="submit" value="Ara">
</form>
<table border="1">
	<thead>
		<th>BankImg</th>
		<th>BankName</th>
	</thead>
	<tbody>
		<tr>
			<?php if (!empty($itemImg)): ?>
				<td><img src="<?php echo "https://iban.gen.tr/" . $itemImg ?>" width="100"></td>
			<?php endif; ?>
			<?php if (!empty($itemName)): ?>
				<td><?php echo @$itemName; ?></td>
			<?php endif; ?>
		</tr>
	</tbody>
</table>

İşte uygulamamız bu kadar basit. Tabi bu uygulamanın ücretli API lerden özellik olarak birçok farkı var, örneğin ücretli API'lerde

  • IBAN'ın kontrol basamaklarını kullanarak geçerli olup olmadığının doğrulanması
  • IBAN'ın geçerli bir yerel banka kodu ve hesap numarası kontrol basamağı olup olmadığının kontrol edilmesi.
  • IBAN uzunluğunun doğrulanması
  • IBAN karakterlerini doğrulama (alfanümerik olmayan karakterleri kontrol etme)

ama bunların olması bizi durdurmaz wink bu uygulamayı kendi isteğinize göre daha çok geliştirebilirisiniz. Umarım yazım sizlere yardımcı olmuştur, teşekkürler. Uygulamanın tam halini Github sayfamdan indirebilirsiniz.

GÜNCELLEME

Girilen IBAN adresinde boşluk olunca hata veriyor ve verileri çekmiyor. Bu yüzden tek satırlık bir kod ile IBAN aralarında ki boşukları silelim.

$trim = str_replace(" ","", $_POST["iban"]); // Boşluklar silinir
$veri= siteAdresi("https://iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=".$trim); // Boşluksuz IBAN yazıdrılır.

Yorumlar (2)

  • atakan 5 ay önce

    güncellenmesi lazım Yanıtla

    • Emin Yılmaz 5 ay önce

      Merhaba Atakan, aslında çalışma konusunda bir problem yok, tek problem girilen IBAN arasında ki boşlukların olması. Makale içerisinde güncelleme yaptım :) İyi çalışmalar.

  • Zaytoz 7 ay önce

    Güzel bir anlatım olmuş hocam teşekkürler, kullanacağım :) Yanıtla

    • Emin Yılmaz 7 ay önce

      Rica ederim hocam ne demek :)