1+ import os , sys
2+ import imp
3+
4+ from authorizenet import apicontractsv1
5+ from authorizenet .apicontrollers import *
6+ constants = imp .load_source ('modulename' , 'constants.py' )
7+ from decimal import *
8+
9+ def update_held_transaction (transactionId ):
10+ merchantAuth = apicontractsv1 .merchantAuthenticationType ()
11+ merchantAuth .name = constants .apiLoginId
12+ merchantAuth .transactionKey = constants .transactionKey
13+
14+ requesttype = apicontractsv1 .heldTransactionRequestType ()
15+ requesttype .action = "approve"
16+ requesttype .refTransId = transactionId
17+
18+ transactionrequest = apicontractsv1 .updateHeldTransactionRequest ()
19+ transactionrequest .merchantAuthentication = merchantAuth
20+ transactionrequest .heldTransactionRequest = requesttype
21+
22+ transactionRequestController = updateHeldTransactionController (transactionrequest )
23+ transactionRequestController .execute ()
24+
25+ response = transactionRequestController .getresponse ()
26+
27+ if response is not None :
28+ if response .messages .resultCode == "Ok" :
29+ if hasattr (response .transactionResponse , 'messages' ) == True :
30+ print ('Successfully updated transaction with Transaction ID: %s' % response .transactionResponse .transId );
31+ print ('Transaction Response Code: %s' % response .transactionResponse .responseCode );
32+ print ('Message Code: %s' % response .transactionResponse .messages .message [0 ].code );
33+ print ('Description: %s' % response .transactionResponse .messages .message [0 ].description );
34+ else :
35+ print ('Failed Transaction.' );
36+ if hasattr (response .transactionResponse , 'errors' ) == True :
37+ print ('Error Code: %s' % str (response .transactionResponse .errors .error [0 ].errorCode ));
38+ print ('Error message: %s' % response .transactionResponse .errors .error [0 ].errorText );
39+ else :
40+ print ('Failed Transaction.' );
41+ if hasattr (response , 'transactionResponse' ) == True and hasattr (response .transactionResponse , 'errors' ) == True :
42+ print ('Error Code: %s' % str (response .transactionResponse .errors .error [0 ].errorCode ));
43+ print ('Error message: %s' % response .transactionResponse .errors .error [0 ].errorText );
44+ else :
45+ print ('Error Code: %s' % response .messages .message [0 ]['code' ].text );
46+ print ('Error message: %s' % response .messages .message [0 ]['text' ].text );
47+ else :
48+ print ('Null Response.' );
49+
50+ return response
51+
52+ if (os .path .basename (__file__ ) == os .path .basename (sys .argv [0 ])):
53+ update_held_transaction (constants .transactionId )
0 commit comments