{
"Day": 28,
"Month": 2,
"Year": 17
}{
"Hour": 13,
"Minute": 49,
"Second": 32
}{
"Date": {
"Day": 28,
"Month": 2,
"Year": 17
},
"Time": {
"Hour": 13,
"Minute": 49,
"Second": 32
}
}Таблица 1. Типы документов
Таблица 2. Налоги
Таблица 3. Режим налогообложения
Таблица 4. Признак способа расчёта
Таблица 5: Признак агента
Таблица 6: Признак предмета расчёта
{
"Device": "auto",
"ClientId": "<идентификатор клиента>",
"Password": 1,
"RequestId": "<уникальный идентификатор запроса>",
"Lines":
[
{
"Qty": 2500,
"Price": 10000,
"PayAttribute": 4,
"TaxId": 1,
"Description": "Булочка с маком"
},
{
"Qty": 500,
"Price": 200000,
"PayAttribute": 4,
"TaxId": 2,
"Description": "Икра чёрная, баклажанная"
}
],
"NonCash": [ 125000, 0, 0 ],
"TaxMode": 1,
"PhoneOrEmail": "user@example.com",
"Place": "www.example.com",
"FullResponse": false
}{
"RequestId": "D35",
"ClientId": "",
"Path": "/fr/api/v2/Complex",
"Response":
{
"Error": 0
},
"FiscalDocNumber": 31,
"DocNumber": 5,
"Date":
{
"Date":
{
"Day": 15,
"Month": 7,
"Year": 23
},
"Time":
{
"Hour": 14,
"Minute": 38,
"Second": 27
}
},
"GrandTotal": 125000,
"FiscalSign": 1879546968,
"DocumentType": 0,
"QR": "t=20170715T1438&s=1250.00&fn=9999078900006825&i=31&fp=1879546968&n=1",
"FNSerialNumber": "9999078900006825",
"DeviceSerialNumber": "00000000381001017439",
"DeviceRegistrationNumber": "3949620073015105"
}<?php
$url = "https://kkt.interkassa.online/fr/api/v2/Complex";
// Базовая структура запроса
$datas = array(
// Всегда должно быть "auto"
"Device" => "auto",
"Group" => "d4b15d86-5feb-11e7-82ef-00155d00c805", // указан тестовый Token
'RequestId' => uniqid(),
"Lines" => array(),
// Всегда должен быть массив из 3-х элементов.
// 1-й содежрит сумму оплаты элетронными (безналичными)
// оставшиеся 2 должны быть заполнены нулями.
// Сумма всех элементов массива должна быть
// в точности равна итогу чека
"NonCash" => array(30000, 0, 0),
// Указываем код СНО,
"TaxMode" => 1,
"PhoneOrEmail" => "info@interkassa.online",
);
// Товар 1: 1 * 100.00 = 100.00
$datas['Lines'][]=array(
// Количество передается в тысячных долях
// например:
// 2.5 кг -> 2.5 * 1000 = 2500
// 42 шт. -> 42 * 1000 = 42000
// 500 табл. -> 500 * 1000 = 500000
// 0.5 упак. -> 0.5 * 1000 = 500 // 1 шт. -> 1 * 1000 = 1000
"Qty" => 1000,
// Цена в копейках
"Price" => 10000,
"PayAttribute" => 4,
"TaxId" => 1,
"Description"=> 'Тестовый товар 1',
);
// Товар 2: 2 * 100.00 = 200.00
$datas['Lines'][]=array(
"Qty" => 2000,
"Price" => 10000,
"PayAttribute" => 4,
"TaxId" => 1,
"Description"=> 'Тестовый товар 2',
);
$mydatas = json_encode($datas);
var_Export($mydatas);
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $mydatas);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL,$url);
$json_response = curl_exec($curl);
print "json_response: $json_response\n";
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE); var_dump($status);
$lastError = curl_error($curl);
print "lastError :$lastError\n";
print "Status :$status\n";
curl_close($curl);
$response = json_decode($json_response);
var_dump($response);
?>Таблица 5: Ошибки «облачного» сервиса
Таблица 6: Коды ошибок устройства