Beispiel #1
0
        public static OrderedDictionary GetRedirectDictionary(PaymentInfo paymentInfo, string apiSecretKey, string shopId)
        {
            var result = new OrderedDictionary();

            result.Add("URLMS", paymentInfo.UrlMs);
            result.Add("URLDONE", paymentInfo.UrlDone);
            result.Add("ORDERID", paymentInfo.OrderId);
            result.Add("SHOPID", shopId);
            result.Add("AMOUNT", paymentInfo.Amount);
            result.Add("CURRENCY", paymentInfo.Currency);
            result.Add("EXPONENT", paymentInfo.Exponent);
            result.Add("ACCOUNTINGMODE", paymentInfo.AccountingMode);
            result.Add("AUTHORMODE", paymentInfo.AuthorMode);
            result.Add("OPTIONS", paymentInfo.GetOptions());
            if (paymentInfo.GetOptions() != null && paymentInfo.GetOptions().Contains("B"))
            {
                result.Add("NAME", paymentInfo.Name);
                result.Add("SURNAME", paymentInfo.Surname);
            }
            result.Add("TAXID", paymentInfo.TaxId);
            result.Add("LOCKCARD", paymentInfo.Lockcard);
            if (paymentInfo.GetOptions() != null && paymentInfo.GetOptions().Contains("F"))
            {
                result.Add("COMMIS", paymentInfo.Commis);
            }
            if (paymentInfo.GetOptions() != null && (paymentInfo.GetOptions().Contains("O") || paymentInfo.GetOptions().Contains("V")))
            {
                result.Add("ORDDESCR", paymentInfo.OrdDescr);
            }
            result.Add("VSID", paymentInfo.Vsid);
            result.Add("OPDESCR", paymentInfo.OpDescr);
            if (paymentInfo.GetOptions() != null && paymentInfo.GetOptions().Contains("D"))
            {
                result.Add("REMAININGDURATION", paymentInfo.RemainingDuration);
            }
            result.Add("USERID", paymentInfo.UserId);
            result.Add("BP_POSTEPAY", paymentInfo.BpPostepay);
            result.Add("BP_CARDS", paymentInfo.BpCards);
            if (paymentInfo.Network != null && paymentInfo.Network.Equals("91"))
            {
                result.Add("PHONENUMBER", paymentInfo.PhoneNumber);
                result.Add("CAUSATION", paymentInfo.Causation);
                result.Add("USER", paymentInfo.User);
            }
            result.Add("PRODUCTREF", paymentInfo.ProductRef);
            result.Add("ANTIFRAUD", paymentInfo.AntiFraud);
            if (paymentInfo.Data3DS != null)
            {
                result.Add("3DSDATA", AESEncoder.Encode3DSData(apiSecretKey, paymentInfo.Data3DS.ToJSONString()));
            }
            result.Add("TRECURR", paymentInfo.TRecurr);
            result.Add("CRECURR", paymentInfo.CRecurr);
            result.Add("TOKEN", paymentInfo.Token);
            result.Add("EXPDATE", paymentInfo.ExpDate);
            result.Add("NETWORK", paymentInfo.Network);
            result.Add("IBAN", paymentInfo.IBAN);
            return(result);
        }