Добрый день.
Пишу dll для FarCards для работы с внешней ПДС.
В описании dll к структуре List (транзакции переденные из r-keeper) есть 2 поля:
Код:
Byte Тип транзакции
0 - платеж (снятие денег со счета)
1 - скидка
2 - бонус (начисление денег на счет)
3 - потраты гостя (сколько заплатил своих денег)
Int64 сумма, в копейках,
для типа 0 (платеж):
оплата снятием денег с карты - отрицательная сумма,
отмена оплаты - положительная сумма;
для типа 1 (скидка):
скидка клиенту - отрицательная сумма,
отмена скидки - положительная сумма;
для типа 2 (бонус):
клиенту начисляется бонус - положительная сумма,
отмена бонуса - отрицательная сумма;
для типа 3 (потраты):
клиент заплатил - положительная сумма,
отмена чека - отрицательная сумма;
Возможость простого рассчета по карте работает. В dll приходит тип=0 и сумма - сколько надо снять с карты.
Все начисления и списания выполняются на внешнем сервисе.
Подскажите, возможно ли реализовать отправку в dll информацю от тратах гостя, если он не рассчитывается по карте (Я так понимаю это тип=3). Чтобы можно было отправить на сервер только потраты, чтобы там начислились бонусы на эту сумму.
И за одно, можно ли сделать двойной рассчет: часть денег по карте, часть - наличными. Наверно в dll будет переданы 2 транзакции в списке List (с типами 0 и 3).
Еще в транзакции FarCards возвращает поле:
Это уникальное значение для каждой оплаты?
Если происходит расчет по карте и наличными, это значение будет одинаково в обеих транзакциях (если их 2, для списания и для информирования о тратах)?
Если происходит откат покупки, номер чека будет передан тот же что и при выполнении покупки?
p.s. с настройками r-keeper почти не знаком