Esempio n. 1
0
        public static NetexRequestPaymentResponseType Create(string userToken, EmailStack emailStack, ProxyStack proxyStack, NetexSettings settings, double amount, string phone, string btcAddr, ref List <string> usedProxyList)
        {
            ProxySettingsItem usedProxy = proxyStack.Next(ref usedProxyList);
            Request           request   = new Request()
            {
                BASE_URL = "https://api.netex24.net/", proxy = usedProxy, settings = settings
            };
            NetexClient netex = new NetexClient()
            {
                request = request, settings = settings
            };
            NetexRateItemType rate = netex
                                     .rates
                                     .Where(
                el => el.sourceCurrencyId == settings.sourceCurrencyId && el.targetCurrencyId == netex.targetCurrencyId
                )
                                     .First <NetexRateItemType>();

            double btcAmount = amount / rate.sourceAmount;

            string email             = "";
            var    directionResponse = netex.ExchangeDirectionGetBy(userToken);

            netex.AddressValidator(btcAddr);

            NetexCreateResponseType         createResponse = netex.Create(userToken, emailStack, phone, amount, btcAddr, btcAmount, ref email);
            NetexRequestPaymentResponseType requestPayment = netex.GetRequestPayment(createResponse.transactionId);

            requestPayment.btc_amount = btcAmount;
            requestPayment.ip         = usedProxy == null ? "no proxy" : usedProxy.ip;
            requestPayment.email      = email;

            return(requestPayment);
        }
Esempio n. 2
0
        public void GetRateTest()
        {
            var rates = netex.rates;

            Assert.IsTrue(rates.Length > 0, "Курсы не парсятся");

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            var conditionList = rates
                                .Where(
                el => el.sourceCurrencyId == settings.sourceCurrencyId
                );

            Assert.IsTrue(conditionList.Count <NetexRateItemType>() > 0, "Source валюты " + settings.sourceCurrencyId + " не существует ");

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            conditionList = rates
                            .Where(
                el => el.targetCurrencyId == netex.targetCurrencyId
                );
            Assert.IsTrue(conditionList.Count <NetexRateItemType>() > 0, "Target валюты " + netex.targetCurrencyId + " не существует ");

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            conditionList = rates
                            .Where(
                el => el.sourceCurrencyId == settings.sourceCurrencyId && el.targetCurrencyId == netex.targetCurrencyId
                );

            Assert.IsTrue(conditionList.Count <NetexRateItemType>() > 0, "Не нашел курс " + settings.sourceCurrencyId + " -> " + netex.targetCurrencyId);
            NetexRateItemType rate = conditionList.First <NetexRateItemType>();

            Assert.IsTrue(rate.sourceCurrencyId == settings.sourceCurrencyId, "Не удалось получить NetexRateItemResponseType при курсе " + settings.sourceCurrencyId + " -> " + netex.targetCurrencyId);
        }
Esempio n. 3
0
        static string Rate(ProxySettingsItem proxy, NetexSettings settings)
        {
            Request request = new Request()
            {
                BASE_URL = "https://api.netex24.net/", settings = settings, proxy = proxy
            };
            NetexClient netex = new NetexClient()
            {
                request = request, settings = settings
            };
            NetexRateItemType rate = netex
                                     .rates
                                     .Where(
                el => el.sourceCurrencyId == settings.sourceCurrencyId && el.targetCurrencyId == netex.targetCurrencyId
                )
                                     .First <NetexRateItemType>();

            return(new ApiRateResponse(rate).toJson());
        }