Страница 1 из 1

Касса самообслуживания

Добавлено: 17 июн 2023, 18:15
festoshar
Кто нибудь делал организацию кассы самообслуживания? Фискальный чек необходимо печатать только после положительной оплаты по эквайрингу. Как понять что оплата прошла у клиента?

Re: Касса самообслуживания

Добавлено: 19 июн 2023, 14:08
Audim
Посылайте отдельную команду на эквайринг.
В ответе будет статус выполнения операции.

И только потом команда на чек (не забудьте там запретить "эквайринг от чека")

Re: Касса самообслуживания

Добавлено: 06 сен 2023, 22:46
festoshar
Напишите пожалуйста, как все таки получить ответ статус выполнения команды.

К примеру я отправил сумму в терминал:

function PayByPaymentCard(NumDevice) {
var Data = {
Command: "PayByPaymentCard",
InnKkm: "",
NumDevice: NumDevice,
Amount: 100,
IdCommand: guid() //Нужно ли указывать Id команды или можно так оставить?
};
ExecuteCommand(Data);
}

PayByPaymentCard(2);

Я так понимаю, что нужно сразу кидать запрос:

function GetRezult(IdCommand) {
var Data = {
Command: "GetRezult",
IdCommand: IdCommand,
};
ExecuteCommand(Data, GetRezult, null, null, false);
};

GetRezult(); //Нужно ли указывать Id команды или можно так оставить?

Клиент оплатил, какой синтаксис , чтобы понять статус оплаты.
В моем понимании сделать if (status=='OK') , то выполняем действия дальше, else запрет;

Re: Касса самообслуживания

Добавлено: 07 сен 2023, 19:07
Audim
Все правильно, команда GetRezult
В поле IdCommand записываете Id команду - результат которой нужно получить.
Результаты хранятся не продолжительно время после команды (до часу когда много чеков)

Re: Касса самообслуживания

Добавлено: 03 окт 2023, 15:59
festoshar
Разобрался пишу, может кому пригодится на php:

// Функция вызываемая после обработки команды - обработка возвращаемых данных
function ExecuteSuccess(Rezult, textStatus, jqXHR) {
...
//Успешная оплата на терминале
if (Rezult.Status == 0 && Rezult.Command == "PayByPaymentCard") {
{
function getOutputok() {
$.ajax({
method: "POST",
url:"ваш файл.php",
data: {sum_KKT_ekv: Rezult.Amount},
complete: function (response) {$("#result_form_client").html(response.responseText);},
error: function () {$("#result_form_client").html("Ошибка!");}
}); return false;}
}
getOutputok();
}

//Отмена оплаты на терминале
if (Rezult.Error != undefined && Rezult.Error != "" && Rezult.Command == "PayByPaymentCard") {
{
function getOutputEr() {
$.ajax({
url:"ваш файл.php",
complete: function (response) {$("#result_form_client").html(response.responseText);},
error: function () {$("#result_form_client").html("Ошибка!");}
}); return false;}
}
getOutputEr();
}

...