if (StringUtil.isEmpty(reason)) {
throw new ProtocolException("Refunding order: reason is missing!");
}
try {
RefundOrderElement refundRequest = _objectFact.createRefundOrderElement();
refundRequest.setGoogleOrderNumber(orderNumber);
refundRequest.setReason(reason);
if (amount > 0.0F && !StringUtil.isEmpty(currency)) {
Money refundAmount = createMoney(amount, currency);
refundRequest.setAmount(refundAmount);
}
return convertToDOM(refundRequest);
} catch (JAXBException jaxbEx) {
throw new ProtocolException(jaxbEx.getMessage());
}