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.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 success(request): """ обработчик для SuccessURL """ form = SuccessRedirectForm(request.POST or request.GET) if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] url = reverse('checkout.step', args=('receipt', )) return HttpResponseRedirect('%s?order=%s' % (url, id)) return render(request, 'robokassa/error.html', {'form': form})
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}))