def success(request, template_name='robokassa/success.html', extra_context=None, error_template_name='robokassa/error.html'): """ обработчик для SuccessURL """ data = request.POST if USE_POST else request.GET form = SuccessRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # в случае, когда не используется строгая проверка, действия с заказом # можно осуществлять в обработчике сигнала robokassa.signals.success_page_visited success_page_visited.send(sender=form, InvId=id, OutSum=sum, extra=form.extra_params()) context = {'InvId': id, 'OutSum': sum, 'form': form} context.update(form.extra_params()) context.update(extra_context or {}) return direct_to_template(request, template_name, extra_context=context) return direct_to_template(request, error_template_name, extra_context={'form': form})
def dispatch(self, request, *args, **kwargs): data = self.get_data(request) if data is None: return self.http_method_not_allowed(request, *args, **kwargs) self.process_data(data) if self.robokassa_cleaned_data is None: messages.error( self.request, (u"Возникли ошибки при обработке Вашего платежа, пожалуйста, " u"свяжитесь с нами по телефону")) log.error("SuccessRedirect error: bad data") return HttpResponseRedirect(reverse('basket:summary')) # lets find the basket try: self.basket = Basket.objects.get(id=self.basket_num) except Basket.DoesNotExist: messages.error( self.request, u"Данному платежу не соответствует ни одна корзина") return HttpResponseRedirect(reverse('basket:summary')) # keep this for legacy success_page_visited.send(sender=self, InvId=self.basket_num, OutSum=self.robokassa_amount, extra=self.robokassa_extra_params) # if everything OK render thank-you page return super(SuccessResponseView, self).get(request, *args, **kwargs)
def success( request, template_name="robokassa/success.html", extra_context=None, error_template_name="robokassa/error.html", ): """Обработчик для SuccessURL""" data = request.POST if USE_POST else request.GET form = SuccessRedirectForm(data) if form.is_valid(): inv_id, out_sum = form.cleaned_data["InvId"], form.cleaned_data[ "OutSum"] # в случае, когда не используется строгая проверка, действия с заказом # можно осуществлять в обработчике сигнала robokassa.signals.success_page_visited success_page_visited.send(sender=form, InvId=inv_id, OutSum=out_sum, extra=form.extra_params()) context = {"InvId": inv_id, "OutSum": out_sum, "form": form} context.update(form.extra_params()) context.update(extra_context or {}) return TemplateResponse(request, template_name, context) return TemplateResponse(request, error_template_name, {"form": form})
def dispatch(self, request, *args, **kwargs): data = self.get_data(request) if data is None: return self.http_method_not_allowed(request, *args, **kwargs) self.process_data(data) if self.robokassa_cleaned_data is None: messages.error( self.request, (u"Возникли ошибки при обработке Вашего платежа, пожалуйста, " u"свяжитесь с нами по телефону")) log.error("SuccessRedirect error: bad data") return HttpResponseRedirect(reverse('basket:summary')) # lets find the basket try: self.basket = Basket.objects.get(id=self.basket_num) except Basket.DoesNotExist: messages.error( self.request, u"Данному платежу не соответствует ни одна корзина") return HttpResponseRedirect(reverse('basket:summary')) # keep this for legacy success_page_visited.send(sender = self, InvId = self.basket_num, OutSum = self.robokassa_amount, extra = self.robokassa_extra_params) # if everything OK render thank-you page return super(SuccessResponseView, self).get(request, *args, **kwargs)
def success( request, template_name="robokassa/success.html", extra_context=None, error_template_name="robokassa/error.html" ): """ обработчик для SuccessURL """ data = request.POST if USE_POST else request.GET form = SuccessRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data["InvId"], form.cleaned_data["OutSum"] # в случае, когда не используется строгая проверка, действия с заказом # можно осуществлять в обработчике сигнала robokassa.signals.success_page_visited success_page_visited.send(sender=form, InvId=id, OutSum=sum, extra=form.extra_params()) context = {"InvId": id, "OutSum": sum, "form": form} context.update(form.extra_params()) context.update(extra_context or {}) return direct_to_template(request, template_name, extra_context=context) return direct_to_template(request, error_template_name, extra_context={"form": form})
def success(request, template_name='robokassa/success.jinja', extra_context=None, error_template_name = 'robokassa/error.jinja'): """ обработчик для SuccessURL """ data = request.POST if USE_POST else request.GET form = SuccessRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # в случае, когда не используется строгая проверка, действия с заказом # можно осуществлять в обработчике сигнала robokassa.signals.success_page_visited success_page_visited.send(sender = form, InvId = id, OutSum = sum, extra = form.extra_params()) context = {'InvId': id, 'OutSum': sum, 'form': form} context.update(form.extra_params()) context.update(extra_context or {}) return TemplateResponse(request, template_name, context) return TemplateResponse(request, error_template_name, {'form': form})
def payment_success(request): data = request.POST if USE_POST else request.GET form = SuccessRedirectForm(data) #context = {'InvId': data.get('InvId'), 'OutSum': data.get('OutSum'), 'form': form} #return render(request, template_name, context) if form.is_valid(): order_id, order_sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # в случае, когда не используется строгая проверка, действия с заказом # можно осуществлять в обработчике сигнала robokassa.signals.success_page_visited success_page_visited.send(sender = form, InvId = order_id, OutSum = order_sum, extra = form.extra_params()) messages.success(request, 'Оплата прошла успешно') # context = {'InvId': order_id, 'OutSum': order_sum, 'form': form} # context.update(form.extra_params()) # context.update(extra_context or {}) #return render(request, template_name, context) order_obj = get_object_or_404(Order, pk=order_id) return redirect(to=reverse('get_order', kwargs={'order_num': order_obj.number})) messages.error(request, 'При оплате произошла ошибка') order_obj = get_order(request) return redirect(to=reverse('get_order', kwargs={'order_num': order_obj.number}))