commit 9856854690b71435536790e5f406e95624da599f
parent be8960eaee144abd748d10e78fb5ebd50d6911ca
Author: Iván Ávalos <avalos@disroot.org>
Date: Tue, 29 Apr 2025 18:16:35 +0200
wallet-core: add contract data to getChoicesForPayment
Diffstat:
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/packages/taler-util/src/types-taler-wallet.ts b/packages/taler-util/src/types-taler-wallet.ts
@@ -2393,6 +2393,12 @@ export type GetChoicesForPaymentResult = {
* are payable.
*/
automaticExecution?: boolean;
+
+ /**
+ * Data extracted from the contract terms that
+ * is relevant for payment processing in the wallet.
+ */
+ contractData: WalletContractData;
};
export interface SharePaymentRequest {
@@ -3571,6 +3577,12 @@ export type WalletContractData = MerchantContractTerms & {
fulfillmentUrl: string;
contractTermsHash: string;
merchantSig: string;
+
+ /**
+ * Amounts are undefined for unfinished v1 orders.
+ */
+ amountRaw?: AmountString;
+ amountEffective?: AmountString;
};
export type PayWalletData = {
diff --git a/packages/taler-wallet-core/src/pay-merchant.ts b/packages/taler-wallet-core/src/pay-merchant.ts
@@ -2624,6 +2624,7 @@ export async function getChoicesForPayment(
return {
choices,
+ contractData: d.contractData,
...(await calculateDefaultChoice(wex, choices, d.contractData)),
};
}