taler-typescript-core

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

commit 18eefc95782467fdceb232ddc985c6fc55e390e6
parent b8dd91d966e49c62d9f32ec918600d84cb28be40
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Wed, 29 Apr 2026 12:10:58 -0300

add support for template in wallet-cli

Diffstat:
Mpackages/taler-wallet-cli/src/index.ts | 21+++++++++++++++++++++
1 file changed, 21 insertions(+), 0 deletions(-)

diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts @@ -100,6 +100,22 @@ setUnhandledRejectionHandler((error: any) => { const defaultWalletDbPath = pathHomedir() + "/" + ".talerwalletdb.sqlite3"; const defaultWalletCoreSocket = pathHomedir() + "/" + ".wallet-core.sock"; +async function doPayTemplate( + wallet: WalletCoreApiClient, + payUrl: string, + options: { alwaysYes: boolean } = { alwaysYes: true }, +): Promise<void> { + const result = await wallet.call(WalletApiOperation.PreparePayForTemplate, { + talerPayTemplateUri: payUrl, + }); + if (result.status === PreparePayResultType.InsufficientBalance) { + console.log("contract", result.contractTerms); + console.error("insufficient balance"); + processExit(1); + return; + } + return doPay(wallet, result.talerUri, options) +} async function doPay( wallet: WalletCoreApiClient, payUrl: string, @@ -898,6 +914,11 @@ walletCli throw Error("invalid taler URI"); } switch (parsedTalerUri.type) { + case TalerUriAction.PayTemplate: + await doPayTemplate(wallet.client, uri, { + alwaysYes: args.handleUri.autoYes, + }); + break; case TalerUriAction.Pay: await doPay(wallet.client, uri, { alwaysYes: args.handleUri.autoYes,