diff --git a/tpv/templates/tpv/form.html b/tpv/templates/tpv/form.html
new file mode 100644
index 0000000..f12ec33
--- /dev/null
+++ b/tpv/templates/tpv/form.html
@@ -0,0 +1,20 @@
+
+ {% if order.status == 'PEN' %}
+
+{% endif %}
+
diff --git a/tpv/urls.py b/tpv/urls.py
index 050c419..05f0495 100644
--- a/tpv/urls.py
+++ b/tpv/urls.py
@@ -1,5 +1,5 @@
from django.urls import path
-from tpv.views import transaction_created, webhook, payment_accepted, payment_rejected
+from tpv.views import transaction_created, webhook, payment_accepted, payment_rejected, payment_form
app_name = "tpv"
@@ -9,4 +9,5 @@ urlpatterns = [
path("transaction//webhook/", webhook, name="webhook"),
path("transaction//ok/", payment_accepted, name="ok"),
path("transaction//ko/", payment_rejected, name="ko"),
+ path("transaction//form/", payment_form, name="payment_form"),
]
diff --git a/tpv/views.py b/tpv/views.py
index 31d4aeb..7db907e 100644
--- a/tpv/views.py
+++ b/tpv/views.py
@@ -2,6 +2,7 @@ from django.urls import reverse
from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render, get_object_or_404, redirect
from django.http.response import HttpResponse
+from django.views.generic import TemplateView
from tpv.forms import UpdateEmailForm
from tpv.models import PaymentTransaction
@@ -75,3 +76,24 @@ def transaction_created(request, transaction):
"redsys_target_url": client.get_target_url(),
},
)
+
+
+class PaymentFormView(TemplateView):
+ template_name = "tpv/form.html"
+
+ def get_context_data(self, transaction):
+ transaction = get_object_or_404(PaymentTransaction, hash=transaction)
+ client = RedsysClient()
+ parameters = client.get_body_for_transaction(transaction)
+ target_url = client.get_target_url()
+
+ return {
+ "order": transaction,
+ "signature_version": parameters.get("Ds_SignatureVersion"),
+ "merchant_parameters": parameters.get("Ds_MerchantParameters"),
+ "signature": parameters.get("Ds_Signature"),
+ "redsys_target_url": target_url,
+ }
+
+
+payment_form = PaymentFormView.as_view()