forked from CGM_Public/pretix_original
Small changes to the payment API
This commit is contained in:
@@ -105,7 +105,7 @@ class BasePaymentProvider:
|
||||
"""
|
||||
raise NotImplementedError() # NOQA
|
||||
|
||||
def checkout_prepare(self, request, total) -> "bool|HttpResponse":
|
||||
def checkout_prepare(self, request, cart) -> "bool|HttpResponse":
|
||||
"""
|
||||
Will be called if the user selects this provider as his payment method.
|
||||
If the payment provider provides a form to the user to enter payment data,
|
||||
@@ -117,8 +117,6 @@ class BasePaymentProvider:
|
||||
|
||||
On errors, it should use Django's message framework to display an error message
|
||||
to the user (or the normal form validation error messages).
|
||||
|
||||
:param total: The total price of the order, including the payment method fee.
|
||||
"""
|
||||
form = self.checkout_form(request)
|
||||
if form.is_valid():
|
||||
|
||||
@@ -205,7 +205,7 @@ class CheckoutStart(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin,
|
||||
return ctx
|
||||
|
||||
|
||||
class PaymentDetails(EventViewMixin, EventLoginRequiredMixin, CheckoutView):
|
||||
class PaymentDetails(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin, CheckoutView):
|
||||
template_name = "pretixpresale/event/checkout_payment.html"
|
||||
|
||||
@cached_property
|
||||
@@ -234,10 +234,10 @@ class PaymentDetails(EventViewMixin, EventLoginRequiredMixin, CheckoutView):
|
||||
for p in self.provider_forms:
|
||||
if p['provider'].identifier == request.POST.get('payment', ''):
|
||||
request.session['payment'] = p['provider'].identifier
|
||||
total = self._total_order_value + p['provider'].calculate_fee(self._total_order_value)
|
||||
resp = p['provider'].checkout_prepare(request, total)
|
||||
resp = p['provider'].checkout_prepare(
|
||||
request, self.get_cart(payment_fee=p['provider'].calculate_fee(self._total_order_value)))
|
||||
if isinstance(resp, str):
|
||||
return redirect(str)
|
||||
return redirect(resp)
|
||||
elif resp is True:
|
||||
return redirect(self.get_confirm_url())
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user