public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PaymentAmount?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Receipt?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PaymentDate?.GetHashCode() ?? 0);
            return(hashCode);
        }
示例#2
0
        ResultMessageModel Finansbank()
        {
            try
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
                ePayment.cc5payment mycc5pay = new ePayment.cc5payment();

                #region Pos Configuration
                mycc5pay.name        = "";
                mycc5pay.password    = "";
                mycc5pay.clientid    = "";
                mycc5pay.orderresult = 0; // 0 : gercek islem, 1 : test islem
                mycc5pay.host        = "https://www.fbwebpos.com/fim/api";

                #endregion

                string order_code = Util.CreateRandomValue(10, true, true, true, false);

                mycc5pay.oid        = order_code;
                mycc5pay.cardnumber = CreditCard.CardNumber;
                mycc5pay.expmonth   = CreditCard.Month;
                mycc5pay.expyear    = CreditCard.Year;
                mycc5pay.cv2        = CreditCard.Cvc;
                mycc5pay.taksit     = "";
                mycc5pay.subtotal   = PaymentAmount.ToString().Replace(",", ".");
                mycc5pay.currency   = "949";
                mycc5pay.chargetype = "Auth";
                mycc5pay.bname      = NameSurname;
                mycc5pay.email      = Email;

                if (Instalment > 1)
                {
                    mycc5pay.taksit = Instalment.ToString();
                }

                if (mycc5pay.processorder() == "1" && mycc5pay.appr == "Approved")
                {
                    return(new ResultMessageModel {
                        Status = true
                    });
                }
                else
                {
                    return(new ResultMessageModel {
                        Status = false, Code = mycc5pay.err, Message = mycc5pay.errmsg
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ResultMessageModel {
                    Status = false, Message = ex.Message
                });
            }
        }
示例#3
0
 public override string ToString()
 {
     return($"H,{PaymentNumber.Trim()},{PaymentAmount.Trim()},{PayeeId.Trim()},{PaymentDate.Trim()},{FreeFormAddress1?.Trim().EscapeCSV()},{FreeFormAddress2?.Trim().EscapeCSV()},{FreeFormAddress3?.Trim().EscapeCSV()},{FreeFormAddress4?.Trim().EscapeCSV()},{FreeFormAddress5?.Trim().EscapeCSV()}");
 }
 public void PaymentAmountTextBox()
 {
     PaymentAmount.Clear();
     PaymentAmount.SendKeys(ExcelOperation.GetData[7]);
 }
示例#5
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as PaymentReconciliation;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.FinancialResourceStatusCodes>)StatusElement.DeepCopy();
            }
            if (Period != null)
            {
                dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
            }
            if (CreatedElement != null)
            {
                dest.CreatedElement = (Hl7.Fhir.Model.FhirDateTime)CreatedElement.DeepCopy();
            }
            if (PaymentIssuer != null)
            {
                dest.PaymentIssuer = (Hl7.Fhir.Model.ResourceReference)PaymentIssuer.DeepCopy();
            }
            if (Request != null)
            {
                dest.Request = (Hl7.Fhir.Model.ResourceReference)Request.DeepCopy();
            }
            if (Requestor != null)
            {
                dest.Requestor = (Hl7.Fhir.Model.ResourceReference)Requestor.DeepCopy();
            }
            if (OutcomeElement != null)
            {
                dest.OutcomeElement = (Code <Hl7.Fhir.Model.ClaimProcessingCodes>)OutcomeElement.DeepCopy();
            }
            if (DispositionElement != null)
            {
                dest.DispositionElement = (Hl7.Fhir.Model.FhirString)DispositionElement.DeepCopy();
            }
            if (PaymentDateElement != null)
            {
                dest.PaymentDateElement = (Hl7.Fhir.Model.Date)PaymentDateElement.DeepCopy();
            }
            if (PaymentAmount != null)
            {
                dest.PaymentAmount = (Hl7.Fhir.Model.Money)PaymentAmount.DeepCopy();
            }
            if (PaymentIdentifier != null)
            {
                dest.PaymentIdentifier = (Hl7.Fhir.Model.Identifier)PaymentIdentifier.DeepCopy();
            }
            if (Detail != null)
            {
                dest.Detail = new List <Hl7.Fhir.Model.PaymentReconciliation.DetailsComponent>(Detail.DeepCopy());
            }
            if (FormCode != null)
            {
                dest.FormCode = (Hl7.Fhir.Model.CodeableConcept)FormCode.DeepCopy();
            }
            if (ProcessNote != null)
            {
                dest.ProcessNote = new List <Hl7.Fhir.Model.PaymentReconciliation.NotesComponent>(ProcessNote.DeepCopy());
            }
            return(dest);
        }
示例#6
0
 public void SetPaymentAmount(PaymentAmount paymentAmount) => PaymentAmount = paymentAmount;
示例#7
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (Period != null)
            {
                writer.WritePropertyName("period");
                Period.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Created))
            {
                writer.WriteString("created", (string)Created !);
            }

            if (_Created != null)
            {
                writer.WritePropertyName("_created");
                _Created.SerializeJson(writer, options);
            }

            if (PaymentIssuer != null)
            {
                writer.WritePropertyName("paymentIssuer");
                PaymentIssuer.SerializeJson(writer, options);
            }

            if (Request != null)
            {
                writer.WritePropertyName("request");
                Request.SerializeJson(writer, options);
            }

            if (Requestor != null)
            {
                writer.WritePropertyName("requestor");
                Requestor.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Outcome))
            {
                writer.WriteString("outcome", (string)Outcome !);
            }

            if (_Outcome != null)
            {
                writer.WritePropertyName("_outcome");
                _Outcome.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Disposition))
            {
                writer.WriteString("disposition", (string)Disposition !);
            }

            if (_Disposition != null)
            {
                writer.WritePropertyName("_disposition");
                _Disposition.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(PaymentDate))
            {
                writer.WriteString("paymentDate", (string)PaymentDate !);
            }

            if (_PaymentDate != null)
            {
                writer.WritePropertyName("_paymentDate");
                _PaymentDate.SerializeJson(writer, options);
            }

            if (PaymentAmount != null)
            {
                writer.WritePropertyName("paymentAmount");
                PaymentAmount.SerializeJson(writer, options);
            }

            if (PaymentIdentifier != null)
            {
                writer.WritePropertyName("paymentIdentifier");
                PaymentIdentifier.SerializeJson(writer, options);
            }

            if ((Detail != null) && (Detail.Count != 0))
            {
                writer.WritePropertyName("detail");
                writer.WriteStartArray();

                foreach (PaymentReconciliationDetail valDetail in Detail)
                {
                    valDetail.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (FormCode != null)
            {
                writer.WritePropertyName("formCode");
                FormCode.SerializeJson(writer, options);
            }

            if ((ProcessNote != null) && (ProcessNote.Count != 0))
            {
                writer.WritePropertyName("processNote");
                writer.WriteStartArray();

                foreach (PaymentReconciliationProcessNote valProcessNote in ProcessNote)
                {
                    valProcessNote.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
示例#8
0
        ResultMessageModel Garanti()
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

            #region Pos Configuration
            string strMode              = "PROD";
            string strVersion           = "v0.01";
            string strTerminalID        = ""; //8 Haneli TerminalID yazılmalı.
            string _strTerminalID       = "0" + strTerminalID;
            string strProvUserID        = "PROVAUT";
            string strProvisionPassword = ""; //TerminalProvUserID şifresi
            string strUserID            = ""; //
            string strMerchantID        = ""; //Üye İşyeri Numarası
            string strHostAddress       = "https://sanalposprov.garanti.com.tr/VPServlet";
            #endregion

            string order_code  = Util.CreateRandomValue(10, true, true, true, false);
            string amount_send = PaymentAmount.ToString();

            if (amount_send.Contains(","))
            {
                string[] split_amount = PaymentAmount.ToString().Split(',');

                if (split_amount[1].Length > 2)
                {
                    amount_send = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                }
                else
                {
                    amount_send = split_amount[0] + "" + split_amount[1];
                }
            }
            else if (amount_send.Contains("."))
            {
                string[] split_amount = PaymentAmount.ToString().Split('.');

                if (split_amount[1].Length > 2)
                {
                    amount_send = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                }
                else
                {
                    amount_send = split_amount[0] + "" + split_amount[1];
                }
            }


            string strIPAddress             = HttpContext.Current.Request.UserHostAddress;
            string strEmailAddress          = Email;
            string strOrderID               = order_code;
            string strNumber                = CreditCard.CardNumber;
            string strExpireDate            = CreditCard.Month + "" + CreditCard.Year;
            string strCVV2                  = CreditCard.Cvc;
            string strAmount                = amount_send;
            string strType                  = "sales";
            string strCurrencyCode          = "949";
            string strCardholderPresentCode = "0";
            string strMotoInd               = "N";
            string strInstallmentCount      = String.Empty;
            if (Instalment > 1)
            {
                strInstallmentCount = Instalment.ToString();
            }


            string SecurityData = Util.GetSHA1(strProvisionPassword + _strTerminalID).ToUpper();
            string HashData     = Util.GetSHA1(strOrderID + strTerminalID + strNumber + strAmount + SecurityData).ToUpper();

            string strXML = null;
            strXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<GVPSRequest>" + "<Mode>" + strMode + "</Mode>" + "<Version>" + strVersion + "</Version>" + "<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>" + strInstallmentCount + "</InstallmentCnt><Amount>" + strAmount + "</Amount><CurrencyCode>" + strCurrencyCode + "</CurrencyCode><CardholderPresentCode>" + strCardholderPresentCode + "</CardholderPresentCode><MotoInd>" + strMotoInd + "</MotoInd>" + "</Transaction>" + "</GVPSRequest>";

            try
            {
                string     data        = "data=" + strXML;
                WebRequest _WebRequest = WebRequest.Create(strHostAddress);
                _WebRequest.Method = "POST";
                byte[] byteArray = Encoding.UTF8.GetBytes(data);
                _WebRequest.ContentType   = "application/x-www-form-urlencoded";
                _WebRequest.ContentLength = byteArray.Length;
                Stream dataStream = _WebRequest.GetRequestStream();
                dataStream.Write(byteArray, 0, byteArray.Length);
                dataStream.Close();
                WebResponse _WebResponse = _WebRequest.GetResponse();
                dataStream = _WebResponse.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                string       XML  = responseFromServer;
                XmlDocument  xDoc = new XmlDocument();
                xDoc.LoadXml(XML);
                XmlElement xElement1 = xDoc.SelectSingleNode("//GVPSResponse/Transaction/Response/ReasonCode") as XmlElement;
                XmlElement xElement3 = xDoc.SelectSingleNode("//GVPSResponse/Transaction/Response/ErrorMsg") as XmlElement;

                if (xElement1.InnerText == "00")
                {
                    return(new ResultMessageModel {
                        Status = true
                    });
                }
                else
                {
                    return(new ResultMessageModel {
                        Status = false, Message = xElement3.InnerText, Code = xElement1.InnerText
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ResultMessageModel {
                    Status = false, Message = ex.Message
                });
            }
        }
示例#9
0
        ResultMessageModel YapiKredi()
        {
            try
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
                C_Posnet posnetObj = new C_Posnet();
                bool     result    = false;

                #region Pos Configuration
                posnetObj.SetMid("");
                posnetObj.SetTid("");
                posnetObj.SetURL("https://www.posnet.ykb.com/PosnetWebService/XML");
                #endregion

                string instalment = "00";

                if (Instalment > 1)
                {
                    instalment = "0" + Instalment;
                }

                string amount_send = PaymentAmount.ToString();

                if (PaymentAmount.ToString().Contains(","))
                {
                    string[] split_amount = PaymentAmount.ToString().Split(',');

                    if (split_amount[1].Length > 2)
                    {
                        amount_send = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                    }
                    else
                    {
                        amount_send = split_amount[0] + "" + split_amount[1];
                    }
                }
                else if (PaymentAmount.ToString().Contains("."))
                {
                    string[] split_amount = PaymentAmount.ToString().Split('.');

                    if (split_amount[1].Length > 2)
                    {
                        amount_send = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                    }
                    else
                    {
                        amount_send = split_amount[0] + "" + split_amount[1];
                    }
                }

                result = posnetObj.DoSaleTran(CreditCard.CardNumber, CreditCard.Year + "" + CreditCard.Month, CreditCard.Cvc, Util.CreateOrderId(), amount_send, "YT", instalment);

                if (result)
                {
                    if (posnetObj.GetApprovedCode() == "1" || posnetObj.GetApprovedCode() == "2")
                    {
                        return(new ResultMessageModel {
                            Status = true
                        });
                    }
                    else
                    {
                        return(new ResultMessageModel {
                            Status = false, Message = posnetObj.GetResponseText(), Code = posnetObj.GetResponseCode()
                        });
                    }
                }
                else
                {
                    return(new ResultMessageModel {
                        Status = false, Message = posnetObj.GetResponseText(), Code = posnetObj.GetResponseCode()
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ResultMessageModel {
                    Status = false, Message = ex.Message
                });
            }
        }
示例#10
0
        ResultMessageModel Vakifbank()
        {
            try
            {
                #region Pos Configuration
                string strUserName     = "";
                string strUserPassword = "";
                string strUserClientId = "";
                string strPosNumber    = "";
                string strSecurityCode = "";
                #endregion

                string strInstalment = "00";
                string strMonth      = string.Format("{0:00}", CreditCard.Year);
                string strYear       = CreditCard.Year;
                string strAmount     = PaymentAmount.ToString();
                string strIPAddress  = HttpContext.Current.Request.UserHostAddress;
                string strOrderID    = Util.CreateRandomValue(10, true, true, true, false);

                byte[] b = new byte[5000];
                string result;
                System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("ISO-8859-9");

                if (Instalment == 1)
                {
                    strInstalment = "00";
                }
                else
                {
                    strInstalment = String.Format("{0:00}", Instalment);
                }

                if (CreditCard.Year.Length == 4)
                {
                    strYear = strYear.Substring(2, 2);
                }
                else
                {
                    strYear = CreditCard.Year.ToString();
                }

                strAmount = strAmount.Replace(".", "");
                strAmount = strAmount.Replace(",", "");
                strAmount = String.Format("{0:0000000000.00}", Convert.ToInt32(strAmount)).Replace(",", "");

                string provizyonMesaji = "kullanici=" + strUserName + "&sifre=" + strUserPassword + "&islem=PRO&uyeno=" + strUserClientId + "&posno=" + strPosNumber + "&kkno=" + CreditCard.CardNumber + "&gectar=" + strYear
                                         + strMonth + "&cvc=" + string.Format("{0:000}", CreditCard.Cvc) + "&tutar=" + strAmount + "&provno=000000&taksits=" + strInstalment + "&islemyeri=I&uyeref=" + strOrderID + "&vbref=0&khip=" + strIPAddress + "&xcip=" + strSecurityCode;

                b.Initialize();
                b = Encoding.ASCII.GetBytes(provizyonMesaji);

                WebRequest h1 = (WebRequest)HttpWebRequest.Create("https://subesiz.vakifbank.com.tr/vpos724v3/?" + provizyonMesaji);
                h1.Method = "GET";

                WebResponse wr = h1.GetResponse();
                Stream      s2 = wr.GetResponseStream();

                byte[] buffer = new byte[10000];
                int    len = 0, r = 1;
                while (r > 0)
                {
                    r    = s2.Read(buffer, len, 10000 - len);
                    len += r;
                }
                s2.Close();
                result = encoding.GetString(buffer, 0, len).Replace("\r", "").Replace("\n", "");

                String      successCode, refCode;
                XmlNode     node         = null;
                XmlDocument _msgTemplate = new XmlDocument();
                _msgTemplate.LoadXml(result);
                node        = _msgTemplate.SelectSingleNode("//Cevap/Msg/Kod");
                successCode = node.InnerText.ToString();

                if (successCode == "00")
                {
                    node    = _msgTemplate.SelectSingleNode("//Cevap/Msg/ProvNo");
                    refCode = node.InnerText.ToString();
                    return(new ResultMessageModel {
                        Status = true, Code = refCode, Message = ""
                    });
                }
                else
                {
                    return(new ResultMessageModel {
                        Status = false, Code = successCode, Message = ""
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ResultMessageModel {
                    Status = false, Message = ex.Message
                });
            }
        }
示例#11
0
        ResultMessageModel Garanti3D()
        {
            try
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

                #region Pos Configuration
                string strTerminalID        = "";
                string _strTerminalID       = "0" + strTerminalID;
                string strStoreKey          = "";
                string strMerchantID        = "";
                string strProvisionPassword = "";
                string strSuccessURL        = "";
                string strErrorURL          = "";
                #endregion

                string strAmount = PaymentAmount.ToString();

                if (PaymentAmount.ToString().Contains(","))
                {
                    string[] split_amount = PaymentAmount.ToString().Split(',');

                    if (split_amount[1].Length > 2)
                    {
                        strAmount = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                    }
                    else
                    {
                        strAmount = split_amount[0] + "" + split_amount[1];
                    }
                }
                else if (PaymentAmount.ToString().Contains("."))
                {
                    string[] split_amount = PaymentAmount.ToString().Split('.');

                    if (split_amount[1].Length > 2)
                    {
                        strAmount = split_amount[0] + "" + split_amount[1].Substring(0, 2);
                    }
                    else
                    {
                        strAmount = split_amount[0] + "" + split_amount[1];
                    }
                }

                string strType             = "sales";
                string strInstallmentCount = "";
                string strOrderID          = Util.CreateRandomValue(10, true, true, true, false);

                string SecurityData = Util.GetSHA1(strProvisionPassword + _strTerminalID).ToUpper();
                string HashData     = Util.GetSHA1(strTerminalID + strOrderID + strAmount + strSuccessURL + strErrorURL + strType + strInstallmentCount + strStoreKey + SecurityData).ToUpper();

                NameValueCollection order_payment = new NameValueCollection();
                order_payment.Add("cardnumber", CreditCard.CardNumber);
                order_payment.Add("cardexpiredatemonth", CreditCard.Month);
                order_payment.Add("cardexpiredateyear", CreditCard.Year);
                order_payment.Add("cardcvv2", CreditCard.Cvc);
                order_payment.Add("mode", "PROD");
                order_payment.Add("secure3dsecuritylevel", "3D");
                order_payment.Add("apiversion", "v0.01");
                order_payment.Add("terminalprovuserid", "PROVAUT");
                order_payment.Add("terminaluserid", strTerminalID);
                order_payment.Add("terminalmerchantid", strMerchantID);
                order_payment.Add("txntype", strType);
                order_payment.Add("txnamount", strAmount);
                order_payment.Add("txncurrencycode", "949");
                order_payment.Add("txninstallmentcount", strInstallmentCount);
                order_payment.Add("orderid", strOrderID);
                order_payment.Add("terminalid", strTerminalID);
                order_payment.Add("successurl", strSuccessURL);
                order_payment.Add("errorurl", strErrorURL);
                order_payment.Add("customeremailaddress", Email);
                order_payment.Add("customeripaddress", HttpContext.Current.Request.UserHostAddress);
                order_payment.Add("secure3dhash", HashData);

                Util.RedirectAndPOST((Page)HttpContext.Current.Handler, "https://sanalposprov.garanti.com.tr/servlet/gt3dengine", order_payment);

                return(new ResultMessageModel {
                    Status = false
                });
            }
            catch (Exception ex)
            {
                return(new ResultMessageModel {
                    Status = false, Message = ex.Message
                });
            }
        }