public static viafront3.Models.ApiViewModels.ApiFiatPaymentRequest GetFiatPaymentRequest(FiatProcessorSettings fiatSettings, string token) { var jsonBody = JsonConvert.SerializeObject(new { api_key = fiatSettings.FiatServerApiKey, token = token }); var response = RestUtils.ServiceRequest(fiatSettings.FiatServerUrl, "payment_status", fiatSettings.FiatServerSecret, jsonBody); if (response.IsSuccessful) { var json = JsonConvert.DeserializeObject <Dictionary <string, string> >(response.Content); if (json.ContainsKey("status")) { var status = json["status"]; var asset = json["asset"]; var amount = json["amount"]; // return to user var model = new viafront3.Models.ApiViewModels.ApiFiatPaymentRequest { Token = token, ServiceUrl = $"{fiatSettings.FiatServerUrl}/request/{token}", Status = status, Asset = asset, Amount = decimal.Parse(amount), }; return(model); } } return(null); }
public static viafront3.Models.ApiViewModels.ApiFiatPaymentRequest CreateFiatPaymentRequest(ILogger logger, FiatProcessorSettings fiatSettings, string token, string asset, decimal amount, long expiry) { // call payment server to create request var amount_cents = Convert.ToInt32(amount * 100); var jsonBody = JsonConvert.SerializeObject(new { api_key = fiatSettings.FiatServerApiKey, token = token, asset = asset, amount = amount_cents, return_url = "", expiry = expiry }); var response = RestUtils.ServiceRequest(fiatSettings.FiatServerUrl, "payment_create", fiatSettings.FiatServerSecret, jsonBody); if (response.IsSuccessful) { var json = JsonConvert.DeserializeObject <Dictionary <string, string> >(response.Content); if (json.ContainsKey("status")) { var status = json["status"]; // return to user var model = new viafront3.Models.ApiViewModels.ApiFiatPaymentRequest { Token = token, ServiceUrl = $"{fiatSettings.FiatServerUrl}/payment/{token}", Status = status, Asset = asset, Amount = amount, }; return(model); } } else { logger.LogError($"fiat payment request ({fiatSettings.FiatServerUrl}) failed with http statuscode: {response.StatusCode}"); } return(null); }