Касса самообслуживания
Касса самообслуживания
Кто нибудь делал организацию кассы самообслуживания? Фискальный чек необходимо печатать только после положительной оплаты по эквайрингу. Как понять что оплата прошла у клиента?
Re: Касса самообслуживания
Посылайте отдельную команду на эквайринг.
В ответе будет статус выполнения операции.
И только потом команда на чек (не забудьте там запретить "эквайринг от чека")
В ответе будет статус выполнения операции.
И только потом команда на чек (не забудьте там запретить "эквайринг от чека")
Re: Касса самообслуживания
Напишите пожалуйста, как все таки получить ответ статус выполнения команды.
К примеру я отправил сумму в терминал:
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 запрет;
К примеру я отправил сумму в терминал:
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: Касса самообслуживания
Все правильно, команда GetRezult
В поле IdCommand записываете Id команду - результат которой нужно получить.
Результаты хранятся не продолжительно время после команды (до часу когда много чеков)
В поле IdCommand записываете Id команду - результат которой нужно получить.
Результаты хранятся не продолжительно время после команды (до часу когда много чеков)
Re: Касса самообслуживания
Разобрался пишу, может кому пригодится на 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();
}
...
// Функция вызываемая после обработки команды - обработка возвращаемых данных
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();
}
...