commit 783f7d0b9a1df3ed2316cb402ac76a33d3b92ab3
parent 9d77dc861f88b0e47caaddd21fd1023f7d499912
Author: Florian Dold <florian@dold.me>
Date: Wed, 3 Jun 2026 19:20:56 +0200
cli: handle more payment status cases in handle-uri
Diffstat:
1 file changed, 20 insertions(+), 0 deletions(-)
diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts
@@ -130,6 +130,14 @@ async function doHandlePayTransaction(
major: TransactionMajorState.Failed,
minor: "*",
},
+ {
+ major: TransactionMajorState.Aborted,
+ minor: "*",
+ },
+ {
+ major: TransactionMajorState.Expired,
+ minor: "*",
+ },
],
});
const paySt = await wallet.call(WalletApiOperation.GetTransactionById, {
@@ -142,6 +150,14 @@ async function doHandlePayTransaction(
console.log(`Payment succeeded (already done).`);
return;
}
+ if (paySt.txState.major === TransactionMajorState.Expired) {
+ console.log(`Payment expired.`);
+ return;
+ }
+ if (paySt.txState.major === TransactionMajorState.Aborted) {
+ console.log(`Payment aborted.`);
+ return;
+ }
if (
paySt.txState.major === TransactionMajorState.Failed &&
paySt.txState.minor === TransactionMinorState.Repurchase
@@ -160,6 +176,10 @@ async function doHandlePayTransaction(
}
return;
}
+ if (paySt.txState.major === TransactionMajorState.Failed) {
+ console.log(`Payment failed.`);
+ return;
+ }
if (paySt.txState.major === TransactionMajorState.Dialog) {
const choices = await wallet.call(WalletApiOperation.GetChoicesForPayment, {
transactionId,