AkBank

AkBank'ın php dilinde yazılmış olan maksimum düzeyde geliştirilebilir ve entegre edilebilir kütüphane versiyonudur.

Kullanım

Aşağıdaki örnek kod ile Akbankasının sanalposunu kolay bir şekilde kullanılabilir hale getirebilirsiniz.

use ISProject\VirtualPos\Banks\AkBank;
use ISProject\VirtualPos\Exception\VirtualPosException;

include "vendor/autoload.php";

$akbank = new AkBank();

3D Olarak Ödeme Çekme

3D ile ödeme çekerken 2 adımlı doğrulama yapılmaktadır. Kullanıcı bilgilerini doğru bir şekilde girdikten sonra Bankanın 3d şifresini gireceği bölüme yönlendirilir. Bu bölümde şifre girildikten sonra successurl ve failurl olarak belirttiğimiz 2 url adresinden adresinden birine duruma göre yönlendirilir. Eğer ödeme başarılı ise successurl sayfasında son 1 kez ödeme doğrulanır.

Adım 1

Bu adımda 3d kart bilgilerini aldıktan sonra bankanın 3d sayfasına yönlendirilmek üzere bir form oluşturulur ve başarılı olursa $response->getData(); geriye bu formu döndürür ve bu formu siz post edersiniz.

use ISProject\VirtualPos\Banks\AkBank;
use ISProject\VirtualPos\Exception\VirtualPosException;

try {

    $akbank = new AkBank();
		$akbank->setTestMode(true);
		$akbank->setStoreType('3d');
		$akbank->setClientId(100100000);
		$akbank->setStoreKey(123456);
		$akbank->setUsername('AKTESTAPI');
		$akbank->setPassword('AKBANK01');
			
		$akbank->setOrderId(rand(1999999, 9999999));
		$akbank->setPrice(10.25);
		$akbank->setSuccessUrl('https://sanalpos.botbenson.com/successUrl.php');
    $akbank->setFailureUrl('https://sanalpos.botbenson.com/failureUrl.php');

		$response = $akbank->payment3D(5571135571135575, 12, 2026, "000");
		if ($response->isSuccess()) 
		{
			    echo $response->getData();
			    echo '<script>document.getElementById("NestPayVirtualPos").submit();</script>';
		}
    
} catch (VirtualPosException $e) {
    echo 'Hata => ' . $e->getMessage();
}

Adım 2

Bu adım son aşamadır. Bu aşamada bankadan gelen yanıt incelenir ve tekrar bankaya otomatik istek atılır. Banka bu adımda olumlu/olumsuz yanıtı döner. İşlem tamamlanır.

use ISProject\VirtualPos\Banks\AkBank;
use ISProject\VirtualPos\Exception\VirtualPosException;

try {

		$akbank = new AkBank();
		$akbank->setTestMode(true);
		$akbank->setStoreType('3d');
		$akbank->setClientId(100100000);
		$akbank->setStoreKey(123456);
		$akbank->setUsername('AKTESTAPI');
		$akbank->setPassword('AKBANK01');
			
		$akbank->setOrderId(1234567890123);
		$akbank->setPrice(10.25);
		$akbank->setSuccessUrl('https://sanalpos.botbenson.com/successUrl.php');
    $akbank->setFailureUrl('https://sanalpos.botbenson.com/failureUrl.php');
    
		$response = $akbank->paymentCallBack();
    if($response->isSuccess()) {
        echo 'Ödeme başarıyla çekildi.';
        echo 'Ödeme Detayları;';
        echo '<pre>';
        print_r($response->getData());
        echo '<pre>';
    } else {
        echo '<br>3D Ödeme çekilirken bir sorun oluştu; ';
        echo '<br>Hata Kodu: ' . $response->getCode();
        echo '<br>Hata Mesajı: ' . $response->getMessage();
    }
    
} catch (VirtualPosException $e) {
    echo 'Hata => ' . $e->getMessage();
}

Last updated

Was this helpful?