Инструменты пользователя

Инструменты сайта


менеджер_оплат:подключение:сценарии:дисконтнобонусныекарты

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
менеджер_оплат:подключение:сценарии:дисконтнобонусныекарты [2013/04/22 01:09]
versus создано
менеджер_оплат:подключение:сценарии:дисконтнобонусныекарты [2013/04/22 18:24] (текущий)
versus [Учет покупки в процессинге]
Строка 7: Строка 7:
 3. Учет покупки в процессинге.\\ 3. Учет покупки в процессинге.\\
  
 +===== Получение информации о карте =====
 +Выполняется функция [[менеджер_оплат:подключение:методы:GetDiscountCardInfo|GetDiscountCardInfo]]. В случае успешного выполнения модифицируются свойства [[менеджер_оплат:подключение:свойства:Amount|Amount]] и [[менеджер_оплат:подключение:свойства:Discount|Discount]], содержащие остаток на карте и процент скидки по карте соответственно.
  
 +<code>
 +Если МенеджерОплат.GetDiscountCardInfo() = 1 Тогда
 + ПроцентСкидки = МенеджерОплат.Discount / 100;
 + СуммаБонусовНаКарте = МенеджерОплат.Amount / 100;
 + Если ПроцентСкидки <> 0 Тогда
 + ПрименитьСкидку(ПроцентСкидки);
 + КонецЕсли;
 +КонецЕсли;
 +</code>
 +
 +===== Учёт покупки в процессинге =====
 +Перед закрытием кассового чека требуется сообщить процессигру о том, что чек закрывается с использованием карты. Рекомендуется выполнять эту операция непосредственно перед закрытием чека в ККМ. При успешном закрытии чека в ККМ, при необходимости, производится операция подтверждения. При не успешном закрытии чека в ККМ производится отмена операции.
 +
 +**Учёт покупки:**
 +<code>
 +МенеджерОплат.PayType = МенеджерОплат.GetPayTypeIndex(Идентификатор);
 +МенеджерОплат.CardNumber = Трэк2;
 +МенеджерОплат.CardInputType = 0;
 +МенеджерОплат.Amount = ИтогЧека * 100;
 +МенеджерОплат.CashNumber = НомерКассы;
 +МенеджерОплат.CheckNumber = НомерЧека;
 +МенеджерОплат.DiscountAmount = СуммаСкидки * 100;
 +
 +Результат = МенеджерОплат.CorrectDiscountCard();
 +</code>
 +Если результат "0", продолжать дальнейшее закрытие чека не рекомендуется. Если результат "1", запоминаются свойства [[менеджер_оплат:подключение:свойства:AuthCode|AuthCode]] и [[менеджер_оплат:подключение:свойства:RRN|RRN]]. Их значения могут потребоваться вдальнейшем.
 +
 +**Подтверждение:**
 +<code>
 +МенеджерОплат.CardNumber = Трэк2;
 +МенеджерОплат.CardInputType = 0;
 +МенеджерОплат.CashNumber = НомерКасы;
 +МенеджерОплат.CheckNumber = НомерЧека;
 +МенеджерОплат.AuthCode = AuthCode;
 +МенеджерОплат.RRN = RRN;
 +МенеджерОплат.Amount = ИтогЧека * 100;
 +МенеджерОплат.DiscountAmount = СуммаСкидки * 100;
 +
 +Результат = МенеджерОплат.Commit();
 +</code>
 +Выполнение сценария продолжается независимо от результата. Но в случае результата равного "0", рекомендуется сообщить кассиру об ошибке.
 +
 +**Отмена опрерации:**
 +
 +Если операция "Учёт покупки" выполнилась и не трабует подтверждения, а чек в ККМ не закрылся, необходимо отменить операцию учёта покупки. В зависимости от возможностей процессинга выполняется либо метод [[менеджер_оплат:подключение:методы:CancelLastTransaction|CancelLastTransaction]], либо выполняется операция "Учёт покупки", но с отрицательной суммой.
менеджер_оплат/подключение/сценарии/дисконтнобонусныекарты.1366578548.txt.gz · Последнее изменение: 2013/04/22 01:09 — versus