taler-typescript-core

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

commit 8d72b93a174ed3fbfa52b6fb67976fdfcbd40efc
parent 421e613f92b80c81c856d6b074aa160e80e38e3d
Author: Florian Dold <florian.dold@gmail.com>
Date:   Thu, 20 Aug 2020 16:51:14 +0530

fix refund URI parsing (due to merchant backend change)

Diffstat:
Mpackages/taler-integrationtests/src/test-refund.ts | 1+
Mpackages/taler-wallet-core/src/util/taleruri.ts | 7++++---
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/packages/taler-integrationtests/src/test-refund.ts b/packages/taler-integrationtests/src/test-refund.ts @@ -86,6 +86,7 @@ runTest(async (t: GlobalTestState) => { let r = await wallet.apiRequest("applyRefund", { talerRefundUri: ref.talerRefundUri, }); + t.assertTrue(r.type === "response"); console.log(r); await wallet.runUntilDone(); diff --git a/packages/taler-wallet-core/src/util/taleruri.ts b/packages/taler-wallet-core/src/util/taleruri.ts @@ -199,12 +199,13 @@ export function parseRefundUri(s: string): RefundUriResult | undefined { } const c = pi?.rest.split("?"); const parts = c[0].split("/"); - if (parts.length < 2) { + if (parts.length < 3) { return undefined; } const host = parts[0].toLowerCase(); - const orderId = parts[parts.length - 1]; - const pathSegments = parts.slice(1, parts.length - 1); + const sessionId = parts[parts.length - 1]; + const orderId = parts[parts.length - 2]; + const pathSegments = parts.slice(1, parts.length - 2); const p = [host, ...pathSegments].join("/"); const merchantBaseUrl = `${pi.innerProto}://${p}/`;