Ejemplo n.º 1
0
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})
Ejemplo n.º 2
0
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})
Ejemplo n.º 3
0
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}))
Ejemplo n.º 4
0
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})
Ejemplo n.º 5
0
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})
Ejemplo n.º 6
0
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})