public boolean process(PaymentDTOEx payment) throws PluggableTaskException { LOG.debug("Payment processing for " + getProcessorName() + " gateway"); if (payment.getPayoutId() != null) return true; SvcType transaction = SvcType.SALE; if (BigDecimal.ZERO.compareTo(payment.getAmount()) > 0 || (payment.getIsRefund() != 0)) { LOG.debug("Doing a refund using credit card transaction"); transaction = SvcType.REFUND_CREDIT; } boolean result; try { result = doProcess(payment, transaction, null).shouldCallOtherProcessors(); LOG.debug( "Processing result is " + payment.getPaymentResult().getId() + ", return value of process is " + result); } catch (Exception e) { LOG.error("Exception", e); throw new PluggableTaskException(e); } return result; }