• 02-08-2014, 18:07:20
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    [PHP] Kolay Sanal Pos Entegrasyon

    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)

    $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

    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!

    $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.

     $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.
    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.

    $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

    $str = new SanalPos();
    $str->Console("test");
    Kaynak: GitHub! Ufuk Özarslan
  • 05-08-2014, 15:30:11
    #2
    inceleme fırsatım olmadı, ama eline sağlık.
  • 10-08-2014, 17:22:50
    #3
    Anquietas adlı üyeden alıntı: mesajı görüntüle
    inceleme fırsatım olmadı, ama eline sağlık.
    Herkes anlayabilsin yada yapabilsin amacımız.
  • 10-08-2014, 17:30:08
    #4
    Üyeliği durduruldu
    Hepsini okumadım ancak yarısına kadar okudum faydalı bir anlatım olmuş.
  • 08-09-2014, 16:23:48
    #5
    İnş yararlı olmuştur