コード例 #1
0
        public override PaymentMessage PeymentCore(BankRequest bankRequest, KrediKart kart)
        {
            PaymentMessage mesaj = new PaymentMessage();
            try
            {
                cc5payment mycc5pay = new cc5payment();
                mycc5pay.host = bankaApi.HostName;
                mycc5pay.name = bankaApi.ApiName;
                mycc5pay.password = bankaApi.ApiPassword;
                mycc5pay.clientid = bankaApi.ClientId;
                mycc5pay.orderresult = 0;

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

                mycc5pay.bname = kart.AdSoyad;
                mycc5pay.sname = kart.AdSoyad;

                mycc5pay.cardnumber = kart.No;
                mycc5pay.cv2 = kart.CV2;
                mycc5pay.expmonth = kart.Ay;
                mycc5pay.expyear = kart.Yil.Substring(2);

                mycc5pay.subtotal = bankRequest.TaksitToplam.ToString("N");
                mycc5pay.oid = kart.SiparisNo;
                mycc5pay.currency = "949";
                mycc5pay.chargetype = "Auth";

                string result = mycc5pay.processorder();

                if (result == "1") // banka ile bağlantı sağlandı
                {
                    if (mycc5pay.appr == "Approved")
                    {
                        mesaj.Success = true;
                        mesaj.OnayKodu = mycc5pay.code;
                        mesaj.ReferansNo = mycc5pay.refno;
                    }
                    else
                    {
                        mesaj.RedMesaj = mycc5pay.errmsg;
                        mesaj.RedMesajKodu = mycc5pay.err;
                    }
                }
                else
                {
                    mesaj.RedMesaj = "Banka ile Bağlantı Kurulamadı, Lütfen tekrar deneyiniz.";
                    mesaj.RedMesajKodu = "anadoluBaglanti";
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return mesaj;
        }
コード例 #2
0
        protected ProcessPaymentResult AuthorizeOrSale(ProcessPaymentRequest processPaymentRequest)
        {
            var        customer    = _customerService.GetCustomerById(processPaymentRequest.CustomerId);
            cc5payment ccpayment   = new cc5payment();
            var        hostAddress = _IsBankPaymentSettings.UseTestServer ? _IsBankPaymentSettings.TestServiceUrl : _IsBankPaymentSettings.ServiceUrl;

            ccpayment.host        = hostAddress;                                                                                                  // "https://netpos.finansbank.com.tr/servlet/cc5ApiServer";//"https://testsanalpos.est.com.tr/servlet/cc5ApiServer";//
            ccpayment.name        = _IsBankPaymentSettings.UseTestServer?_IsBankPaymentSettings.TestName :_IsBankPaymentSettings.Name;            // "sanalpos"; //"KUVEYTAPI";//
            ccpayment.password    = _IsBankPaymentSettings.UseTestServer?_IsBankPaymentSettings.TestPassword:_IsBankPaymentSettings.Password;     // "V7Z4M3SgmiJ";//"KUVEYT123";//
            ccpayment.clientid    = _IsBankPaymentSettings.UseTestServer ? _IsBankPaymentSettings.TestClientId : _IsBankPaymentSettings.ClientId; //"110000810";//"110000000";//
            ccpayment.chargetype  = "Auth";
            ccpayment.orderresult = _IsBankPaymentSettings.TestOrder ? 1 : 0;
            ccpayment.cardnumber  = processPaymentRequest.CreditCardNumber;
            ccpayment.expmonth    = GetMonth(processPaymentRequest.CreditCardExpireMonth.ToString());
            ccpayment.expyear     = (processPaymentRequest.CreditCardExpireYear % 100).ToString();
            ccpayment.cv2         = processPaymentRequest.CreditCardCvv2;
            var currency = GetCurrency(_currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId));

            ccpayment.currency = currency;
            ccpayment.subtotal = GetCulturePrice(currency, processPaymentRequest.OrderTotal);
            ccpayment.putExtra("BOLUM", "1");
            //ccpayment.Extra("IsbankBolumKodu=1");


            ccpayment.oid    = processPaymentRequest.OrderGuid.ToString();
            ccpayment.userid = processPaymentRequest.CustomerId.ToString();
            ccpayment.email  = customer.BillingAddress.Email;

            string installment = processPaymentRequest.Installment <= 1 ? "" : processPaymentRequest.Installment.ToString();

            ccpayment.taksit = installment;

            var ccpaymentResult = ccpayment.processorder();
            var result          = new ProcessPaymentResult();

            if (ccpaymentResult == "0")//can not communicate
            {
                result.Errors.Add(this.ConvertPaymentMessage("0"));
            }
            else
            {
                if (ccpayment.appr.ToLower() == "approved")//success
                {
                    result.AuthorizationTransactionId = ccpayment.transid;
                }
                else
                {
                    result.Errors.Add(this.ConvertPaymentMessage(ccpayment.code));
                    ILogger loger = EngineContext.Current.Resolve <ILogger>();
                    loger.Error("Payments.CC.IsBank: errorcode:" + ccpayment.code + "\n\r errortext:" + ccpayment.errmsg);
                }
            }
            return(result);
        }