A Python 3 client library for the PayTrace Payment Gateway public API.
The PayTrace API is documented in a single PDF file available here: https://paytrace.com/manuals/PayTraceAPIUserGuideXML.pdf (dated July, 2011).
API usage example ----------------- % python3 -i paytrace.py To explore the API, run 'python3 -i paytrace.py', then call the _test() function. By default, credentials for the PayTrace demo account are in effect. >>> set_credentials('demo123', 'demo123') >>> # now you call _test()... >>> _test() === API usage example === >>> # 1. Set credentials for the PayTrace demo account. >>> set_credentials('demo123', 'demo123') >>> # 2. Sending Authorization request to PayTrace demo account... >>> authorization = Authorization( ... amount='1.00', ... cc='4012881888818888', ... expmnth='01', ... expyr='15', ... csc='999', ... baddress='123 Main St.', ... bzip='53719', ... invoice='8888', ... ) >>> response = send_api_request(authorization) >>> response {'AVSRESPONSE': 'No Match', 'APPCODE': 'TAS113', 'APPMSG': ' NO MATCH - Approved and completed', 'CSCRESPONSE': 'Match', 'TRANSACTIONID': '26303013', 'RESPONSE': '101. Your transaction was successfully approved.'} >>> # 3. Grab the transaction ID from the response. >>> transactionid = response['TRANSACTIONID'] >>> # 4. Sending Void request to cancel authorization... >>> void = Void( tranxid=transactionid ) >>> response = send_api_request(void) >>> response {'TRANSACTIONID': '26303013', 'RESPONSE': '109. Your transaction was successfully voided.'} === end API usage example === Type <enter> to continue... # NOTE: To explore more of the API, run dir() to see what's in the current # namespace. To see the required and optional fields for a particular # request class, print it's repr. For example, >>> Sale # Note: if using ipython, you'll need to use repr(Sale) instead Sale( # Required fields amount='', # Required if using CC cc='', expmnth='', expyr='', # Required if using SWIPE swipe='', # Required if using CUSTID custid='', # Customer-defined discretionary data may also be included. # Optional fields bname='', baddress='', baddress2='', bcity='', bstate='', bzip='', bcountry='', sname='', saddress='', saddress2='', scity='', scounty='', sstate='', szip='', scountry='', email='', csc='', invoice='', description='', tax='', custref='', returnclr='', customdba='', enablepartialauth='', test='', ) >>>