diff --git a/TransactionReporting/get-customer-profile-transaction-list.py b/TransactionReporting/get-customer-profile-transaction-list.py new file mode 100644 index 0000000..6705b19 --- /dev/null +++ b/TransactionReporting/get-customer-profile-transaction-list.py @@ -0,0 +1,44 @@ +import os, sys +import imp + +from authorizenet import apicontractsv1 +from authorizenet.apicontrollers import * +constants = imp.load_source('modulename', 'constants.py') +from decimal import * + +def get_customer_profile_transaction_list(customerProfileId): + merchantAuth = apicontractsv1.merchantAuthenticationType() + merchantAuth.name = constants.apiLoginId + merchantAuth.transactionKey = constants.transactionKey + + transactionListForCustomerRequest = apicontractsv1.getTransactionListForCustomerRequest() + transactionListForCustomerRequest.merchantAuthentication = merchantAuth + transactionListForCustomerRequest.customerProfileId = customerProfileId + + transactionListForCustomerController = getTransactionListForCustomerController(transactionListForCustomerRequest) + + transactionListForCustomerController.execute() + + transactionListForCustomerResponse = transactionListForCustomerController.getresponse() + + if transactionListForCustomerResponse is not None: + if transactionListForCustomerResponse.messages.resultCode == apicontractsv1.messageTypeEnum.Ok: + print('Successfully got transaction list!') + + for transaction in transactionListForCustomerResponse.transactions.transaction: + print('Transaction Id : %s' % transaction.transId) + print('Transaction Status : %s' % transaction.transactionStatus) + print('Amount Type : %s' % transaction.accountType) + print('Settle Amount : %s' % transaction.settleAmount) + + if transactionListForCustomerResponse.messages is not None: + print('Message Code : %s' % transactionListForCustomerResponse.messages.message[0]['code'].text) + print('Message Text : %s' % transactionListForCustomerResponse.messages.message[0]['text'].text) + else: + if transactionListForCustomerResponse.messages is not None: + print('Failed to get transaction list.\nCode:%s \nText:%s' % (transactionListForCustomerResponse.messages.message[0]['code'].text,transactionListForCustomerResponse.messages.message[0]['text'].text)) + + return transactionListForCustomerResponse + +if(os.path.basename(__file__) == os.path.basename(sys.argv[0])): + get_customer_profile_transaction_list('36152127') diff --git a/TransactionReporting/get-transaction-details.py b/TransactionReporting/get-transaction-details.py index fc36f2a..d4398dd 100644 --- a/TransactionReporting/get-transaction-details.py +++ b/TransactionReporting/get-transaction-details.py @@ -32,12 +32,14 @@ def get_transaction_details(transId): print('Settle Amount : %s' % transactionDetailsResponse.transaction.settleAmount) if hasattr(transactionDetailsResponse.transaction, 'tax') == True: print('Tax : %s' % transactionDetailsResponse.transaction.tax.amount) + if hasattr(transactionDetailsResponse.transaction, 'profile'): + print('Customer Profile Id : %s' % transactionDetailsResponse.transaction.profile.customerProfileId) - if transactionDetailsResponse.messages: + if transactionDetailsResponse.messages is not None: print('Message Code : %s' % transactionDetailsResponse.messages.message[0]['code'].text) print('Message Text : %s' % transactionDetailsResponse.messages.message[0]['text'].text) else: - if transactionDetailsResponse.messages: + if transactionDetailsResponse.messages is not None: print('Failed to get transaction details.\nCode:%s \nText:%s' % (transactionDetailsResponse.messages.message[0]['code'].text,transactionDetailsResponse.messages.message[0]['text'].text)) return transactionDetailsResponse diff --git a/TransactionReporting/get-transaction-list.py b/TransactionReporting/get-transaction-list.py index af95cea..9dc6438 100644 --- a/TransactionReporting/get-transaction-list.py +++ b/TransactionReporting/get-transaction-list.py @@ -30,6 +30,8 @@ def get_transaction_list(): print('Transaction Status : %s' % transaction.transactionStatus) print('Amount Type : %s' % transaction.accountType) print('Settle Amount : %s' % transaction.settleAmount) + if hasattr(transaction, 'profile'): + print('Customer Profile Id : %s' % transaction.profile.customerProfileId) if transactionListResponse.messages is not None: print('Message Code : %s' % transactionListResponse.messages.message[0]['code'].text) diff --git a/TransactionReporting/get-unsettled-transaction-list.py b/TransactionReporting/get-unsettled-transaction-list.py index 9a7c7ff..9829e58 100644 --- a/TransactionReporting/get-unsettled-transaction-list.py +++ b/TransactionReporting/get-unsettled-transaction-list.py @@ -29,12 +29,14 @@ def get_unsettled_transaction_list(): print('Transaction Status : %s' % transaction.transactionStatus) print('Amount Type : %s' % transaction.accountType) print('Settle Amount : %s' % transaction.settleAmount) + if hasattr(transaction, 'profile'): + print('Customer Profile Id : %s' % transaction.profile.customerProfileId) - if unsettledTransactionListResponse.messages: + if unsettledTransactionListResponse.messages is not None: print('Message Code : %s' % unsettledTransactionListResponse.messages.message[0]['code'].text) print('Message Text : %s' % unsettledTransactionListResponse.messages.message[0]['text'].text) else: - if unsettledTransactionListResponse.messages: + if unsettledTransactionListResponse.messages is not None: print('Failed to get unsettled transaction list.\nCode:%s \nText:%s' % (unsettledTransactionListResponse.messages.message[0]['code'].text,unsettledTransactionListResponse.messages.message[0]['text'].text)) return unsettledTransactionListResponse diff --git a/list_of_sample_codes.txt b/list_of_sample_codes.txt index f083ab8..016b08d 100644 --- a/list_of_sample_codes.txt +++ b/list_of_sample_codes.txt @@ -47,6 +47,7 @@ get_batch_statistics 1 1 get_settled_batch_list 1 1 get_transaction_details 1 0 get_transaction_list 1 1 +get_transaction_list_for_customer 1 1 get_unsettled_transaction_list 1 0 create_visa_checkout_transaction 1 0 decrypt_visa_checkout_data 1 0