package com.braintree.facade.backoffice;

import com.braintree.exceptions.BraintreeErrorException;
import de.hybris.platform.core.model.order.OrderModel;
import de.hybris.platform.ordermanagementfacades.payment.data.PaymentTransactionEntryData;
import de.hybris.platform.payment.model.PaymentTransactionEntryModel;

import java.math.BigDecimal;

public interface BraintreeBackofficePartialRefundFacade {

    boolean isPartialRefundPossible(final OrderModel order);

    PaymentTransactionEntryData partialRefundTransaction(final OrderModel order,
        final PaymentTransactionEntryModel paymentTransactionEntry,
        final BigDecimal amount) throws BraintreeErrorException;

}
