summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}