summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-08-10 20:05:41 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-08-10 20:05:41 +0530
commitc2dcad8efeb7948a98997053a8e26087b40bacf8 (patch)
treeb1ed219bfff2f78c7f4ed927c64d50956567823c /packages/taler-wallet-core/src
parent2a4d2944aa4cd3045ae0b9c1569395c484eb4d05 (diff)
downloadwallet-core-c2dcad8efeb7948a98997053a8e26087b40bacf8.tar.gz
wallet-core-c2dcad8efeb7948a98997053a8e26087b40bacf8.tar.bz2
wallet-core-c2dcad8efeb7948a98997053a8e26087b40bacf8.zip
fix preparePay API response
Diffstat (limited to 'packages/taler-wallet-core/src')
-rw-r--r--packages/taler-wallet-core/src/operations/pay.ts7
-rw-r--r--packages/taler-wallet-core/src/types/walletTypes.ts3
2 files changed, 10 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay.ts b/packages/taler-wallet-core/src/operations/pay.ts
index 0fa9e0a61..fd997fb14 100644
--- a/packages/taler-wallet-core/src/operations/pay.ts
+++ b/packages/taler-wallet-core/src/operations/pay.ts
@@ -927,6 +927,7 @@ export async function preparePayForUri(
status: PreparePayResultType.InsufficientBalance,
contractTerms: JSON.parse(d.contractTermsRaw),
proposalId: proposal.proposalId,
+ amountRaw: Amounts.stringify(d.contractData.amount),
};
}
@@ -961,18 +962,24 @@ export async function preparePayForUri(
contractTerms: JSON.parse(purchase.contractTermsRaw),
paid: true,
nextUrl: r.nextUrl,
+ amountRaw: Amounts.stringify(purchase.contractData.amount),
+ amountEffective: Amounts.stringify(purchase.payCostInfo.totalCost),
};
} else if (!purchase.timestampFirstSuccessfulPay) {
return {
status: PreparePayResultType.AlreadyConfirmed,
contractTerms: JSON.parse(purchase.contractTermsRaw),
paid: false,
+ amountRaw: Amounts.stringify(purchase.contractData.amount),
+ amountEffective: Amounts.stringify(purchase.payCostInfo.totalCost),
};
} else if (purchase.paymentSubmitPending) {
return {
status: PreparePayResultType.AlreadyConfirmed,
contractTerms: JSON.parse(purchase.contractTermsRaw),
paid: false,
+ amountRaw: Amounts.stringify(purchase.contractData.amount),
+ amountEffective: Amounts.stringify(purchase.payCostInfo.totalCost),
};
}
// FIXME: we don't handle aborted payments correctly here.
diff --git a/packages/taler-wallet-core/src/types/walletTypes.ts b/packages/taler-wallet-core/src/types/walletTypes.ts
index 83275a0cc..6175c40eb 100644
--- a/packages/taler-wallet-core/src/types/walletTypes.ts
+++ b/packages/taler-wallet-core/src/types/walletTypes.ts
@@ -353,12 +353,15 @@ export interface PreparePayResultInsufficientBalance {
status: PreparePayResultType.InsufficientBalance;
proposalId: string;
contractTerms: Record<string, unknown>;
+ amountRaw: string;
}
export interface PreparePayResultAlreadyConfirmed {
status: PreparePayResultType.AlreadyConfirmed;
contractTerms: Record<string, unknown>;
paid: boolean;
+ amountRaw: string;
+ amountEffective: string;
// Only specified if paid.
nextUrl?: string;
}