Как написать этот CURL в Restsharp? - PullRequest
0 голосов
/ 05 февраля 2020

Я изо всех сил пытаюсь преобразовать этот cURL в restsharp,

curl https://pwgateway.com/api/token \
-d "public_key=YOUR_PUBLIC_API_KEY" \
-d "card[number]=4000000000000002" \
-d "card[exp_month]=01" \
-d "card[exp_year]=2021" \
-d "card[cvv]=123"

Я пытался так:

ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
var client = new RestClient("https://api.paymentwall.com/api/brick/token");
var request = new RestRequest(Method.POST);

request.AddParameter("X-ApiKey", "privatekey",ParameterType.HttpHeader);
request.AddParameter("public_key", "publickey", ParameterType.HttpHeader);
request.AddParameter("card[number]", "4000000000000002", ParameterType.HttpHeader);
request.AddParameter("card[exp_month]", "01", ParameterType.HttpHeader);
request.AddParameter("card[exp_year]", "21", ParameterType.HttpHeader);
request.AddParameter("cardcard[cvv]", "123", ParameterType.HttpHeader);

Я получаю пустую строку, также пытался удалить ParameterType.HttpHeader из данных параметры public_key, card [number] et c, затем я получаю сообщение об ошибке пропуска параметров.

Документация находится по этой ссылке

Документация

1 Ответ

0 голосов
/ 05 февраля 2020

После нескольких тестов и игры, кажется, это работает

contentList.Add("card[cvv]=123");
            contentList.Add("card[exp_year]=2021");
            contentList.Add("card[exp_month]=01");
            contentList.Add("card[number]=4000000000000002");
            contentList.Add("public_key=mykey");
            var body = string.Join("&", contentList);

            request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody);
...