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?