diff --git a/src/pretix/plugins/stripe/signals.py b/src/pretix/plugins/stripe/signals.py
index 320d4580c..59655cf4c 100644
--- a/src/pretix/plugins/stripe/signals.py
+++ b/src/pretix/plugins/stripe/signals.py
@@ -34,7 +34,14 @@ def html_head_presale(sender, request=None, **kwargs):
url = resolve(request.path_info)
if provider.settings.get('_enabled', as_type=bool) and ("checkout" in url.url_name or "order.pay" in url.url_name):
template = get_template('pretixplugins/stripe/presale_head.html')
- ctx = {'event': sender, 'settings': provider.settings}
+ ctx = {
+ 'event': sender,
+ 'settings': provider.settings,
+ 'testmode': (
+ (provider.settings.get('endpoint', 'live') == 'test' or sender.testmode)
+ and provider.settings.publishable_test_key
+ )
+ }
return template.render(ctx)
else:
return ""
diff --git a/src/pretix/plugins/stripe/templates/pretixplugins/stripe/presale_head.html b/src/pretix/plugins/stripe/templates/pretixplugins/stripe/presale_head.html
index 0e67d2ceb..16a1db891 100644
--- a/src/pretix/plugins/stripe/templates/pretixplugins/stripe/presale_head.html
+++ b/src/pretix/plugins/stripe/templates/pretixplugins/stripe/presale_head.html
@@ -8,7 +8,7 @@
{% compress css %}
{% endcompress %}
-{% if settings.endpoint == "test" and settings.publishable_test_key %}
+{% if test_mode %}
{% else %}