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; } }
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); }