feat: lots of stuff
This commit is contained in:
@@ -104,6 +104,11 @@ class TestRedsysTPV(APITestCase):
|
||||
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:ok", kwargs={"order": order.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
def test_redsys_webhook_payment_error(self):
|
||||
amount_to_pay = Decimal("10.00")
|
||||
order = PaymentTPV.objects.create(amount=amount_to_pay)
|
||||
@@ -167,3 +172,8 @@ class TestRedsysTPV(APITestCase):
|
||||
order.refresh_from_db()
|
||||
assert str(ERROR_CODES.get("0184")) in order.observations
|
||||
assert order.status == PaymentTPV.StatusChoices.ERROR
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:ko", kwargs={"order": order.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
+14
-51
@@ -13,10 +13,6 @@ from tpv.signals import redsys_payment_accepted, redsys_payment_rejected
|
||||
def payment_accepted(request, order):
|
||||
order = get_object_or_404(PaymentTPV, hash=order)
|
||||
|
||||
# Ñapa histórica
|
||||
if request.GET:
|
||||
return redirect(reverse("tpv:ok", kwargs={"order": order.hash}))
|
||||
|
||||
return render(
|
||||
request,
|
||||
template_name="tpv/order_created.html",
|
||||
@@ -29,13 +25,9 @@ def payment_accepted(request, order):
|
||||
def payment_rejected(request, order):
|
||||
order = get_object_or_404(PaymentTPV, hash=order)
|
||||
|
||||
# Ñapa histórica
|
||||
if request.GET:
|
||||
return redirect(reverse("tpv:ko", kwargs={"order": order.hash}))
|
||||
|
||||
return render(
|
||||
request,
|
||||
template_name="tpv/order.html",
|
||||
template_name="tpv/order_created.html",
|
||||
context={
|
||||
"order": order,
|
||||
},
|
||||
@@ -67,45 +59,16 @@ def order_created(request, order):
|
||||
client = RedsysClient()
|
||||
parameters = client.get_body_for_order(order)
|
||||
|
||||
if request.method == "GET":
|
||||
return render(
|
||||
request,
|
||||
template_name="tpv/order_created.html",
|
||||
context={
|
||||
"form": UpdateEmailForm({"contact_email": order.contact_email}),
|
||||
"action": reverse("tpv:order_created", kwargs={"order": order.hash}),
|
||||
"order": order,
|
||||
"signature_version": parameters.get("Ds_SignatureVersion"),
|
||||
"merchant_parameters": parameters.get("Ds_MerchantParameters"),
|
||||
"signature": parameters.get("Ds_Signature"),
|
||||
"redsys_target_url": client.get_target_url(),
|
||||
},
|
||||
)
|
||||
|
||||
elif request.method == "POST":
|
||||
form = UpdateEmailForm(request.POST)
|
||||
|
||||
if form.is_valid():
|
||||
order.contact_email = form.cleaned_data["contact_email"]
|
||||
order.save()
|
||||
|
||||
return redirect(reverse("tpv:order_created", kwargs={"order": order.hash}))
|
||||
else:
|
||||
return render(
|
||||
request,
|
||||
template_name="tpv/order_created.html",
|
||||
context={
|
||||
"form": UpdateEmailForm({"contact_email": ""}),
|
||||
"errors": form.errors,
|
||||
"action": reverse(
|
||||
"tpv:order_created", kwargs={"order": order.hash}
|
||||
),
|
||||
"order": order,
|
||||
"signature_version": parameters.get("Ds_SignatureVersion"),
|
||||
"merchant_parameters": parameters.get("Ds_MerchantParameters"),
|
||||
"signature": parameters.get("Ds_Signature"),
|
||||
"redsys_target_url": client.get_target_url(),
|
||||
},
|
||||
)
|
||||
|
||||
return HttpResponse(status=405)
|
||||
return render(
|
||||
request,
|
||||
template_name="tpv/order_created.html",
|
||||
context={
|
||||
"form": UpdateEmailForm({"contact_email": order.contact_email}),
|
||||
"action": reverse("tpv:order_created", kwargs={"order": order.hash}),
|
||||
"order": order,
|
||||
"signature_version": parameters.get("Ds_SignatureVersion"),
|
||||
"merchant_parameters": parameters.get("Ds_MerchantParameters"),
|
||||
"signature": parameters.get("Ds_Signature"),
|
||||
"redsys_target_url": client.get_target_url(),
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user