Skip to content

Commit

Permalink
Fix authorizenet payment gateway - EDLY-5499 (#126)
Browse files Browse the repository at this point in the history
Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-00933.local>
  • Loading branch information
taimoor-ahmed-1 and Taimoor Ahmed authored Apr 18, 2023
1 parent b2412cc commit 39009d5
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 10 deletions.
6 changes: 3 additions & 3 deletions ecommerce/extensions/payment/processors/authorizenet.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
""" AuthorizeNet payment processor. """
from __future__ import absolute_import, unicode_literals

import base64
import json
import logging
from urllib.parse import quote

from authorizenet import apicontractsv1
from authorizenet.apicontrollers import (
Expand Down Expand Up @@ -62,12 +62,12 @@ def get_authorizenet_payment_settings(self, basket):
Visit https://developer.authorize.net/api/reference/features/accept_hosted.html for more detail.
"""
course_id = basket.all_lines()[0].product.course_id
course_id_hash = base64.b64encode(course_id.encode())
course_id_url_encoded = quote(course_id)

redirect_url = reverse('authorizenet:redirect')
ecommerce_base_url = get_ecommerce_url()

return_url = '{}{}?course={}'.format(ecommerce_base_url, redirect_url, course_id_hash)
return_url = '{}{}?course={}'.format(ecommerce_base_url, redirect_url, course_id_url_encoded)

# Create Authorizenet Settings object
payment_button_setting = apicontractsv1.settingType()
Expand Down
6 changes: 4 additions & 2 deletions ecommerce/extensions/payment/views/authorizenet.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from __future__ import unicode_literals

import base64
import logging

from django.conf import settings
Expand Down Expand Up @@ -245,8 +246,9 @@ def handle_redirection(request):
lms_dashboard = get_lms_dashboard_url()
response = redirect(lms_dashboard)

course_id_hash = request.GET.get('course')
if course_id_hash:
course_id = request.GET.get('course')
if course_id:
course_id_hash = base64.b64encode(course_id.encode())
response.set_cookie('pendingTransactionCourse', course_id_hash, domain=domain)

return response
2 changes: 1 addition & 1 deletion requirements/base.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-c pins.txt

authorizenet==1.1.3
authorizenet==1.1.4
analytics-python
bleach
coreapi
Expand Down
2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ amqp==1.4.9 # via kombu
analytics-python==1.2.9 # via -r requirements/base.in
anyjson==0.3.3 # via kombu
appdirs==1.4.3 # via zeep
authorizenet==1.1.3
authorizenet==1.1.4
attrs==19.3.0 # via zeep
babel==2.8.0 # via django-oscar, django-phonenumber-field
billiard==3.3.0.23 # via celery
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ analytics-python==1.2.9 # via -r requirements/test.txt
anyjson==0.3.3 # via -r requirements/test.txt, kombu
appdirs==1.4.3 # via -r requirements/test.txt, zeep
astroid==2.3.3 # via -r requirements/test.txt, pylint
authorizenet==1.1.3
authorizenet==1.1.4
attrs==19.3.0 # via -r requirements/test.txt, pytest, zeep
babel==2.8.0 # via -r requirements/docs.txt, -r requirements/test.txt, django-oscar, django-phonenumber-field, sphinx
beautifulsoup4==4.9.0 # via -r requirements/test.txt, webtest
Expand Down
2 changes: 1 addition & 1 deletion requirements/production.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ analytics-python==1.2.9 # via -r requirements/base.in
anyjson==0.3.3 # via kombu
appdirs==1.4.3 # via zeep
attrs==19.3.0 # via zeep
authorizenet==1.1.3
authorizenet==1.1.4
babel==2.8.0 # via django-oscar, django-phonenumber-field
billiard==3.3.0.23 # via celery
bleach==3.1.4 # via -r requirements/base.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ anyjson==0.3.3 # via -r requirements/base.txt, kombu
appdirs==1.4.3 # via -r requirements/base.txt, zeep
astroid==2.3.3 # via pylint
attrs==19.3.0 # via -r requirements/base.txt, -r requirements/e2e.txt, pytest, zeep
authorizenet==1.1.3
authorizenet==1.1.4
babel==2.8.0 # via -r requirements/base.txt, django-oscar, django-phonenumber-field
beautifulsoup4==4.9.0 # via webtest
billiard==3.3.0.23 # via -r requirements/base.txt, celery
Expand Down

0 comments on commit 39009d5

Please sign in to comment.