mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Stripe: Expose webhook listener on event domain
This commit is contained in:
@@ -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 "<div class='alert alert-info'>%s<br /><code>%s</code></div>" % (
|
||||
_('Please configure a <a href="https://dashboard.stripe.com/account/webhooks">Stripe Webhook</a> 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):
|
||||
|
||||
@@ -7,3 +7,9 @@ urlpatterns = [
|
||||
url(r'^webhook/$', webhook, name='webhook'),
|
||||
])),
|
||||
]
|
||||
|
||||
event_patterns = [
|
||||
url(r'^stripe/', include([
|
||||
url(r'^webhook/$', webhook, name='webhook'),
|
||||
])),
|
||||
]
|
||||
|
||||
@@ -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':
|
||||
|
||||
Reference in New Issue
Block a user