public class PaymentToRefundReplacement
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
description
Название, которое должно отображаться для транзакции в списке транзакций, доступных для возврата
|
private java.math.BigDecimal |
requiredRefundableSum
Часть суммы исходной транзакции/транзакций
usedFor которая должна быть обязательно возвращена этим плагином (или его заменами) в этом чеке возврата. |
private boolean |
restrictRefundByPlugin
Запрещает возврат транзакции через плагин.
|
private boolean |
useAlternativePaymentTypesToRefund
Активирует возможность вернуть транзакцию дополнительными способами,
заданными общей настройкой "Способы возврата, дополнительно доступные по решению плагина"
|
private java.util.List<PaymentToRefund> |
usedFor
Список транзакций, для которых применяется эта замена.
|
Modifier | Constructor and Description |
---|---|
|
PaymentToRefundReplacement() |
private |
PaymentToRefundReplacement(java.util.List<PaymentToRefund> usedFor,
boolean useAlternativePaymentTypesToRefund,
boolean restrictRefundByPlugin,
java.lang.String description) |
Modifier and Type | Method and Description |
---|---|
static PaymentToRefundReplacement |
forPayments(java.util.List<PaymentToRefund> usedFor) |
java.lang.String |
getDescription() |
java.math.BigDecimal |
getRequiredRefundableSum() |
java.util.List<PaymentToRefund> |
getUsedFor() |
boolean |
isRestrictRefundByPlugin() |
boolean |
isUseAlternativePaymentTypesToRefund() |
void |
setDescription(java.lang.String description) |
void |
setRequiredRefundableSum(java.math.BigDecimal requiredRefundableSum) |
void |
setRestrictRefundByPlugin(boolean restrictRefundByPlugin) |
void |
setUseAlternativePaymentTypesToRefund(boolean useAlternativePaymentTypesToRefund) |
void |
setUsedFor(java.util.List<PaymentToRefund> usedFor) |
java.lang.String |
toString() |
static PaymentToRefundReplacement |
withDescription(PaymentToRefund usedFor,
java.lang.String description) |
private java.util.List<PaymentToRefund> usedFor
Касса ожидает в списке те же самые экземпляры PaymentToRefund
, что были переданы
в RefundPreparationRequest.getPaymentsToRefund()
(сравнивает по ==
).
Если список пустой, замена считается недействительной.
Если в списке встречается транзакция из других замен результата подготовки возврата (RefundPreparationResult.getPaymentReplacements()
),
то все замены с этой транзакцией считаются недействительными.
Если в списке несколько транзакций, то эти транзакции объединяются и при возврате будут переданы в плагин в виде одного запроса на возврат
со ссылкой на список всех транзакций (TransactionalRefundRequest.getPaymentsToRefund()
).
Для поддержки возврата нескольких необходимо для возвратов по чеку реализовать TransactionalRefundPlugin.doTransactionalRefund(TransactionalRefundRequest)
.
Рекомендуется использовать эту возможность только для случаев, когда можно вернуть несколько транзакций одним обращением в процессинг.
При объединении нескольких транзакций общая сумма транзакций может превысить сумму текущего чека возврата, в этом случае касса уменьшит общую сумму перед
передачей в TransactionalRefundRequest
(за счет уменьшения суммы отдельных транзакций или их исключения из списка для возврата).
Если требуется точное соответствие списка объединенных транзакций, плагин должен проконтролировать, что сумма объединенных транзакций не превышает общей суммы,
оставшейся для возврата в этом чеке (см. RefundPreparationRequest.getRefundReceipt()
и Receipt.getSurchargeSum()
)
private boolean useAlternativePaymentTypesToRefund
Признак не ограничивает возможность возврата способами из общей настройки "Дополнительные способы возврата, доступные всегда"
private boolean restrictRefundByPlugin
Можно будет вернуть транзакцию только дополнительными способами. Если дополнительные способы не настроены, возврат чека с такой транзакцией может быть невозможен
private java.lang.String description
Если не заполнено, используется название типа оплаты из метаинформации плагина
private java.math.BigDecimal requiredRefundableSum
usedFor
которая должна быть обязательно возвращена этим плагином (или его заменами) в этом чеке возврата.
Используется, когда плагином можно оплачивать только определенные товары, чтобы возврат суммы этих товаров проходил также через плагин.
Если значение равно null
, возможен возврат любой части исходной транзакции/транзакций без ограничений
Если значение равно нулю, то возврат исходной транзакции в этом чеке возврата недоступен.
Касса игнорирует это значение или всю замену с таким значением в следующих случаях
TransactionalRefundPlugin.doTransactionalRefund(TransactionalRefundRequest)
PaymentToRefund.getSumToRefund()
)PaymentToRefund.getSumToRefund()
) настолько, что остальными оплатами в чеке невозможно покрыть эту разницу)public PaymentToRefundReplacement()
private PaymentToRefundReplacement(java.util.List<PaymentToRefund> usedFor, boolean useAlternativePaymentTypesToRefund, boolean restrictRefundByPlugin, java.lang.String description)
public static PaymentToRefundReplacement withDescription(PaymentToRefund usedFor, java.lang.String description)
public static PaymentToRefundReplacement forPayments(java.util.List<PaymentToRefund> usedFor)
public java.util.List<PaymentToRefund> getUsedFor()
public void setUsedFor(java.util.List<PaymentToRefund> usedFor)
public boolean isUseAlternativePaymentTypesToRefund()
public void setUseAlternativePaymentTypesToRefund(boolean useAlternativePaymentTypesToRefund)
public boolean isRestrictRefundByPlugin()
public void setRestrictRefundByPlugin(boolean restrictRefundByPlugin)
public java.lang.String getDescription()
public void setDescription(java.lang.String description)
public java.math.BigDecimal getRequiredRefundableSum()
public void setRequiredRefundableSum(java.math.BigDecimal requiredRefundableSum)
public java.lang.String toString()
toString
in class java.lang.Object