Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PayPalSuccessView(JSONResponseMixin, OwnerAccessMixin, DetailView):
- template_name = 'payment_success.html'
- context_object_name = 'order'
- pk_url_kwarg = 'order_id'
- model = Order
- def get_context_data(self, **kwargs):
- context = super(PayPalSuccessView, self).get_context_data(**kwargs)
- context.update({"paypal_data": self.get_object().paypalextrapayment_set.last()})
- return context
- def get(self, request, *args, **kwargs):
- return super(PayPalSuccessView, self).get(request, *args, **kwargs)
- def post(self, request, *args, **kwargs):
- order = self.get_object()
- paypal_extra_payment, err = process_express(request, order)
- if err:
- return self.render_json_response(err)
- is_paid = payment_action(
- order_id=paypal_extra_payment.invoice_number,
- amount=paypal_extra_payment.price_total,
- payment_method=PAYPAL,
- response=paypal_extra_payment,
- is_paid=(not err)
- )
- if is_paid:
- for package in order.package_set.all():
- UserActivity.objects.create(
- package=package,
- number=package.get_identifier(),
- message_code=SAVE_LABEL,
- user=request.user
- )
- data = {'url': reverse('paypal_payment_success', kwargs={'order_id': paypal_extra_payment.invoice_number})}
- return self.render_json_response(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement