%@ Page SmartNavigation="false" Language="vb" AutoEventWireup="false" %>
<%@ Import Namespace="System.Net" %>
3D Ödeme Sayfası
<%
Dim currency As String = "949" ' 949 - test için 792
Dim amount As String = Format(Session("amount"), "0.00").Replace(",", ".")
Dim clientId As String = Session("GetwayId")
Dim posturl As String = Session("Bank3dGetWayAddress")
'Banka tarafından mağazaya verilen iş yeri numarası
Dim oid As String = Session("NextOrderId") ' //Sipariş numarası 81.215.218.117
Dim sid As String = Session("SessionId")
Dim time As String = DateTime.Now.ToString("yyyyMMddHHmmss")
'ssl olmadan
Dim okUrl As String = BaseUrl & "/store/banks3d/3dodemevakifbank.aspx" ' //İşlem başarılıysa dönülecek işyeri sayfası (3D işleminin sonucu ödeme işleminin değil)
Dim failUrl As String = BaseUrl & "/store/banks3d/3dodemevakifbank.aspx" ' //İşlem başarısızsa dönülecek işyeri sayfası (3D işleminin sonucu ödeme işleminin değil)
'ssl
If ConfigurationManager.AppSettings("UseSsl") = "True" Then
okUrl = BaseUrl.Replace("http://", "https://") & "/store/banks3d/3dodemevakifbank.aspx" ' //İşlem başarılıysa dönülecek işyeri sayfası (3D işleminin sonucu ödeme işleminin değil)
failUrl = BaseUrl.Replace("http://", "https://") & "/store/banks3d/3dodemevakifbank.aspx" ' //İşlem başarısızsa dönülecek işyeri sayfası (3D işleminin sonucu ödeme işleminin değil)
End If
Dim kartTipi As String = IIf(Session("CardNumber").ToString.StartsWith("4"), "100", "200")
Dim strInstallmentCount As String = IIf(Session("Taksit") > 0, Session("Taksit"), "") 'Taksit Sayısı. Boş gönderilirse taksit yapılmaz
Dim strTerminalUserId As String = Session("GetwayUserName")
Dim strTerminalPass As String = Session("GetwayPassword")
Dim params As String = "Pan=" & Session("CardNumber") & "&ExpiryDate=" & Session("ExpYear") & Session("ExpMonth") & "&PurchaseAmount=" & amount & "&Currency=" & currency & "&BrandName=" & kartTipi & "&VerifyEnrollmentRequestId=" & oid & "&SessionInfo=" & "" & "&MerchantId=" & clientId & "&MerchantPassword=" & strTerminalPass & "&SuccessURL=" & okUrl & "&FailureURL=" & failUrl & "&InstallmentCount=" & strInstallmentCount
Dim dataStream As Byte() = Encoding.UTF8.GetBytes(params)
Dim webRequest As HttpWebRequest = DirectCast(HttpWebRequest.Create("https://3dsecure.vakifbank.com.tr:4443/MPIAPI/MPI_Enrollment.aspx"), HttpWebRequest)
'Mpi Enrollment Adresi
webRequest.Method = "POST"
webRequest.ContentType = "application/x-www-form-urlencoded"
webRequest.ContentLength = dataStream.Length
webRequest.KeepAlive = False
Dim responseFromServer As String = ""
Using newStream As Stream = webRequest.GetRequestStream()
newStream.Write(dataStream, 0, dataStream.Length)
newStream.Close()
End Using
Using webResponse As WebResponse = webRequest.GetResponse()
Using reader As New StreamReader(webResponse.GetResponseStream())
responseFromServer = reader.ReadToEnd()
reader.Close()
End Using
webResponse.Close()
End Using
If String.IsNullOrEmpty(responseFromServer) Then
Return
End If
Dim xmlDocument = New XmlDocument()
xmlDocument.LoadXml(responseFromServer)
Dim statusNode = xmlDocument.SelectSingleNode("IPaySecure/Message/VERes/Status")
Dim pareqNode = xmlDocument.SelectSingleNode("IPaySecure/Message/VERes/PaReq")
Dim acsUrlNode = xmlDocument.SelectSingleNode("IPaySecure/Message/VERes/ACSUrl")
Dim termUrlNode = xmlDocument.SelectSingleNode("IPaySecure/Message/VERes/TermUrl")
Dim mdNode = xmlDocument.SelectSingleNode("IPaySecure/Message/VERes/MD")
Dim messageErrorCodeNode = xmlDocument.SelectSingleNode("IPaySecure/MessageErrorCode")
Dim statusText As String = ""
If statusNode IsNot Nothing Then
statusText = statusNode.InnerText
End If
%>
<%If acsUrlNode IsNot Nothing Then%>
<%End If%>