public async Task <CreateCheckoutResponse> CreateCheckout(CreateCheckoutParameter parameter) { if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } var client = _httpClientFactory.GetHttpClient(); var jObj = ToDto(parameter); var content = new StringContent(jObj.ToString(), Encoding.UTF8, "application/json"); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri(_baseUrl + "/v0.1/customers"), Content = content }; request.Headers.Add("Authorization", $"Bearer {parameter.AccessToken}"); var serializedContent = await client.SendAsync(request).ConfigureAwait(false); serializedContent.EnsureSuccessStatusCode(); var json = await serializedContent.Content.ReadAsStringAsync(); return(null); }
private static JObject ToDto(CreateCheckoutParameter parameter) { var result = new JObject(); result.Add("checkout_reference", parameter.CheckoutReference); result.Add("amount", parameter.Amount); result.Add("currency", parameter.Currency); result.Add("pay_to_email", parameter.PayToEmail); result.Add("pay_from_email", parameter.PayFromEmail); result.Add("description", parameter.Description); return(result); }