taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
Mpackages/taler-util/src/types-taler-wallet.ts | 12++++++++++++
Mpackages/taler-wallet-core/src/pay-merchant.ts | 1+
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)), }; }