Я пытаюсь интегрироваться с платежным шлюзом (PagSeguro), согласно документации, я должен использовать приложение Accept Header / vnd.pagseguro.com.br.v3 + json; charset = ISO-8859-1 ".
Попытка с кодом не работает:
HttpClient.DefaultRequestHeaders.Clear();
HttpClient.DefaultRequestHeaders.Add("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1");
var content = new StringContent(json, Encoding.Default, "application/json");
var response = await HttpClient.PostAsync(enderecoPreApprovals, content);
var responsestr = await response.Content.ReadAsStringAsync();
Я также пробовал использовать тот же код из документации:
var client = new RestClient(url) {Timeout = -1};
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1");
request.AddParameter("application/json", content, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
и с помощью flurl:
var response = await addresPreApprovals
.WithHeader("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1")
.WithHeader("Content-Type", "application/json")
.PostJsonAsync(adesaoDto);
Все ответы Accept header field is mandatory.
. Это похоже на то, что заголовок Accept не распознается.
Проблема не в API, почему я попытался использовать Postman и Insomnia, и он отлично работает.