📃
Sanal Pos
  • Genel Bakış
  • Kurulum
  • Sanal Poslar
    • Vakıf Bank
    • AkBank
Powered by GitBook
On this page
  • Kullanım
  • 3D Olarak Ödeme Çekme

Was this helpful?

  1. Sanal Poslar

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();
}
PreviousVakıf Bank

Last updated 4 years ago

Was this helpful?