/*
 This file is part of TALER
 (C) 2015-2016 GNUnet e.V.
 TALER is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
 Foundation; either version 3, or (at your option) any later version.
 TALER is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 You should have received a copy of the GNU General Public License along with
 TALER; see the file COPYING.  If not, see 
No refunds
; } const firstRefundKey = [...pendingKeys, ...doneKeys][0]; if (!firstRefundKey) { returnWaiting for refunds ...
; } const allRefunds = { ...purchase.refundsDone, ...purchase.refundsPending }; const currency = Amounts.parseOrThrow(allRefunds[firstRefundKey].refund_amount).currency; if (!currency) { throw Error("invariant"); } let amountPending = Amounts.getZero(currency); for (const k of pendingKeys) { const refundAmount = Amounts.parseOrThrow(purchase.refundsPending[k].refund_amount); amountPending = Amounts.add(amountPending, refundAmount).amount; } let amountDone = Amounts.getZero(currency); for (const k of doneKeys) { const refundAmount = Amounts.parseOrThrow(purchase.refundsDone[k].refund_amount); amountDone = Amounts.add(amountDone, refundAmount).amount; } const hasPending = amountPending.fraction !== 0 || amountPending.value !== 0; return (Refund pending: 
        Refund received: 
Status of purchase {summary} from merchant {merchantName}{" "} (order id {purchase.contractTerms.order_id}).
Total amount: 
Purchase not completed.
}