forked from CGM_Public/pretix_original
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.models import Quota
|
||||||
from pretix.base.payment import BasePaymentProvider
|
from pretix.base.payment import BasePaymentProvider
|
||||||
from pretix.base.services.orders import mark_order_paid, mark_order_refunded
|
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')
|
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>" % (
|
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 '
|
_('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.'),
|
'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):
|
def payment_is_valid_session(self, request):
|
||||||
|
|||||||
@@ -7,3 +7,9 @@ urlpatterns = [
|
|||||||
url(r'^webhook/$', webhook, name='webhook'),
|
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
|
@csrf_exempt
|
||||||
@require_POST
|
@require_POST
|
||||||
def webhook(request):
|
def webhook(request, *args, **kwargs):
|
||||||
event_json = json.loads(request.body.decode('utf-8'))
|
event_json = json.loads(request.body.decode('utf-8'))
|
||||||
event_type = event_json['type']
|
event_type = event_json['type']
|
||||||
if event_type != 'charge.refunded':
|
if event_type != 'charge.refunded':
|
||||||
|
|||||||
Reference in New Issue
Block a user