diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index 4e0591fd9b9e..a152e4944e95 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5965,7 +5965,6 @@ pref("dom.timeout.max_consecutive_callbacks_ms", 4);
// Use this preference to house "Payment Request API" during development
pref("dom.payments.request.enabled", false);
pref("dom.payments.loglevel", "Warn");
-pref("dom.payments.unknownTimeoutMS", 5000);
#ifdef FUZZING
pref("fuzzing.enabled", false);
diff --git a/toolkit/components/payments/content/paymentDialogWrapper.js b/toolkit/components/payments/content/paymentDialogWrapper.js
index ec167b8cf0b0..707fa9058def 100644
--- a/toolkit/components/payments/content/paymentDialogWrapper.js
+++ b/toolkit/components/payments/content/paymentDialogWrapper.js
@@ -411,12 +411,6 @@ var paymentDialogWrapper = {
});
paymentSrv.respondPayment(showResponse);
this.sendMessageToContent("responseSent");
-
- // If the merchant has not called response.complete() within unknownTimeoutMS
- // then we will close the dialog, treating it the same as if the merchant
- // passed "unknown" to response.complete().
- const timeoutMS = Services.prefs.getIntPref("dom.payments.unknownTimeoutMS");
- window.unknownTimeoutId = window.setTimeout(window.close, timeoutMS);
},
async onChangeShippingAddress({shippingAddressGUID}) {
diff --git a/toolkit/components/payments/paymentUIService.js b/toolkit/components/payments/paymentUIService.js
index ba87e7d86496..e9d57d1f99cb 100644
--- a/toolkit/components/payments/paymentUIService.js
+++ b/toolkit/components/payments/paymentUIService.js
@@ -69,10 +69,6 @@ PaymentUIService.prototype = {
completePayment(requestId) {
this.log.debug("completePayment:", requestId);
- let dialog = this.findDialog(requestId);
- if (dialog && dialog.unknownTimeoutId) {
- dialog.clearTimeout(dialog.unknownTimeoutId);
- }
let closed = this.closeDialog(requestId);
let responseCode = closed ?
Ci.nsIPaymentActionResponse.COMPLETE_SUCCEEDED :
diff --git a/toolkit/components/payments/res/containers/payment-dialog.js b/toolkit/components/payments/res/containers/payment-dialog.js
index f537328f74fa..ae24ab45283f 100644
--- a/toolkit/components/payments/res/containers/payment-dialog.js
+++ b/toolkit/components/payments/res/containers/payment-dialog.js
@@ -157,7 +157,6 @@ class PaymentDialog extends PaymentStateSubscriberMixin(HTMLElement) {
case "processing":
case "success":
case "fail":
- case "unknown":
break;
default:
throw new Error("Invalid completionState");
diff --git a/toolkit/components/payments/res/debugging.html b/toolkit/components/payments/res/debugging.html
index 753804758a4c..e30ba8c0a78c 100644
--- a/toolkit/components/payments/res/debugging.html
+++ b/toolkit/components/payments/res/debugging.html
@@ -33,7 +33,6 @@
-