[PHP] Sanal Pos Entegrasyonu Nasıl Yapılır ?
Türkiye’de kullanılan birçok bankanın sanal POS’larına kolay entegrasyon amacıyla yayınlanmıştır.
Hangi Bankalarda Geçerlidir ?
Bu entegrasyon Türkiye’de geçerli birçok bankalarda geçerlidir.
Ak Bank
İş Bankası
Halk Bank
TEB Bank
DenizBank
ING Bankası
Anadolu Bank
Ziraat Bankası
Finans Bankası
Kuveyt Bankası
Nasıl Kullanılır?
Servisi kullanacağınız size birkaç alternatif bilgi vermektedir. Bu bilgiler doğrultusunda sizden onların belirlemiş olduğu bir kombinasyon ile dataları sizden geri ister. Bu form’da gönderilmesi gerekli bilgiler aşağıda ekliyecegim. index.php de gerekli olan birkaç bilgileri bakabilirsiniz.
index.php (işlem)
1234567 | $clientId = Banka tarafindan verilen is yeri numarasi $amount = Yapılan İşlem tutarı $oid = Yapılan işlem numarası, sizdeki sisteme kaydetmek için düşünülmüş birşey $okUrl = İşlem yapıldığında yönlenecek adres $failUrl = İşlem yapılmadığında yönlenilecek adres $storeKey = İş yeri ayiraci (is yeri anahtari) $rand = İşlemin micro zamanı |
Gönderilmesi zorunlu keyler
1234567891011121314 | pan Kart No 16 numeric cv2 Kartın arka yüzünde bulunan 3-4 numeric Ecom_Payment_Card_ExpDate_Year Son kullanım yılı Ecom_Payment_Card_Expdate_Mounth Son kullanım ayı cardType Kart tipi Visa/Master clientid amount oid okUrl failUrl rnd hash storetype lang sayfa dili TR--> TÜRKÇE |
index.php form action adresi “https://sunucu_adresi/3dgate_path” bankanızdan istemeyi unutmayınız!
12 | $sanalpos = new SanalPOS(); $hash = $sanalpos->estModelHash( $clientId, $amount, $oid, $okUrl, $failUrl, $storeKey, $rand ); |
hash değişkenini bu şekilde alabilirsiniz. index.php dosyasında herhangi bir text editörü ile açıp bilgileri düzenleyebilirsiniz.
return.php (Sonuç)
Banka servisinden dönen sonuçları almak için bu işlemleri yapmak zorundayız. Çünkü herşey bu obje üzerinden dönmektedir.
123456 | $name = Üye iş yeri tarafından açılan pos kullanıcısı $password = Üye iş yeri tarafından açılan pos kullanıcı şifresi $storekey = Yukarıda belirttiğim üzere iş yeri ayiraci (is yeri anahtari) $url = "https://sunucu_adresi/apiserver_path" Banka tarafından verilen CURL'un web servisine bağlandığı adres "https://sunucu_adresi/apiserver_path" bu adresi banka yetkililerinden istemeyi unutmayınız. Her banka için bu bilgiler değişiklik gösterebilir. |
123456 | require_once ('class.sanalpos.php'); $sanalpos = new SanalPOS(); $name = "XXXXXXXX"; $password = "xxxxxxxxx"; $storekey = "XXXX"; $url = "https://sunucu_adresi/apiserver_path"; |
Datayı dizi (array) şeklinde aldırdım. Aşağıda vereceğim kodları kendinize göre uyarlayabilirsiniz.
1234567 | $data = $sanalpos->estModelProces($storekey,$name,$password,$url); if ( $data['Response'] == 'Approved' ) { echo "Ödeme OK" . $data['TransId']; } else { echo "Ödeme Alınamadı. Hata" . $data['ErrMsg']; } |
NOT:Console
12 | $str = new SanalPos(); $str->Console("test"); |
Kaynak: GitHub! Ufuk Özarslan
Dosyaları Buradan İndirebilirsiniz.
Hocam bunun dosyalarını paylaşır mısınız. İndex.php Return.php sini vs. paylabilir misiniz ?
Buyrun hocam : https://dosya.co/hjhllllolrqm/SanalPosEntegrasyon-master.zip.html
link silinmiş yenilermisiniz
link düzenlendi. Link ; https://disk.yandex.com.tr/d/b0oahSPMS_pjQg