Beispiel #1
1
        public void YapiKredi(PosForm pf)
        {
            // Banka bilgileri.
            string mid = "xxx";
            string tid = "xxx";

            try
            {
                Random rnd = new Random();
                string ccno = pf.kartNumarasi.ToString(), expdate = pf.yil.ToString().Replace("20", string.Empty) + pf.ay, cvc = string.Format("{0:000}", pf.guvenlikKodu), orderid = "1234567890123456789" + rnd.Next(11111, 99999), amount = pf.tutar.ToString(), currencycode = "YT", instnumber = pf.taksit.ToString();

                C_Posnet posnetObj = new C_Posnet();
                bool result = false;
                posnetObj.SetURL("https://www.posnet.ykb.com/PosnetWebService/XML");
                posnetObj.SetMid(mid);
                posnetObj.SetTid(tid);
                result = posnetObj.DoSaleTran(ccno, expdate, cvc, orderid, amount, currencycode, instnumber, "", "");

                if (pf.taksit > 0) { posnetObj.SetKOICode(pf.taksit.ToString()); }

                if (posnetObj.GetApprovedCode() == "1")
                {
                    this.sonuc = true;
                    this.code = posnetObj.GetAuthcode();
                    this.referansNo = posnetObj.GetHostlogkey();
                }
                else
                {
                    this.sonuc = false;
                    this.hataMesaji = posnetObj.GetResponseText();
                }
            }
            catch (Exception)
            {
                this.sonuc = false;
                this.hataMesaji = this.sistemHatasi;
            }
        }
Beispiel #2
0
        public void YapiKredi(PosForm pf)
        {
            // Banka bilgileri.
            string mid = "xxx";
            string tid = "xxx";

            try
            {
                Random rnd = new Random();
                string ccno = pf.kartNumarasi.ToString(), expdate = pf.yil.ToString().Replace("20", string.Empty) + pf.ay, cvc = string.Format("{0:000}", pf.guvenlikKodu), orderid = "1234567890123456789" + rnd.Next(11111, 99999), amount = pf.tutar.ToString(), currencycode = "YT", instnumber = pf.taksit.ToString();

                C_Posnet posnetObj = new C_Posnet();
                bool     result    = false;
                posnetObj.SetURL("https://www.posnet.ykb.com/PosnetWebService/XML");
                posnetObj.SetMid(mid);
                posnetObj.SetTid(tid);
                result = posnetObj.DoSaleTran(ccno, expdate, cvc, orderid, amount, currencycode, instnumber, "", "");

                if (pf.taksit > 0)
                {
                    posnetObj.SetKOICode(pf.taksit.ToString());
                }

                if (posnetObj.GetApprovedCode() == "1")
                {
                    this.sonuc      = true;
                    this.code       = posnetObj.GetAuthcode();
                    this.referansNo = posnetObj.GetHostlogkey();
                }
                else
                {
                    this.sonuc      = false;
                    this.hataMesaji = posnetObj.GetResponseText();
                }
            }
            catch (Exception)
            {
                this.sonuc      = false;
                this.hataMesaji = this.sistemHatasi;
            }
        }
Beispiel #3
0
        protected ProcessPaymentResult AuthorizeOrSale(ProcessPaymentRequest processPaymentRequest)
        {
            var      customer = _customerService.GetCustomerById(processPaymentRequest.CustomerId);
            C_Posnet posnet   = new C_Posnet();

            var hostAddress = _YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestServiceUrl : _YapiKrediPaymentSettings.ServiceUrl;

            posnet.SetURL(hostAddress);
            //"https://netpos.YapiKredi.com.tr/servlet/cc5ApiServer";
            //"https://testsanalpos.est.com.tr/servlet/cc5ApiServer";
            // test=> http://setmpos.ykb.com/PosnetWebService/XML
            // prod=> https://www.posnet.ykb.com/PosnetWebService/XML
            posnet.SetMid(_YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestMerchantId : _YapiKrediPaymentSettings.MerchantId);
            posnet.SetTid(_YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestTerminalId : _YapiKrediPaymentSettings.TerminalId);

            string ccNo        = processPaymentRequest.CreditCardNumber;
            string expMonth    = GetMonth(processPaymentRequest.CreditCardExpireMonth.ToString());
            string expYear     = (processPaymentRequest.CreditCardExpireYear % 100).ToString();
            string expDate     = expYear + expMonth;
            string cv2         = processPaymentRequest.CreditCardCvv2;
            string orderGUID   = processPaymentRequest.OrderGuid.ToString().Replace("-", "").Substring(0, 24);
            var    currency    = GetCurrency(_currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId));
            string amount      = Math.Round(processPaymentRequest.OrderTotal, 2).ToString().Replace(".", "").Replace(",", "");
            string installment = processPaymentRequest.Installment == 1 ?"00" : processPaymentRequest.Installment.ToString().PadLeft(2, '0');

            int KOIICode = 0;

            if (int.TryParse(processPaymentRequest.CCOption, out KOIICode))
            {
                if (KOIICode > 0 && KOIICode < 7)
                {
                    posnet.SetKOICode(KOIICode.ToString());
                }
            }

            bool posnetResult = posnet.DoSaleTran(ccNo, expDate, cv2, orderGUID, amount, currency, installment);



            var result = new ProcessPaymentResult();

            if (!posnetResult)//can not communicate
            {
                result.Errors.Add(_localizationService.GetResource("Checkout.Payment.ConnectionNotEstablished"));
            }
            else
            {
                string code = posnet.GetApprovedCode();
                if (code == "1" || code == "2")//success
                {
                    result.AuthorizationTransactionId = posnet.GetHostlogkey();
                    result.PaymentCampaignNotes       = KOIICode.ToString();
                }
                else if (code == "0")
                {
                    result.Errors.Add(this.ConvertPaymentMessage(posnet.GetResponseCode().Trim()));
                    ILogger loger = EngineContext.Current.Resolve <ILogger>();
                    loger.Error("Payments.CC.YapiKredi: errorcode:" + posnet.GetResponseCode() + "\n\r errortext:" + posnet.GetResponseText());
                }
            }
            return(result);
        }