def METHOD_NAME(self, request, payment: SubmissionPayment):
    action = request.query_params.get(RETURN_ACTION_PARAM)
    merchant = get_object_or_404(
        OgoneMerchant, id=payment.plugin_options["merchant_id"]
    )
    client = OgoneClient(merchant)
    try:
        params = client.get_validated_params(request.query_params)
    except InvalidSignature as e:
        logger.warning(f"invalid SHASIGN for payment {payment}")
        logevent.payment_flow_failure(payment, self, e)
        return HttpResponseBadRequest("bad shasign")
    self.apply_status(payment, params.STATUS)
    form_url = payment.submission.cleaned_form_url
    form_url.args.update(
        {
            "of_payment_status": payment.status,
            "of_payment_id": str(payment.uuid),
            "of_payment_action": action or UserAction.unknown,
        }
    )
    return HttpResponseRedirect(form_url.url)