def fail(request, template_name='robokassa/fail.html', extra_context=None, error_template_name='robokassa/error.html'): """ обработчик для FailURL """ data = request.POST if USE_POST else request.GET form = FailRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # дополнительные действия с заказом (например, смену его статуса для # разблокировки товара на складе) можно осуществить в обработчике # сигнала robokassa.signals.fail_page_visited fail_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 fail( request, template_name="robokassa/fail.html", extra_context=None, error_template_name="robokassa/error.html", ): """Обработчик для FailURL""" data = request.POST if USE_POST else request.GET form = FailRedirectForm(data) if form.is_valid(): inv_id, out_sum = form.cleaned_data["InvId"], form.cleaned_data[ "OutSum"] # дополнительные действия с заказом (например, смену его статуса для # разблокировки товара на складе) можно осуществить в обработчике # сигнала robokassa.signals.fail_page_visited fail_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 payment_fail(request): data = request.POST if USE_POST else request.GET form = FailRedirectForm(data) messages.error(request, 'При оплате произошла ошибка') if form.is_valid(): order_id, order_sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # дополнительные действия с заказом (например, смену его статуса для # разблокировки товара на складе) можно осуществить в обработчике # сигнала robokassa.signals.fail_page_visited fail_page_visited.send(sender = form, InvId = order_id, OutSum = order_sum, extra = form.extra_params()) order_obj = get_object_or_404(Order, pk=order_id) return redirect(to=reverse('get_order', kwargs={'order_num': order_obj.number})) order_obj = get_order(request, False) return redirect(to=reverse('get_order', kwargs={'order_num': order_obj.number}))
def fail(request, template_name="robokassa/fail.html", extra_context=None, error_template_name="robokassa/error.html"): """ обработчик для FailURL """ data = request.POST if USE_POST else request.GET form = FailRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data["InvId"], form.cleaned_data["OutSum"] # дополнительные действия с заказом (например, смену его статуса для # разблокировки товара на складе) можно осуществить в обработчике # сигнала robokassa.signals.fail_page_visited fail_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 fail(request): """ обработчик для FailURL """ form = FailRedirectForm(request.POST or request.GET) try: del request.session[Storage.SESSION_KEY] except KeyError: pass if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] fail_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()) return render(request, 'robokassa/fail.html', context) return render(request, 'robokassa/error.html', {'form': form})
def fail(request, template_name='robokassa/fail.jinja', extra_context=None, error_template_name = 'robokassa/error.jinja'): """ обработчик для FailURL """ data = request.POST if USE_POST else request.GET form = FailRedirectForm(data) if form.is_valid(): id, sum = form.cleaned_data['InvId'], form.cleaned_data['OutSum'] # дополнительные действия с заказом (например, смену его статуса для # разблокировки товара на складе) можно осуществить в обработчике # сигнала robokassa.signals.fail_page_visited fail_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})