Получения информации о формировании чека платежа

После того, как Вы выполнили запрос на формирование чека, в ответ система выдает в формате JSON следующие параметры:

{"result":"ok","code":"007","info":"Сохранено!","data":{"id":"0000000144","exterNum":"454533"}} 

где:

result - статус выполнения запроса("ок", "err");

code - код результата (Об ошибках см. тут );

info - текстовое описание (Подробнее см. тут);

и массив данных data, где:

id - уникальный номер в сервисе "Shop control Касса!";

exterNum - номер заказа которой был передан интернет-магазином;

Обработка ответа (пример на PHP):

/*-------См. пример формирования чека-------

$response = curl_exec($curl);//Получаем данные
curl_close($curl); // закрытие сеанса

---------См. пример формирования чека--------*/

$resp =json_decode($response); // Превращаем строку в объект

// Отлавливаем ошибки возникшие при превращении
switch (json_last_error()) {
  case JSON_ERROR_NONE:
    $data_error = '';
    break;
  case JSON_ERROR_DEPTH:
    $data_error = 'Достигнута максимальная глубина стека';
    break;
  case JSON_ERROR_STATE_MISMATCH:
    $data_error = 'Неверный или не корректный JSON';
    break;
  case JSON_ERROR_CTRL_CHAR:
    $data_error = 'Ошибка управляющего символа, возможно верная кодировка';
    break;
  case JSON_ERROR_SYNTAX:
    $data_error = 'Синтаксическая ошибка';
    break;
  case JSON_ERROR_UTF8:
    $data_error = 'Некорректные символы UTF-8, возможно неверная кодировка';
    break;  
  default:
    $data_error = 'Неизвестная ошибка';
    break;
}

// Если ошибки есть, то выводим их или как то обрабатываем
if($data_error !='') echo $data_error;

// Присваиваим данные переменным

$result = $resp->result; 
$code = $resp->code;
$exterNum = $resp->data->exterNum;
$id = $resp->data->id;

Проверка состояния выполнения задания (пример на PHP):

Получив $id или $exterNum можно контролировать состояние выполнения задания. Преоритет отдается $id. Если номер операции будет не указан ($id='' и $exterNum=''), проверка состояния будет выполнена по последней добавленной позиции.

$order = array(
  "token" => '862df162a3c25c339f26a97c462dd',
  "app" => '32322444',
  "id" => $id,
  "operation" => "status"
			);
			
$json = json_encode($order, JSON_UNESCAPED_UNICODE);
			
$url ='https://kassa.shop-ctrl.ru/api/1/api.php'; 

$curl = curl_init();
curl_setopt($curl,CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($json)));
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl); 

echo $response;			

Если вы контролируете состояние по идентификатору операции $exterNum интернет-магазина, то в примере выше будет:

$order = array(
  "token" => '862df162a3c25c339f26a97c462dd',
  "app" => '32322444',
  "exterNum" => $exterNum,
  "operation" => "status"
			);

Пример проверки состояния выполнения задания в виде GET-запроса:

https://kassa.shop-ctrl.ru/api/1/api.php?action=1&token=862df162a3c25c339f26a97c462dd&app=32322444&operation=status&id=00000000144