Witam forumowiczów, mam nadzieję, że mi pomożecie, bo ja po dwóch dniach już nie wiem co myśleć.
Otóż: chcę zintegrować PayU na stronie w Asp.Net MVC 5. Postanowiłem użyć ichniejszego REST Api. Wysyłam i odbieram dane w kontrolerze taki sposób (używam RestSharpa):
var client = new RestClient("https://secure.payu.com/api/v2_1/orders");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "0e466df7-ce0f-c2b2-8d2c-e678fe66733b");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Basic MTQ1MjI3OjEzYTk4MGQ0Zjg1MWYzZDlhMWNmYzc5MmZiMWY1ZTUw");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"notifyUrl\": \"http://localhost:45005/Payment/Index\",\r\n \"customerIp\": \"127.0.0.1\",\r\n \"merchantPosId\": \"145227\",\r\n \"description\": \"RTV market\",\r\n \"currencyCode\": \"PLN\",\r\n \"totalAmount\": \"15000\",\r\n \"extOrderId\":\"Moje zamowienie 1\",\r\n \"buyer\": {\r\n \"email\": \"jan.kowalski@example.com\",\r\n \"phone\": \"654111654\",\r\n \"firstName\": \"Jan\",\r\n \"lastName\": \"Kowalski\"\r\n },\r\n \"products\": [\r\n {\r\n \"name\": \"Bezprzewodowa myszka do laptopa\",\r\n \"unitPrice\": \"15000\",\r\n \"quantity\": \"1\"\r\n }\r\n]\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Mój problem polega na tym, że jako odpowiedź dostaję html a nie json. Gdybym otrzymał ten ostatni (nawet z komunikatem błędu) to bym rozumiał, ale html? Na dodatek ze skróconymi odnośnikami do skryptów i cssów (np. /js/con/sfdjh433.js), których nie ma ani u mnie ani u nich.
Po zrenderowaniu tego htmla dostaję formularz z podsumowaniem zamówienia i danymi kupującego. Ładnie, tylko po co? Wszystko to zrobiłem wcześniej sam i dlatego używam REST Api żeby nie korzystać z ich podstron.
Nawet dokumentacja (http://developers.payu.com/pl/restapi.html#creating_new_order_api) mówi, że:
Czy mógłby mi ktoś wyjaśnić lub przynajmniej naprowadzić na dobrą ścieżkę? Z góry dziękuję.
PS. Próbowałem tak na localhost (stąd jego adres w jsonie w zapytaniu) jak i na serwerze - obie próby zakończyły się tak samo.