• 02-12-2012, 02:33:00
    #1
    arkadaşlar garanti bankasının sanal posunu kullanıyorum ama ben finansbankasındada aynısını kullanmak istiyorum ne yapmam lazım bu kodlar yeterlimi aynısı çalışırmı acaba? yada düzenlemeyi nasıl yapmam gerekiyor.


    ' GARANTİ BANKASI ************************************************** ************************************************** ********************************
    set rs_kart = server.CreateObject(O)
    sql_kart = "select * from pos where banka_id = 5"
    rs_kart.open sql_kart, baglanti, 1, 3
    if not rs_kart.eof then
    Name = rs_kart("api_user")
    Password = rs_kart("api_pass")
    ClientId = rs_kart("magaza_no")
    durum_3d = rs_kart("3d")
    end if
    rs_kart.close
    strMode = "PROD"
    strVersion = "v0.01"
    strTerminalID = strTerminalID
    strTerminalID_ = right("00000" & strTerminalID,9)
    strProvUserID = "PROVAUT"
    strProvisionPassword = Password 'TerminalProvUserID şifresi
    strUserID = Name 'SanaPos Kullanıcı Adınız
    strMerchantID = ClientId 'Üye İşyeri Numarası
    strCustomerName = user_isim(userloginid)
    strIPAddress = Request.ServerVariables("REMOTE_ADDR")
    strEmailAddress = user_mail(userloginid)
    strOrderID = OrderId 'Her sipariş için unique bir değer gönderilmelidir.
    strInstallmentCnt = taksit 'Taksit Sayısı. Boş gönderilirse taksit yapılmaz
    strNumber = Number
    strExpireDate = gExpire
    strCVV2 = Cvv2Val
    strAmount = total 'İşlem Tutarı 1.00 TL için 100 gönderilmeli
    strType = "sales"
    strCurrencyCode = "949"
    strCardholderPresentCode = "0"
    strMotoInd = "N"
    strHostAddress = "https://www.fbwebpos.com/servlet/cc5ApiServer"
    SecurityData = hex_sha1(strProvisionPassword + strTerminalID_)
    HashData = hex_sha1(strOrderID + strTerminalID + strNumber + strAmount + SecurityData)
    'Provizyona Post edilecek XML Şablonu
    strXML = "<?xml version=""1.0"" encoding=""UTF-8""?>" & _
    "<GVPSRequest>" & _
    "<Mode>" & strMode & "</Mode>" & _
    "<Version>" & strVersion & "</Version>" & _
    "<ChannelCode></ChannelCode>" & _
    "<Terminal><ProvUserID>" & strProvUserID & "</ProvUserID><HashData>" & HashData & "</HashData><UserID>" & strUserID & "</UserID><ID>" & strTerminalID & "</ID><MerchantID>" & strMerchantID & "</MerchantID></Terminal>" & _
    "<Customer><IPAddress>" & strIPAddress & "</IPAddress><EmailAddress>" & strEmailAddress & "</EmailAddress></Customer>" & _
    "<Card><Number>" & strNumber & "</Number><ExpireDate>" & strExpireDate & "</ExpireDate><CVV2>" & strCVV2 & "</CVV2></Card>" & _
    "<Order><OrderID>" & strOrderID & "</OrderID><GroupID></GroupID><AddressList><Address><Type>S</Type><Name></Name><LastName></LastName><Company></Company><Text></Text><District></District><City></City><PostalCode></PostalCode><Country></Country><PhoneNumber></PhoneNumber></Address></AddressList></Order>" & _
    "<Transaction>" & _
    "<Type>" & strType & "</Type><InstallmentCnt>" & strInstallmentCnt & "</InstallmentCnt><Amount>" & strAmount & "</Amount><CurrencyCode>" & strCurrencyCode & "</CurrencyCode><CardholderPresentCode>" & strCardholderPresentCode & "</CardholderPresentCode><MotoInd>" & strMotoInd & "</MotoInd>" & _
    "<Secure3D><AuthenticationCode>" & strAuthenticationCode & "</AuthenticationCode><SecurityLevel>" & strSecurityLevel & "</SecurityLevel><TxnID>" & strTxnID & "</TxnID><Md>" & strMD & "</Md></Secure3D>" & _
    "</Transaction>" & _
    "</GVPSRequest>"

    Set SrvHTTPS = Server.CreateObject("MSXML2.ServerXMLHTTP")
    Set XMLSend = Server.CreateObject("MSXML2.DOMDocument")

    'SrvHTTPS.setOption 2, 13056 'bazı serverlarda dışarıya https ile veri gönderirken hata alırsanız aktif edin.
    SrvHTTPS.open "POST", strHostAddress, false
    SrvHTTPS.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
    SrvHTTPS.send "data="+strXML

    Set xmlDoc2 = CreateObject("MSXML2.DOMDocument")
    xmlDoc2.setProperty "ServerHTTPRequest", True
    xmlDoc2.async = True
    xmlDoc2.LoadXML SrvHTTPS.responseText

    'Bu bölüm müşteriye gösterilmemeli. Sadece Giden İstek ve Gelen Yanıtı görebilmeniz için ekledik.
    'Response.Write "<br><b>Giden İstek</b><br />"
    'Response.Write strXML
    'Response.Write "<br>"
    'Response.Write "<br><b>Gelen Yanıt</b><br />"
    'Response_Doc = SrvHTTPS.responseText
    'Response_Doc = Replace (Response_Doc,"<","&lt;")
    'Response_Doc = Replace (Response_Doc,">","&gt;")
    'Response.Write Response_Doc & "<br />"
    Set GVPSNodes = xmlDoc2.selectNodes("//GVPSResponse/Transaction/Response/*")
    'Geri dönen response tag değerlerini bir döngü içerisinden seçerek gösterebiliriz.
    'Response.Write "<br /><b>Gelen Yanıt İçerisinden Seçtiklerimiz</b><br />"
    For each entry in GVPSNodes
    If entry.tagName = "ReasonCode" then
    strReasonCode = entry.text
    Elseif entry.tagName = "Message" then
    strMessage = entry.text
    Elseif entry.tagName = "ErrorMsg" then
    strErrorMsg = entry.text
    Elseif entry.tagName = "SysErrMsg" then
    strSysErrMsg = entry.text
    End if
    Next
    'Müşteriye gösterilebilir ama Fraud riski açısından bu değerleri göstermeyelim.
    'Response.Write "ReasonCode: " & strReasonCode & "<br />"
    'Response.Write "Message: " & strMessage & "<br />"
    'Response.Write "ErrorMsg: " & strErrorMsg & "<br />"
    'Response.Write "SysErrMsg: " & strSysErrMsg & "<br />"
    'Response.Write "<br /><b>Gelen Yanıt İçerisinden Müşteriye Gösterilebilecek Sonuç</b><br />"
    '00 ReasonCode döndüğünde işlem başarılıdır.
    If strReasonCode = "00" Then
    k_sonuc = "ok"
    Else
    k_sonuc = "hata"
    hata = strSysErrMsg ' Veya strSysErrMsg Veya kendi mesajımızı da yazabiliriz.
    End If
    ' GARANTİ BANKASI ************************************************** ************************************************** ********************************
  • 02-12-2012, 02:49:05
    #2
    Merhaba, Garanti Bankası ve FinansBank EST alt yapısını kullanıyorlar, fakat Garanti Bankası uzun bir süredir EST üzerinde kendi modülleri ile güncelleştirme yaparak sistemi geliştirdi ve dolayısıyla değiştirdi.

    Mantık olarak aynı olmakla birlikte Finans Bankın size gönderdiği entegrasyon dökümanlarıını takip ederek entegrasyonu sağlayabilirsiniz.
  • 05-12-2012, 02:12:46
    #3
    evet hallettim 3d key aktif olmamış
  • 27-07-2013, 02:41:28
    #4
    Normalde post değişkenine düşüyor ama nedense garanti içeriği dolu göndermek yerine boş gönderiyor. Bunu anlamış değilim. Ne gerek var , milleti uğraştırıyorlar ?

    Verdikleri örnek ASP kodlarında da gvps xml formatında ayrıştırılmamış.

    Kodu paylaştığın için teşekkürler.

    Ayrıca ek bilgi hash_js1 dosyasınıda est ile kullanacak olanlar garantide aynı kodu kullandığı için tek fonksiyonla büyük harf büyütme değişkenini 1 yaparak sorunu çözebilirler. Bulana kadar R10 ASP ailesi yararlansın ( son kalan )

    Kod 3dmodelresult.asp içinde bulunmuyor. Ama ilginçtir ki XML_Pay.asp içinde varmış. Orda var burda yok. Olması gereken 2-3 yer var neden koymamışlar anlamadım.

    Normalde


    For each obj in request.form
    Response.Write("<br>" & obj & " :" & request.form(obj) & vbcrlf)
    Next

    Bu değişkenlerin içinden gelmesi gerekir di .