From e05ba843a061c8050648ce922f36ed3d8e1cf24a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 24 Nov 2022 23:16:01 -0300 Subject: fix 7465 --- packages/taler-util/src/taleruri.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'packages/taler-util/src/taleruri.ts') diff --git a/packages/taler-util/src/taleruri.ts b/packages/taler-util/src/taleruri.ts index 13cdde9a9..4e47acbce 100644 --- a/packages/taler-util/src/taleruri.ts +++ b/packages/taler-util/src/taleruri.ts @@ -216,6 +216,23 @@ export function parsePayUri(s: string): PayUriResult | undefined { }; } +export function constructPayUri( + merchantBaseUrl: string, + orderId: string, + sessionId: string, + claimToken?: string, + noncePriv?: string, +): string { + const base = canonicalizeBaseUrl(merchantBaseUrl); + const url = new URL(base); + const isHttp = base.startsWith("http://"); + let result = isHttp ? `taler+http://pay/` : `taler://pay/`; + result += `${url.hostname}${url.pathname}${orderId}/${sessionId}?`; + if (claimToken) result += `c=${claimToken}`; + if (noncePriv) result += `n=${noncePriv}`; + return result; +} + export function parsePayPushUri(s: string): PayPushUriResult | undefined { const pi = parseProtoInfo(s, talerActionPayPush); if (!pi) { -- cgit v1.2.3