From 11fa3397053c16cfcbf594c1389a75eaad94a40e Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 12 Aug 2020 16:32:07 +0530 Subject: fix preparePay bug and add integration test for it --- packages/taler-wallet-core/src/operations/pay.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'packages/taler-wallet-core/src/operations') diff --git a/packages/taler-wallet-core/src/operations/pay.ts b/packages/taler-wallet-core/src/operations/pay.ts index db5a56d18..0576f7eab 100644 --- a/packages/taler-wallet-core/src/operations/pay.ts +++ b/packages/taler-wallet-core/src/operations/pay.ts @@ -980,17 +980,17 @@ export async function preparePayForUri( amountRaw: Amounts.stringify(purchase.contractData.amount), amountEffective: Amounts.stringify(purchase.payCostInfo.totalCost), }; - } else if (purchase.paymentSubmitPending) { + } else { + const paid = !purchase.paymentSubmitPending; return { status: PreparePayResultType.AlreadyConfirmed, contractTerms: JSON.parse(purchase.contractTermsRaw), - paid: false, + paid, amountRaw: Amounts.stringify(purchase.contractData.amount), amountEffective: Amounts.stringify(purchase.payCostInfo.totalCost), + ...(paid ? { nextUrl: purchase.contractData.orderId } : {}), }; } - // FIXME: we don't handle aborted payments correctly here. - throw Error("BUG: invariant violation (purchase status)"); } /** -- cgit v1.2.3