Add and event when the keep-alive timer expires.
Add class property to prevent data from actually being sent. This is for testing.
Look for the transactions in the ComplexJob from appInstance rather than HTTPRequest.
Add new class properties $auto_submit_draft (Bool) and $auto_submit_time (Int). These control if and when to auto check for pending transactions and submit them.
Add method to save all transactions and compare new to ensure duplicates are not sent.
Add method to begin the draft process. This gets called automatically if the auto_submit_* fields and set.
Add an event handler to listen for the keep-alive timeout firing.
Set the $original_trans_id default to -1.
Fix PHP warning.
Better handle the zero dollar AVS/CVC/CVV2 transaction type.
Fix a PHP warning.
Remove the code to create jobs and queries. Use the function on the appInstance class.
Update to allow the transaction table name to be passed to the functions.
Add method to build a query to insert a duplicate transaction into the DB.
Fill out the completeREsponseMsg() that rebuilds the ISO8583 object from a response packet.
Add method createRefundTransaction(). It takes a DB record ID and send in a refund for that transaction.
Split the determination of the result value for SQL queries into a function. This is called from several places.
Change the executeQuery() method to allow passing of a call back.
Add processDraft() method. This will start the transaction processing. It can be set to call automatically.
Remove one log line that caused ~100 lines of log output for each transaction.
Add a note that AmericanExpress cards do not have card specific tables.
Reset values to production settings.
Call the keep-alive timer even when not sending data. This makes the test code perform more like production.
Add support for web socket command "refund_trans"