The PaymentRequest.abort()
method of the PaymentRequest
interface causes the user agent to end the payment request and to remove any user interface that might be shown.
The following example sets up a timeout to clear the payment request that might have been abandoned or neglected.
const request = new PaymentRequest(supportedInstruments, details, options);
const paymentTimeout = setTimeout(
() => {
clearTimeout(paymentTimeout);
request
.abort()
.then(() => {
print("Payment timed out after 20 minutes.");
})
.catch(() => {
print(
"Unable to abort, because the user is currently in the process " +
"of paying.",
);
});
},
20 * 60 * 1000,
);