Skip to content

Commit

Permalink
Fix authorizenet using sandbox env (#127)
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 May 15, 2023
1 parent 39009d5 commit 203b161
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
11 changes: 11 additions & 0 deletions ecommerce/extensions/payment/processors/authorizenet.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
getHostedPaymentPageController,
getTransactionDetailsController
)
from authorizenet.constants import constants
from django.urls import reverse
from oscar.apps.payment.exceptions import GatewayError
from oscar.core.loading import get_model
Expand Down Expand Up @@ -50,6 +51,7 @@ def __init__(self, site):
self.merchant_auth_name = configuration['merchant_auth_name']
self.transaction_key = configuration['transaction_key']
self.autorizenet_redirect_url = configuration['redirect_url']
self.authorizenet_production_mode = configuration['production_mode']

@property
def cancel_url(self):
Expand Down Expand Up @@ -123,6 +125,9 @@ def get_transaction_detail(self, transaction_id):
transaction_details_request.transId = transaction_id

transaction_details_controller = getTransactionDetailsController(transaction_details_request)
if self.authorizenet_production_mode:
transaction_details_controller.setenvironment(constants.PRODUCTION)

transaction_details_controller.execute()

transaction_details_response = transaction_details_controller.getresponse()
Expand Down Expand Up @@ -189,6 +194,9 @@ def get_transaction_parameters(self, basket, request=None, use_client_side_check
transaction_request.lineItems = line_items_list

payment_page_controller = getHostedPaymentPageController(payment_page_request)
if self.authorizenet_production_mode:
payment_page_controller.setenvironment(constants.PRODUCTION)

payment_page_controller.execute()

payment_page_response = payment_page_controller.getresponse()
Expand Down Expand Up @@ -310,6 +318,9 @@ def issue_credit(self, order_number, basket, reference_number, amount, currency)

create_transaction_request.transactionRequest = transaction_request
create_transaction_controller = createTransactionController(create_transaction_request)
if self.authorizenet_production_mode:
create_transaction_controller.setenvironment(constants.PRODUCTION)

create_transaction_controller.execute()

response = create_transaction_controller.getresponse()
Expand Down
3 changes: 2 additions & 1 deletion ecommerce/settings/_oscar.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@
'cancel_checkout_path': PAYMENT_PROCESSOR_CANCEL_PATH,
'merchant_auth_name': None,
'transaction_key': None,
'redirect_url': None
'redirect_url': None,
'production_mode': False,
}
},
}
Expand Down
3 changes: 2 additions & 1 deletion ecommerce/settings/production.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ def get_env_setting(setting):
authorizenet_dict = {
'merchant_auth_name': config_from_yaml.get('AUTHORIZENET_MERCHANT_AUTH_NAME'),
'transaction_key': config_from_yaml.get('AUTHORIZENET_TRANSACTION_KEY'),
'redirect_url': config_from_yaml.get('AUTHORIZENET_REDIRECT_URL')
'redirect_url': config_from_yaml.get('AUTHORIZENET_REDIRECT_URL'),
'production_mode': config_from_yaml.get('AUTHORIZENET_PRODUCTION')
}
PAYMENT_PROCESSOR_CONFIG['edx'].update({'authorizenet': authorizenet_dict})

Expand Down

0 comments on commit 203b161

Please sign in to comment.