public interface LoyaltyPlugin
Modifier and Type | Method and Description |
---|---|
default DiscountCancellationResult |
cancelDiscount(Receipt receipt,
LoyaltyResult results)
Обрабатывает событие "отмена расчета скидок".
Событие наступает, например, в случае, если из режима оплат чека переходят обратно в режим добавления товаров (до того, как хотя бы одна оплата будет добавлена) или при аннулировании чека. |
LoyaltyResult |
doDiscount(Receipt receipt)
Подсчитает скидки и другие "преференции" лояльности для указанного чека.
|
default PreFiscalizationFeedback |
eventBeforeReceiptFiscalized(Receipt receipt,
LoyaltyResult loyResults)
Событие предфискализации.
|
default LoyProviderFeedback |
eventReceiptFiscalized(Receipt receipt,
LoyaltyResult loyResults)
Deprecated.
данный метод больше не вызывается кассой с версии 10.2.71.0, версии Set API 0.0.46, вместо этого метода кассой вызывается
метод
onReceiptFiscalized(Receipt, LoyaltyResult) по завершению фискализации чека. Однако, из соображений обратной совместимости,
реализация по умолчанию метода onReceiptFiscalized(Receipt, LoyaltyResult) вызывает данный метод. |
default PostDiscountResult |
onDiscountCalculationFinished(Receipt receipt)
Данный метод вызывается кассой после завершения расчета скидок.
Некоторым системам лояльности важно допускать оплачивание бонусами не более величины Х от чека. |
default PreDiscountResult |
onDiscountCalculationStarted(Receipt originalReceipt)
Данный метод вызывается кассой перед началом расчета скидок.
|
default FiscalizationFeedback |
onReceiptFiscalized(Receipt receipt,
LoyaltyResult loyaltyResult)
Данный метод вызывается кассой при завершении фискализации документа.
|
default java.util.Collection<LoyProviderFeedback> |
onSendFeedback(java.util.Collection<LoyProviderFeedback> feedback)
Вызывается кассой для обработки плагином ранее созданных им же фидбеков.
|
default LoyProviderFeedback |
onSendFeedback(LoyProviderFeedback feedback)
Deprecated.
с версии API 0.0.46 данный метод больше не вызывается кассой напрямую и следует использовать метод
onSendFeedback(Collection) . |
LoyaltyResult doDiscount(Receipt receipt)
receipt
- чек, с уже данными скидками/преференциями другими "поставщиками лояльности"null
, если данный "поставщик лояльности" не активен (отключен), либо аргументы невалидны; иначе - вернет результат применения
программ лояльности от данного поставщика "услуг лояльности" к данному чекуdefault DiscountCancellationResult cancelDiscount(Receipt receipt, LoyaltyResult results)
receipt
- чек, отменить расчет скидок в котором необходимо.results
- результаты расчета скидок по данному чекуDiscountCancellationResult
, содержащую результаты отмены расчета скидок в плагине.@Deprecated default LoyProviderFeedback eventReceiptFiscalized(Receipt receipt, LoyaltyResult loyResults)
onReceiptFiscalized(Receipt, LoyaltyResult)
по завершению фискализации чека. Однако, из соображений обратной совместимости,
реализация по умолчанию метода onReceiptFiscalized(Receipt, LoyaltyResult)
вызывает данный метод.Предполагается, что получив это оповещение, поставщик лояльности подготовит данные обратной связи для своего процессингового центра (ПЦ) - чтоб оповестить его (ПЦ) о предоставленных преференциях в чеке.
receipt
- чек, что был фискализированloyResults
- преференции, что данный поставщик услуг лояльности предоставил в этом чекеnull
, если никакого фидбэка для процессинга не требуетсяdefault FiscalizationFeedback onReceiptFiscalized(Receipt receipt, LoyaltyResult loyaltyResult)
receipt
- фискализованный чекloyaltyResult
- результаты расчета скидок по данному чеку.Receipt.getQrCode()
eventReceiptFiscalized(Receipt, LoyaltyResult)
из соображений поддержания обратной совместимости.default PreFiscalizationFeedback eventBeforeReceiptFiscalized(Receipt receipt, LoyaltyResult loyResults)
receipt
- - чек, который будет фискализированloyResults
- преференции, что данный поставщик услуг лояльности предоставил в этом чекеnull
, если никакого фидбэка для процессинга не требуется@Deprecated default LoyProviderFeedback onSendFeedback(LoyProviderFeedback feedback)
onSendFeedback(Collection)
.NOTE: данный метод будет вызываться периодически по мере обнаружения фидбэков, что данный поставщик "услуг лояльности" хотел бы передать в свой ПЦ.
feedback
- представление (XML, JSON-строка, base64, и проч.) фидбэка, что надо отправить.
NOTE: данный фидбэк был сформирован самим данным плагином лояльности: как результат метода eventReceiptFiscalized(Receipt, LoyaltyResult)
или onSendFeedback(LoyProviderFeedback)
null
, если более не надо пытаться отправить данный фидбэк в ПЦ (Процессинговый Центр) - по любой причине (либо фидбэк успешно доставлен,
либо фидбэк признан "битым" и потому не стоит более пытаться его отправить, т.к. ПЦ его все равно не сможет "понять");
полезной нагрузкой
, но с увеличенным количеством
LoyProviderFeedback.getAttemptsCount()
неудачных попыток отправки})
default java.util.Collection<LoyProviderFeedback> onSendFeedback(java.util.Collection<LoyProviderFeedback> feedback)
eventBeforeReceiptFiscalized(Receipt, LoyaltyResult)
и eventReceiptFiscalized(Receipt, LoyaltyResult)
. Размер коллекции передаваемой
за вызов метода ограничен кассой разумно большим числом. Реализация данного метода по умолчанию просто вызывает onSendFeedback(LoyProviderFeedback)
в цикле.feedback
- коллекция фидбеков, образованных плагином. Отсортированы по дате в порядке от свежайшего.LoyProviderFeedback
, а переиспользовать старые, потому
что они содержат внутренний идентификатор, по которым касса узнаёт фидбеки.default PostDiscountResult onDiscountCalculationFinished(Receipt receipt)
receipt
- чек с результирующим расчетом скидокdefault PreDiscountResult onDiscountCalculationStarted(Receipt originalReceipt)
originalReceipt
- представление оригинального чека