taler-typescript-core

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

commit c47311b4a70d384d08389959c50faa2a6e7d0e91
parent ddd4e8f033c92b7d5ff3828e4becb75bf4a14d55
Author: Sebastian <sebasjm@gmail.com>
Date:   Sun, 30 Jan 2022 23:32:56 -0300

if order has been paid, redirect to the fulfillment_url

Diffstat:
Mpackages/taler-wallet-webextension/src/cta/Pay.tsx | 27+++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/packages/taler-wallet-webextension/src/cta/Pay.tsx b/packages/taler-wallet-webextension/src/cta/Pay.tsx @@ -40,7 +40,7 @@ import { } from "@gnu-taler/taler-util"; import { OperationFailedError } from "@gnu-taler/taler-wallet-core"; import { Fragment, h, VNode } from "preact"; -import { useState } from "preact/hooks"; +import { useEffect, useState } from "preact/hooks"; import { Loading } from "../components/Loading"; import { LoadingError } from "../components/LoadingError"; import { LogoHeader } from "../components/LogoHeader"; @@ -161,6 +161,20 @@ export function PaymentRequestView({ let totalFees: AmountJson = Amounts.getZero(payStatus.amountRaw); const contractTerms: ContractTerms = payStatus.contractTerms; + useEffect(() => { + if ( + payStatus.status === PreparePayResultType.AlreadyConfirmed && + payStatus.paid + ) { + const fu = payStatus.contractTerms.fulfillment_url; + if (fu) { + setTimeout(() => { + document.location.href = fu; + }, 3000); + } + } + }); + if (!contractTerms) { return ( <span> @@ -281,7 +295,16 @@ export function PaymentRequestView({ <h2>{i18n.str`Digital cash payment`}</h2> {payStatus.status === PreparePayResultType.AlreadyConfirmed && (payStatus.paid ? ( - <SuccessBox> Already paid </SuccessBox> + payStatus.contractTerms.fulfillment_url ? ( + <SuccessBox> + Already paid, you are going to be redirected to{" "} + <a href={payStatus.contractTerms.fulfillment_url}> + {payStatus.contractTerms.fulfillment_url} + </a> + </SuccessBox> + ) : ( + <SuccessBox> Already paid </SuccessBox> + ) ) : ( <WarningBox> Already claimed </WarningBox> ))}