Esempio n. 1
0
        public IList <KeyValuePair <string, string> > GetPaymentOptions(ProcessPaymentRequest processPaymentRequest)
        {
            var result = new List <KeyValuePair <string, string> >();

            //remove
            //result.Add(new KeyValuePair<string,string>("1", "1. seçenek"));
            //result.Add(new KeyValuePair<string, string>("2", "2. seçenek"));
            //result.Add(new KeyValuePair<string, string>("3", "3. seçenek"));
            //result.Add(new KeyValuePair<string, string>("4", "4. seçenek"));
            //return result;

            C_Posnet posnet      = new C_Posnet();
            var      hostAddress = _YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestServiceUrl : _YapiKrediPaymentSettings.ServiceUrl;

            posnet.SetURL(hostAddress);
            posnet.SetMid(_YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestMerchantId : _YapiKrediPaymentSettings.MerchantId);
            posnet.SetTid(_YapiKrediPaymentSettings.UseTestServer ? _YapiKrediPaymentSettings.TestTerminalId : _YapiKrediPaymentSettings.TerminalId);

            posnet.DoKOIInquiry(processPaymentRequest.CreditCardNumber);
            if (posnet.GetApprovedCode() == "1")
            {
                string code = "";
                for (int i = 1; i <= posnet.GetCampMessageCount(); i++)
                {
                    code = posnet.GetCampCode(i);
                    if (string.IsNullOrWhiteSpace(code))
                    {
                        continue;
                    }
                    result.Add(new KeyValuePair <string, string>(code, posnet.GetCampMessage(i)));
                }
            }

            if (result.Count > 0)
            {
                result.Insert(0, new KeyValuePair <string, string>("", _localizationService.GetResource("Payments.CC.YapiKredi.SelectOption")));
            }
            else
            {
                ILogger loger = EngineContext.Current.Resolve <ILogger>();
                loger.Error("Payments.CC.YapiKredi: errorcode:" + posnet.GetResponseCode() + "\n\r errortext:" + posnet.GetResponseText());
            }

            return(result);
        }