diff --git a/src/pretix/plugins/stripe/payment.py b/src/pretix/plugins/stripe/payment.py index 1e4c25a5d8..656d51deb6 100644 --- a/src/pretix/plugins/stripe/payment.py +++ b/src/pretix/plugins/stripe/payment.py @@ -11,7 +11,7 @@ from django.utils.translation import ugettext_lazy as _ from pretix.base.models import Quota from pretix.base.payment import BasePaymentProvider from pretix.base.services.orders import mark_order_paid, mark_order_refunded -from pretix.helpers.urls import build_absolute_uri +from pretix.multidomain.urlreverse import build_absolute_uri logger = logging.getLogger('pretix.plugins.stripe') @@ -39,7 +39,7 @@ class Stripe(BasePaymentProvider): return "
%s
%s
" % ( _('Please configure a Stripe Webhook to ' 'the following endpoint in order to automatically cancel orders when a charges are refunded externally.'), - build_absolute_uri('plugins:stripe:webhook') + build_absolute_uri(self.event, 'plugins:stripe:webhook') ) def payment_is_valid_session(self, request): diff --git a/src/pretix/plugins/stripe/urls.py b/src/pretix/plugins/stripe/urls.py index 046d9e6392..a37398dbd7 100644 --- a/src/pretix/plugins/stripe/urls.py +++ b/src/pretix/plugins/stripe/urls.py @@ -7,3 +7,9 @@ urlpatterns = [ url(r'^webhook/$', webhook, name='webhook'), ])), ] + +event_patterns = [ + url(r'^stripe/', include([ + url(r'^webhook/$', webhook, name='webhook'), + ])), +] diff --git a/src/pretix/plugins/stripe/views.py b/src/pretix/plugins/stripe/views.py index bcaf6a9e06..d7d7bc87f6 100644 --- a/src/pretix/plugins/stripe/views.py +++ b/src/pretix/plugins/stripe/views.py @@ -15,7 +15,7 @@ logger = logging.getLogger('pretix.plugins.stripe') @csrf_exempt @require_POST -def webhook(request): +def webhook(request, *args, **kwargs): event_json = json.loads(request.body.decode('utf-8')) event_type = event_json['type'] if event_type != 'charge.refunded':