PDA

Tam Versiyonu Gör : Bank_Class tek banka ile peşin satış


Cem KARACA
12-06-2008, 03:09
Bu foruma eklenmiş olan örnek post sayfasını kullanarak kredi kartı ve müşteri bilgilerini Bank_Class'ı içeren php sayfanıza gönderebilirsiniz, indirmek için lütfen sayfanın alt kısmını kontrol ediniz.

odeme.php sayfasında, öncelikle Bank_Class sınıfını "require_once" yöntemi ile çağırmalısınız:


require_once "Banka/Banka_class.php";
* Bank_Class sisteme gömülüdür, aynen yukarıda belirtildiği gibi çağırılmalıdır.

Kodunuzda oluşabilecek hataları ve uyarıları görmeniz için, sayfaya hata yazdırma opsiyonunu test sırasında açık tutmanızı öneririz:

ini_set('error_reporting', E_ALL);
Bu işlemleri tamamladıktan sonra Bank_Class için yeni bir "instance" oluşturulmalıdır:

$Banka = new Banka(true, true); // Set Test , Set debug
/* Sınıfın aldığı ilk değer test modunun açılması ya da kapatılmasını sağlar,
test modunda sınıf, kendi içinde yerleşik olan banka test URL'lerini kullanır.
Sınıfın aldığı ikinci değer, hata ayıklama (debug) modunu açar ya da kapatır.
Debug modunda bütün değerler, girdi ve çıktılar ekrana yazdırılır. */
Bu adımdan sonra, bankanızın size tahsis etmiş olduğu kullanıcı adı, parola ve diğer gerekli bilgileri sınıfa bildirmelisiniz:

/* AKBANK için */
$Banka->SetAkBank($name, $password, $clientid, $oid);
/*
$name: Bankanın vermiş olduğu kullanıcı adı
$password: Bankanın vermiş olduğu şifre
$clientid: Bankanın vermiş olduğu müşteri numarası
$oid: ödeme numarası, tavsiye edilen değer:
$gr_oid= "xxxxxx".rand(); // x yerine yazabileceğiniz tanımlayıcı bir değer
*/
/* Diğer Bankalar */
// Yapı Kredi
$Banka->SetPOSNET($yk_mid, $yk_tid, $yk_orderid, $yk_username, $yk_password, $yk_hostname);
// Garanti Bankası
$Banka->SetGaranti($gr_name, $gr_password, $gr_clientid, $gr_oid);
// Fortis Bank
$Banka->SetFortis($ft_name, $ft_password, $ft_clientid, $ft_oid);
// Finans Bank
$Banka->SetFinans($fi_name, $fi_password, $fi_clientid, $fi_oid);
// İş Bankası
$Banka->SetIsBank($is_name, $is_password, $is_clientid, $is_oid);
// HSBC Bank
$Banka->SetHSBC($hs_name, $hs_password, $hs_clientid, $hs_oid);
Bu adımdan sonra, bir önceki sayfadan (odeme_from.html) aldığınız POST bilgilerini sınıfa bildirmelisiniz:

$Banka->SetCC($_POST["cardno"], $_POST["expmonth"], $_POST["expyear"], $_POST["total"], $_POST["cv2"], "Müşteri@e-mail.adresi", "Müşteri ismi", "Müşteri Soyadı", "adres","Şehir");
/* Bu şekilde POST değerlerinin bir denetimden geçirilmeden sınıfa gönderilmesi güvenli olmayabilir, daha fazla bilgi için PHP dökümantasyonuna bakınız. */
Artık peşin satış işlemini gerçekleştirebilirsiniz:

if($Banka->DoSale(0)==true) // 0 taksit (peşin satış)
{
$logkey = $Banka->GetHostlogkey();
$AuthCode = $Banka->GetAuthCode();
$Banka->GetTransId();
} else
{
$ProcReturnCode = $Banka->GetResponseCode();
$ErrMsg = $Banka->GetResponseText();
}
İşlemin onaylanması durumunda $logkey bankadan dönen kayıt anahtarını ve $AuthCode ise provizyon numarasını içerir, banka işlemi kabul etmezse hata numarasını ve hata metnini $ProcReturnCode ve $ErrMsg değişkenlerine atayabilirsiniz.

* Önemli Not: VeriPortal ve VeriTeknik Bilişim kodlar ile ilgili hiçbir garanti ve destek vermemektedir, kendi riskiniz ile kullanınız.

digita_dgkn
27-06-2008, 04:36
hata kodlarını göstermek için bir ekleme display error u açmak gerekiyor.
ini_set('display_errors', 'On');