diff --git a/example_project/templates/netaxept/after_auth.html b/example_project/templates/netaxept/after_auth.html deleted file mode 100644 index 227d432..0000000 --- a/example_project/templates/netaxept/after_auth.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

Transaction id: {{ transaction_id }}

- -

Response code: {{ response_code }}

- -

Payment authorized: {{ payment_authorized }}

- - - - diff --git a/example_project/templates/view_payment.html b/example_project/templates/view_payment.html index b713084..5590c7d 100644 --- a/example_project/templates/view_payment.html +++ b/example_project/templates/view_payment.html @@ -20,7 +20,7 @@

Operations

  • Authorize - Checkout
  • Authorize - Payment intents manual flow {% elif payment.gateway == 'netaxept' %} -
  • Register and Authorize
  • +
  • Register and Goto Terminal
  • {% if payment.token %}
  • Query
  • {% endif %} diff --git a/example_project/views/netaxept.py b/example_project/views/netaxept.py index fbe1af9..af5f259 100644 --- a/example_project/views/netaxept.py +++ b/example_project/views/netaxept.py @@ -15,12 +15,13 @@ from payment.gateways.netaxept import gateway_to_netaxept_config from payment.gateways.netaxept import netaxept_protocol from payment.models import Payment +from payment.utils import gateway_authorize logger = get_logger() @require_GET -def register_and_authorize(request: HttpRequest, payment_id: int) -> HttpResponse: +def register_and_goto_terminal(request: HttpRequest, payment_id: int) -> HttpResponse: """ Register the payment with netaxept, and take the user to the terminal page for payment authorization """ @@ -50,11 +51,15 @@ def after_terminal(request): response_code = request.GET['responseCode'] logger.info('netaxept-after-terminal', transaction_id=transaction_id, response_code=response_code) - payment_authorized = actions.verify_auth_transaction(transaction_id=transaction_id, response_code=response_code) + payment = Payment.objects.get(token=transaction_id) - return TemplateResponse(request, 'netaxept/after_auth.html', - {'transaction_id': transaction_id, 'response_code': response_code, - 'payment_authorized': payment_authorized}) + try: + gateway_authorize(payment=payment, payment_token=transaction_id) + except Exception as exc: + logger.error('netaxept after terminal', exc_info=exc) + return HttpResponse('Error authorizing {}: {}'.format(payment.id, exc)) + else: + return redirect('view_payment', payment_id=payment.id) def query(request: HttpRequest, transaction_id: str) -> HttpResponse: @@ -69,7 +74,7 @@ def query(request: HttpRequest, transaction_id: str) -> HttpResponse: urls = [ - path('register_and_authorize/', register_and_authorize, name='netaxept_register_and_authorize'), + path('register_and_goto_terminal/', register_and_goto_terminal, name='netaxept_register_and_goto_terminal'), path('after_terminal', after_terminal, name='netaxept_after_terminal'), path('query/', query, name='netaxept_query'), ]