В онлайн-кассе CloudKassir есть возможность работы через API. В документации (
https://developers.cloudkassir.ru/#testovyy-metod) описан тестовый запрос. Выполняю его в Postman'е - всё работает. А на JavaScript не получается: свойство status = 0, и не понятно, как получить ответ в формате JSON. Свойство responseText не работает. Техподдержка CloudKassir в JavaScript'е не разбирается.
Код такой:
var xmlhttp = CreateXmlHttp();
PostRequest();
function PostRequest()
{
xmlhttp.open("POST", "https://api.cloudpayments.ru/test", true, "<Public ID>", "<Пароль>");
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xmlhttp.responseType = "json";
xmlhttp.addEventListener(
"readystatechange",
() =>
{
if (xmlhttp.readyState != 4) return;
alert(
'readyState = ' + xmlhttp.readyState +
'; status = ' + xmlhttp.status +
'; statusText = [' + xmlhttp.statusText + ']'
);
}
);
xmlhttp.send("");
}
function CreateXmlHttp()
// Данная функция создаёт кроссбраузерный объект XMLHTTP.
{
var xmlhttp;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
Кто-нибудь в курсе, как получить ответ от сервера в формате JSON?