<%@ Page Language="vb" AutoEventWireup="false" Inherits="._3dodeme_ipara_api" %> <%@ Import Namespace="System.Security.Cryptography" %> <%@ Import Namespace="System.Net" %>

3D Ödeme Sayfası

Kapat
Kapat <% Dim Result As String = Request.Form("result") Dim OrderId As String = Request.Form("orderId") Dim Amount As String = Request.Form("amount") Dim Mode As String = Request.Form("mode") 'Dim Mode As String = "T" Dim PublicKey As String = "" Dim Errorcode As String = "" Dim ErrorMessage As String = "" Dim TransactionDate As String = "" Dim Hash As String = "" Dim ThreeDSecureCode As String = "" If Request.Form("publicKey") IsNot Nothing Then PublicKey = Request.Form("publicKey") End If If Request.Form("errorCode") IsNot Nothing Then Errorcode = Request.Form("errorCode") End If If Request.Form("errorMessage") IsNot Nothing Then ErrorMessage = Request.Form("errorMessage") End If If Request.Form("transactionDate") IsNot Nothing Then TransactionDate = Request.Form("transactionDate") End If If Request.Form("hash") IsNot Nothing Then Hash = Request.Form("hash") End If If Request.Form("threeDSecureCode") IsNot Nothing Then ThreeDSecureCode = Request.Form("threeDSecureCode") End If Dim tarih As String = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") Dim privatekey As String = Session("GetwayUserName") Dim oid As String = ChkNullString(Session("NextOrderId"), GetRandomOrderCode()) Dim tmpOrder As New TempOrder Dim UserId As String = "" Dim UserName As String = "" If HttpContext.Current.User.Identity.IsAuthenticated() Then UserId = Context.User.Identity.Name.Split("|")(0) If IsNumeric(UserId) Then Dim ua As New ASPNetPortal.UsersDB Dim dr As SqlDataReader dr = ua.GetUserIndirim(UserId) dr.Read() UserName = ChkNullString(dr(3)) dr.Close() End If End If If Session("TempOrder") Is Nothing Then 'Or MyList.Items.Count < 1 Then Dim usr As New UsersDB Dim dr As SqlDataReader = usr.GetSingleUser(CInt(UserId)) dr.Read() tmpOrder.ShippingInfo.Mail = ChkNullString(dr("Email")) tmpOrder.BillingInfo.MobilePhone = ChkNullString(dr("MobilePhone")) tmpOrder.BillingInfo.TaxNo = ChkNullString(dr("CompanyVdNo")) tmpOrder.BillingInfo.Address = ChkNullString(dr("Addres")) tmpOrder.BillingInfo.CityName = ChkNullString(dr("CityId")) tmpOrder.BillingInfo.TaxOffice = ChkNullString(dr("CompanyVd")) tmpOrder.BillingInfo.CompanyName = ChkNullString(dr("CompanyName")) tmpOrder.BillingInfo.PhoneNo = ChkNullString(dr("Phone1")) tmpOrder.ShippingInfo.Address = ChkNullString(dr("Addres")) tmpOrder.ShippingInfo.CityName = ChkNullString(dr("CityId")) tmpOrder.ShippingInfo.CountryName = ChkNullString(dr("CountryID")) tmpOrder.ShippingInfo.PhoneNo = ChkNullString(dr("Phone1")) Else tmpOrder = Session("TempOrder") End If Dim Name, SurName As String Dim Email As String = tmpOrder.ShippingInfo.Mail If Email = "" Then Email = "admin@siteniz.com" End If Email = turkce(Email) Name = turkce(tmpOrder.BillingInfo.CompanyName) SurName = turkce(tmpOrder.BillingInfo.CompanyName) Dim ToSendMail As String = _portalsettings.Email If ConfigurationManager.AppSettings("SmtpMailOrders") <> "" Then ToSendMail = ConfigurationManager.AppSettings("SmtpMailOrders") End If Dim token As String = "" If ErrorMessage = "" Then If Not Hash = "" Then Dim hashText As String = privatekey + oid + Amount + Mode + ThreeDSecureCode + tarih Dim sha As SHA1 = New SHA1CryptoServiceProvider() Dim hashbytes As Byte() = System.Text.Encoding.UTF8.GetBytes(hashText) Dim inputbytes As Byte() = sha.ComputeHash(hashbytes) token = PublicKey + ":" + Convert.ToBase64String(inputbytes) End If Dim xmlData As String = "" & "true" & "" & oid & "" & "Echo Bilgisi" & "" & Amount & "" & "" & Mode & "" & "1" & "" & ThreeDSecureCode & "" & "" & "" & "" & oid & "" & "" & oid.Substring(0, 5) & "" & "1" & "" & "" & "" & "" & "" & "" & tmpOrder.BillingInfo.MobilePhone & "" & "" & tmpOrder.BillingInfo.TaxNo & "" & "" & "" & Name & "" & "" & SurName & "" & "
" & tmpOrder.BillingInfo.Address & "
" & "" & "" & tmpOrder.BillingInfo.CityName & "" & "" & "tr" & "" & tmpOrder.BillingInfo.TaxNo & "" & "" & tmpOrder.BillingInfo.TaxOffice & "" & "" & tmpOrder.BillingInfo.CompanyName & "" & "" & tmpOrder.BillingInfo.PhoneNo & "" & "
" & "" & "" & Name & "" & "" & SurName & "" & "
" & tmpOrder.ShippingInfo.Address & "
" & "" & "" & tmpOrder.ShippingInfo.CityName & "" & "" & tmpOrder.ShippingInfo.CountryName & "" & "" & tmpOrder.ShippingInfo.PhoneNo & "" & "
" & "
" & "
" Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(xmlData) Dim xmlResponse As String = "" Dim httpWebRequest As HttpWebRequest = DirectCast(WebRequest.Create("https://api.ipara.com/rest/payment/auth"), HttpWebRequest) httpWebRequest.Headers.Add("transactionDate", tarih) httpWebRequest.Headers.Add("version", "1.0") httpWebRequest.Headers.Add("token", token) httpWebRequest.Method = WebRequestMethods.Http.Post httpWebRequest.Accept = "application/xml" httpWebRequest.ContentType = "application/xml; charset=utf-8" httpWebRequest.ContentLength = buffer.Length Dim rs As System.IO.Stream = httpWebRequest.GetRequestStream() rs.Write(buffer, 0, buffer.Length) rs.Close() Dim responseweb As WebResponse = httpWebRequest.GetResponse() Using sr As New StreamReader(responseweb.GetResponseStream()) xmlResponse = sr.ReadToEnd() End Using Dim xml As New XmlDocument() xml.LoadXml(xmlResponse) Dim nodeerrorCode As XmlNodeList Dim nodeerrorMessage As XmlNodeList Dim noderesult As XmlNodeList noderesult = xml.GetElementsByTagName("result") If noderesult(0).InnerText <> "1" Then nodeerrorCode = xml.GetElementsByTagName("errorCode") nodeerrorMessage = xml.GetElementsByTagName("errorMessage") Session("SonucKodu") = nodeerrorCode(0).InnerText Session("SonucAciklamasi") = nodeerrorMessage(0).InnerText Session("RandomOrderId") = "" Else Session("SonucKodu") = "1" Session("SonucAciklamasi") = "Success" End If Session("Sonuc") = noderesult(0).InnerText If noderesult(0).InnerText <> "1" Then Dim OkStatus As String = "1234" If Not ConfigurationManager.AppSettings("Pay3dOkStatus") Is Nothing Then OkStatus = ConfigurationManager.AppSettings("Pay3dOkStatus") End If Dim _portalSettings As PortalSettings _portalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings) Dim mail As New webmail If Session("TempOrder") Is Nothing Then tmpOrder = New ASPNetPortal.TempOrder Else tmpOrder = Session("TempOrder") End If Try ' log error Dim py As New PaymentsDB py.AddPayment(tmpOrder, UserId, "
Banka 3D mesajı :" & nodeerrorMessage(0).InnerText) If Not ConfigurationManager.AppSettings("SendFailedPayments") = "False" Then mail.SendMail(_portalSettings.Email, ToSendMail, "Ödeme Onayı Alınamadı(3D)", "Kabul Edilecek işlem sonuçları(3D): " & OkStatus & "
İşlem Sonucu : " & nodeerrorCode(0).InnerText & "
Banka:" & tmpOrder.BankInfo.BankName & "
Taksit:" & tmpOrder.BankInfo.Taksit & "UserId:" & UserId & "
UserName:" & UserName & "Toplam:" & tmpOrder.Pricess.KargoDahilCreditCardToplamTL & " TL
Teslimat Adı: " & tmpOrder.ShippingInfo.RecipientName & "
Teslimat Tel: " & tmpOrder.ShippingInfo.PhoneNo & "
Teslmat Gsm: " & tmpOrder.ShippingInfo.MobilePhone & "
Fatura Adı:" & tmpOrder.BillingInfo.CompanyName & "
Banka 3D mesajı :" & nodeerrorMessage(0).InnerText) End If Catch ' log error Dim py As New PaymentsDB py.AddPayment(tmpOrder, UserId, "
Banka 3D mesajı :" & nodeerrorMessage(0).InnerText) If Not ConfigurationManager.AppSettings("SendFailedPayments") = "False" Then mail.SendMail(_portalSettings.Email, ToSendMail, "Ödeme Onayı Alınamadı(3D)", "Kabul Edilecek işlem sonuçları(3D): " & OkStatus & "
İşlem Sonucu : " & nodeerrorCode(0).InnerText & "
Banka 3D mesajı :" & nodeerrorMessage(0).InnerText.ToString()) End If End Try Dim sb As New StringBuilder() sb.AppendLine("") Response.Write(sb.ToString()) Else Dim sb As New StringBuilder() sb.AppendLine("") Response.Write(sb.ToString()) End If Else Session("SonucKodu") = Errorcode Session("SonucAciklamasi") = ErrorMessage Session("RandomOrderId") = "" Session("Sonuc") = ErrorMessage Dim OkStatus As String = "1234" If Not ConfigurationManager.AppSettings("Pay3dOkStatus") Is Nothing Then OkStatus = ConfigurationManager.AppSettings("Pay3dOkStatus") End If Dim _portalSettings As PortalSettings _portalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings) Dim mail As New webmail If Session("TempOrder") Is Nothing Then tmpOrder = New ASPNetPortal.TempOrder Else tmpOrder = Session("TempOrder") End If Try If HttpContext.Current.User.Identity.IsAuthenticated() Then UserId = Context.User.Identity.Name.Split("|")(0) If IsNumeric(UserId) Then Dim ua As New ASPNetPortal.UsersDB Dim dr As SqlDataReader dr = ua.GetUserIndirim(UserId) dr.Read() UserName = ChkNullString(dr(3)) dr.Close() End If End If ' log error Dim py As New PaymentsDB py.AddPayment(tmpOrder, UserId, "
Banka 3D mesajı :" & ErrorMessage) If Not ConfigurationManager.AppSettings("SendFailedPayments") = "False" Then mail.SendMail(_portalSettings.Email, ToSendMail, "Ödeme Onayı Alınamadı(3D)", "Kabul Edilecek işlem sonuçları(3D): " & OkStatus & "
İşlem Sonucu : " & Errorcode & "
Banka:" & tmpOrder.BankInfo.BankName & "
Taksit:" & tmpOrder.BankInfo.Taksit & "UserId:" & UserId & "
UserName:" & UserName & "Toplam:" & tmpOrder.Pricess.KargoDahilCreditCardToplamTL & " TL
Teslimat Adı: " & tmpOrder.ShippingInfo.RecipientName & "
Teslimat Tel: " & tmpOrder.ShippingInfo.PhoneNo & "
Teslmat Gsm: " & tmpOrder.ShippingInfo.MobilePhone & "
Fatura Adı:" & tmpOrder.BillingInfo.CompanyName & "
Banka 3D mesajı :" & ErrorMessage) End If Catch ' log error Dim py As New PaymentsDB py.AddPayment(tmpOrder, UserId, "
Banka 3D mesajı :" & ErrorMessage) If Not ConfigurationManager.AppSettings("SendFailedPayments") = "False" Then mail.SendMail(_portalSettings.Email, ToSendMail, "Ödeme Onayı Alınamadı(3D)", "Kabul Edilecek işlem sonuçları(3D): " & OkStatus & "
İşlem Sonucu : " & Errorcode & "
Banka 3D mesajı :" & ErrorMessage) End If End Try Dim sb As New StringBuilder() sb.AppendLine("") Response.Write(sb.ToString()) End If %>