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