Skip to main content

Maintain a POS log

As a POS partner, establish a comprehensive set of best practices for logging. Maintain a POS log to ensure the integrity of the payment system connecting your POS with our Payment Terminal Application.

On the payment device, log retention is typically restricted to a number of days in production, which highlights the importance of robust logging practices for the POS. Log retention enhances the debugging capabilities of the POS system. When primary logs are overwritten due to retention constraints, logs maintained by the POS software become invaluable. POS logs provide a secondary source of information instrumental to diagnose and resolve operational issues. For example, if a payment device encounters an unexpected error, the integrator can share access to POS logs, allowing an integration specialist to trace the sequence of events leading to the issue. Detailed logs make swift and accurate identification of the root cause possible, minimize downtime, and ensure a seamless payment experience for the client.

Logging practices foster a proactive approach to system maintenance and enable your teams to anticipate potential issues and implement preventative measures. A proactive approach contributes to the reliability and efficiency of the POS payment infrastructure. Prioritizing comprehensive logging enhances troubleshooting capabilities and reinforces the overall resilience of payment systems in the field. Meticulous logging practices by the POS developer are fundamental to project initiation.

With proper logging practices, you provide a safety net for debugging, support operational continuity, and maintain the standard of service expected by our shared clients and partners.

Log events

Session management

  • Connection establishment
    • Detailed logging: In addition to logging the IP, port, and protocol, log a timestamp of connection establishment, the connection type (for example, secure or non-secure), and authentication details.
    • Connection context: Log the context or purpose of the connection (for example, transaction, parameter update, or maintenance such as rebooting the pinpad).
  • Connection closure
    • Closure reason: Capture and log the specific reason for connection closure, such as timeout, manual termination, or error-induced closure.
    • Closure impact: Assess and log the impact of the closure on ongoing transactions or operations, if applicable.
  • Session duration
    • Duration tracking: Log the duration of each session to identify patterns or anomalies in connection or transaction processing times.

Error handling

  • Connection exceptions
    • Categorization: Categorize exceptions into types (for example, network-related and authentication-related) and log them accordingly.
    • Resolution attempts: Log automatic or manual attempts to resolve connection issues, including retries or alternative connection methods.
  • Transaction errors
    • Detailed error codes: Include detailed error codes and descriptions for transaction errors to facilitate troubleshooting with Chase support or integration teams.
    • User impact: Log the impact of transaction errors on the user experience, such as delays or failed transactions.
  • Non-transaction API errors
    • API endpoint details: Log the specific API endpoint and request parameters that led to the error.
    • Error resolution: Document the steps taken to resolve API errors, including retries or alternative approaches.
  • Transaction logging
    • Comprehensive data: Log all relevant transaction data, including the masked card number, additional metadata, and the following fields: approval, authCode, authorizedAmount, date, time, hostError, and transactionID.
    • Transaction lifecycle: To resolve issues more quickly, log the entire lifecycle of a transaction, from initiation to completion, including intermediate steps or checks. Include information such as the start of a payment session, the payment request, the payment approval or decline, and the response or error received from the host.
  • Certificate management
    • Interaction details: Log detailed interactions related to certificate management, including certificate issuance, renewal, and expiration. Refer to Certificate handling.
    • Security implications: Document the security implications or changes resulting from certificate management activities.

Retain logs

  • Retention policy
    • Duration and volume: Define clear policies for how long to retain logs and the maximum number of log files to store before purging or overwriting.
    • Compliance: Ensure log retention policies comply with relevant regulations and standards, such as PCI DSS for payment systems.
  • Archiving and backup
    • Archiving strategy: Implement an archiving strategy for older logs, ensuring archived logs are stored securely and easily retrievable.
    • Backup procedures: Establish regular backup procedures for logs to prevent data loss.

Example

Refer to the following example of POS log output.

Plaintext
Jun 11, 2025 10:19:28 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:28.498] Attempting connection to: wss://192.168.1.9:8443
Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.166] Connected to wss://192.168.1.9:8443
Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.167] Requesting Version Info: {"operation":"GetInformation"}
Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.174] Received: {"operation":"status","context":"Maintenance","result":"101"}

Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.175] {"result":"101","context":"Maintenance","operation":"status"}
Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.267] Received: {"information":{"batteryPercent":32,"buildNumber":"1.12.0","extraInfo":{"ICCID":"","PayComponentVersion":"0","SecfwVersion":"01.09.11.00010","ROMVersion":"1.12.0","ProcessorInfo":"Qualcomm Technologies, Inc QCM2150","Mode":"3","IMEI":"86969999999996","BasebandVersion":"19080.4000.00.03.01.62,19080.4000.00.03.01.62","HardwareVersion":"0","HardWareSn":"S6EX800052Q95C\u003c227FHU80976100000","isOvsTerm":"true","TerminalType":"EX8000","AndroidKernelVersion":"4.9.217","BootVersion":"1.1.2\n2023-06-30 13:40","IMSI":"","Manufacture":"ingenico","pn":"TMT52012319B","CSN":""},"firmwareVersion":"AND-Q4-ALPHA","isCharging":true,"isPersonalized":"1","model":"EX8000","readerName":"EX8000","serialNumber":"227FHU809761","serialNumberUnformatted":"","versionCTLS":"","versionCoreLibraryCAM":"","versionLibraryEMV":"","versionOS":"10"},"merchantID":"9999999","operation":"GetInformation","result":"0","terminalID":"001"}

Jun 11, 2025 10:19:30 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:30.267] Terminal Serial Number: 227FHU809761
Jun 11, 2025 10:19:40 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:40.792] Sent: {"requestedAmount":"100","invoice":"1","type":"SALE","operation":"Transaction"}
Jun 11, 2025 10:19:41 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:41.244] Received: {"context":"CardPrompt","merchantID":"9999999","operation":"Status","result":"51","terminalID":"001","type":"SALE"}

Jun 11, 2025 10:19:44 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:44.357] Received: {"context":"CardPrompt","merchantID":"9999999","operation":"Status","result":"32","terminalID":"001","type":"SALE"}

Jun 11, 2025 10:19:44 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:44.449] Received: {"context":"Communication","merchantID":"9999999","operation":"Status","result":"58","terminalID":"001","type":"SALE"}

Jun 11, 2025 10:19:46 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:46.613] Received: {"context":"Communication","merchantID":"9999999","operation":"Status","result":"25","terminalID":"001","type":"SALE"}

Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.925] Received: {"AC":"F5A0EA95A3078B58","AID":"A0000000031010","ARC":"3030","IAD":"06010A03A00000","PARData":"V0010013018037103627480477422","TSI":"0000","TVR":"0000000000","account":"476173******0011","accountType":"0","approval":"approved","approvalMode":"ISSUER","authCode":"036878","authorizedAmount":"100","balance":"0","batchJulianDay":"25162","batchNumber":"000001","cardBrand":"VISA","cardToken":"4761733525340011","cardTypeProcessed":"1","cardholderLanguage":"en","cardholderReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:43\nInvoice: 1\n\n              SALE\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000001\nBatch#: 162-001\nApproval Code: 036878\nVISA CREDIT\nAID: A0000000031010\n\nTVR: 0000000000\nIAD: 06010A03A00000\nTSI: 0000\nARC: 3030\n\n          Customer copy\n            Thank You\n        Please Come Again\n","cashbackAmount":"0","commercialCardType":"-1","currencyCode":"USD","cvm":"NO CVM","dateTime":"06-11-2025 10:19:43","dccBillingAmount":"0","dccExchangeRate":"0.0","dccIndicator":"0","demoMode":"no","dueAmount":"0","emvTags":[{"description":"pan_desc","tag":"5A","value":""},{"description":"application_label_desc","tag":"50","value":"VISA CREDIT"},{"description":"aip_desc","tag":"82","value":"2000"},{"description":"ddf_desc","tag":"84","value":"A0000000031010"},{"description":"trans_date_desc","tag":"9A","value":"250611"},{"description":"trans_time_desc","tag":"9F21","value":"101942"},{"description":"trans_type_desc","tag":"9C","value":"00"},{"description":"pan_sequence_num_desc","tag":"5F34","value":"01"},{"description":"currency_code_desc","tag":"5F2A","value":"0124"},{"description":"amount_auth_desc","tag":"9F02","value":"000000000100"},{"description":"amount_other_desc","tag":"9F03","value":"000000000000"},{"description":"icc_app_version_desc","tag":"9F08","value":""},{"description":"term_app_version_desc","tag":"9F09","value":"0096"},{"description":"term_country_code_desc","tag":"9F1A","value":"0124"},{"description":"term_capabilities_desc","tag":"9F33","value":"E028C8"},{"description":"cvm_results_desc","tag":"9F34","value":""},{"description":"terminal_type_desc","tag":"9F35","value":"22"},{"description":"atc_desc","tag":"9F36","value":"017B"},{"description":"unpredictable_num_desc","tag":"9F37","value":"30DFB3B0"},{"description":"iac_denial_desc","tag":"9F0D","value":""},{"description":"iac_online_desc","tag":"9F0E","value":""},{"description":"iac_default_desc","tag":"9F0F","value":""},{"description":"tvr_gen_ac1_desc","tag":"95","value":"0000000000"},{"description":"issuer_apl_data_desc","tag":"9F10","value":"06010A03A00000"},{"description":"application_cryptogram_1_desc","tag":"9F26","value":"F5A0EA95A3078B58"},{"description":"cid1_desc","tag":"9F27","value":"80"},{"description":"iad_desc","tag":"91","value":"236B1F78B81BB7913030"},{"description":"tvr_gen_ac2_desc","tag":"DF9500","value":""},{"description":"application_cryptogram_2_desc","tag":"DF9F26","value":""},{"description":"cid2_desc","tag":"DF9F27","value":""},{"description":"auth_response_code_desc","tag":"8A","value":""},{"description":"tsi_desc","tag":"9B","value":"0000"}],"entryMode":"Contactless","expDate":"3112","footerLine1":"Thank You","footerLine2":"Please Come Again","hostError":"00000","invoice":"1","merchantID":"9999999","merchantReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:43\nInvoice: 1\n\n              SALE\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000001\nBatch#: 162-001\nApproval Code: 036878\nVISA CREDIT\nAID: A0000000031010\n\nTVR: 0000000000\nIAD: 06010A03A00000\nTSI: 0000\nARC: 3030\n\n          Merchant copy\n            Thank You\n        Please Come Again\n","operation":"Transaction","preferredName":"VISA CREDIT","reference":"000000101943","requestedAmount":"100","responseCode":"00","result":"0","shift":"0","signatureRequired":"no","subTotalAmount":"100","surchargeAmount":"0","surchargeFixed":"0","surchargePercentage":"0","table":"0","taxAmount":"0","terminalID":"001","tipAmount":"0","totalAmount":"100","transactionID":"1620000011000001","transactionType":"SALE","type":"SALE","uniqueTransactionId":"700000014599001174965158300100"}

Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.932] Sale transaction response received.

Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.935] Test Sale Response: {"dccBillingAmount":"0","shift":"0","cashbackAmount":"0","footerLine2":"Please Come Again","footerLine1":"Thank You","type":"SALE","cardToken":"4761733525340011","expDate":"3112","responseCode":"00","hostError":"00000","reference":"000000101943","TVR":"0000000000","balance":"0","authorizedAmount":"100","dccIndicator":"0","preferredName":"VISA CREDIT","AID":"A0000000031010","cardBrand":"VISA","batchNumber":"000001","dccExchangeRate":"0.0","subTotalAmount":"100","AC":"F5A0EA95A3078B58","accountType":"0","demoMode":"no","TSI":"0000","IAD":"06010A03A00000","merchantReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:43\nInvoice: 1\n\n              SALE\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000001\nBatch#: 162-001\nApproval Code: 036878\nVISA CREDIT\nAID: A0000000031010\n\nTVR: 0000000000\nIAD: 06010A03A00000\nTSI: 0000\nARC: 3030\n\n          Merchant copy\n            Thank You\n        Please Come Again\n","totalAmount":"100","ARC":"3030","requestedAmount":"100","taxAmount":"0","dateTime":"06-11-2025 10:19:43","surchargeAmount":"0","PARData":"V0010013018037103627480477422","transactionID":"1620000011000001","result":"0","approvalMode":"ISSUER","batchJulianDay":"25162","commercialCardType":"-1","cvm":"NO CVM","table":"0","entryMode":"Contactless","authCode":"036878","surchargePercentage":"0","tipAmount":"0","approval":"approved","cardholderReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:43\nInvoice: 1\n\n              SALE\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000001\nBatch#: 162-001\nApproval Code: 036878\nVISA CREDIT\nAID: A0000000031010\n\nTVR: 0000000000\nIAD: 06010A03A00000\nTSI: 0000\nARC: 3030\n\n          Customer copy\n            Thank You\n        Please Come Again\n","terminalID":"001","transactionType":"SALE","surchargeFixed":"0","uniqueTransactionId":"700000014599001174965158300100","dueAmount":"0","merchantID":"9999999","cardholderLanguage":"en","signatureRequired":"no","cardTypeProcessed":"1","emvTags":[{"description":"pan_desc","tag":"5A","value":""},{"description":"application_label_desc","tag":"50","value":"VISA CREDIT"},{"description":"aip_desc","tag":"82","value":"2000"},{"description":"ddf_desc","tag":"84","value":"A0000000031010"},{"description":"trans_date_desc","tag":"9A","value":"250611"},{"description":"trans_time_desc","tag":"9F21","value":"101942"},{"description":"trans_type_desc","tag":"9C","value":"00"},{"description":"pan_sequence_num_desc","tag":"5F34","value":"01"},{"description":"currency_code_desc","tag":"5F2A","value":"0124"},{"description":"amount_auth_desc","tag":"9F02","value":"000000000100"},{"description":"amount_other_desc","tag":"9F03","value":"000000000000"},{"description":"icc_app_version_desc","tag":"9F08","value":""},{"description":"term_app_version_desc","tag":"9F09","value":"0096"},{"description":"term_country_code_desc","tag":"9F1A","value":"0124"},{"description":"term_capabilities_desc","tag":"9F33","value":"E028C8"},{"description":"cvm_results_desc","tag":"9F34","value":""},{"description":"terminal_type_desc","tag":"9F35","value":"22"},{"description":"atc_desc","tag":"9F36","value":"017B"},{"description":"unpredictable_num_desc","tag":"9F37","value":"30DFB3B0"},{"description":"iac_denial_desc","tag":"9F0D","value":""},{"description":"iac_online_desc","tag":"9F0E","value":""},{"description":"iac_default_desc","tag":"9F0F","value":""},{"description":"tvr_gen_ac1_desc","tag":"95","value":"0000000000"},{"description":"issuer_apl_data_desc","tag":"9F10","value":"06010A03A00000"},{"description":"application_cryptogram_1_desc","tag":"9F26","value":"F5A0EA95A3078B58"},{"description":"cid1_desc","tag":"9F27","value":"80"},{"description":"iad_desc","tag":"91","value":"236B1F78B81BB7913030"},{"description":"tvr_gen_ac2_desc","tag":"DF9500","value":""},{"description":"application_cryptogram_2_desc","tag":"DF9F26","value":""},{"description":"cid2_desc","tag":"DF9F27","value":""},{"description":"auth_response_code_desc","tag":"8A","value":""},{"description":"tsi_desc","tag":"9B","value":"0000"}],"invoice":"1","currencyCode":"USD","operation":"Transaction","account":"476173******0011"}

Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.936] Test sale approved. Proceeding with void transaction for authCode: 036878

Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.936] Attempting to void Test Sale...
Jun 11, 2025 10:19:47 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:47.938] Void Test Sale JSON: {"type":"VOID","operation":"Transaction","originalAuthCode":"036878"}
Jun 11, 2025 10:19:50 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:50.945] Sent: {"type":"VOID","operation":"Transaction","originalAuthCode":"036878"}
Jun 11, 2025 10:19:50 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:50.948] Void request sent successfully.
Jun 11, 2025 10:19:50 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:50.953] Received: {"context":"Approval","merchantID":"9999999","operation":"Status","result":"59","terminalID":"001"}

Jun 11, 2025 10:19:50 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:50.962] Received: {"context":"Print","merchantID":"9999999","operation":"Status","result":"73","terminalID":"001"}

Jun 11, 2025 10:19:51 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:51.192] Received: {"context":"Communication","merchantID":"9999999","operation":"Status","result":"58","terminalID":"001","type":"VOID"}

Jun 11, 2025 10:19:52 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:52.473] Received: {"context":"Communication","merchantID":"9999999","operation":"Status","result":"25","terminalID":"001","type":"VOID"}

Jun 11, 2025 10:19:53 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:53.277] Received: {"account":"476173******0011","approval":"approved","authCode":"036878","authorizedAmount":"100","batchJulianDay":"25162","batchNumber":"000001","cardBrand":"VISA","cardToken":"4761733525340011","cardTypeProcessed":"1","cardholderReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:50\n\n              VOID\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000002\nBatch#: 162-001\nApproval Code: 036878\nAID: A0000000031010\n\n          Customer copy\n            Thank You\n        Please Come Again\n","currencyCode":"USD","dateTime":"06-11-2025 10:19:50","demoMode":"no","entryMode":"Contactless","expDate":"3112","footerLine1":"Thank You","footerLine2":"Please Come Again","merchantID":"9999999","merchantReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:50\n\n              VOID\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000002\nBatch#: 162-001\nApproval Code: 036878\nAID: A0000000031010\n\n          Merchant copy\n            Thank You\n        Please Come Again\n","operation":"Transaction","reference":"000000101943","requestedAmount":"100","responseCode":"00","result":"0","shift":"0","table":"0","taxAmount":"0","terminalID":"001","totalAmount":"100","transactionID":"1620000011000002","transactionType":"VOID","type":"VOID","uniqueTransactionId":"700000014599001174965159000000"}

Jun 11, 2025 10:19:53 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:53.278] Void transaction response received.

Jun 11, 2025 10:19:53 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:53.280] Void response received: {"dateTime":"06-11-2025 10:19:50","shift":"0","footerLine2":"Please Come Again","footerLine1":"Thank You","type":"VOID","cardToken":"4761733525340011","expDate":"3112","transactionID":"1620000011000002","responseCode":"00","reference":"000000101943","result":"0","batchJulianDay":"25162","authorizedAmount":"100","cardBrand":"VISA","table":"0","batchNumber":"000001","entryMode":"Contactless","authCode":"036878","approval":"approved","cardholderReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:50\n\n              VOID\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000002\nBatch#: 162-001\nApproval Code: 036878\nAID: A0000000031010\n\n          Customer copy\n            Thank You\n        Please Come Again\n","demoMode":"no","terminalID":"001","merchantReceipt":"\n\n\nMerc. ID: 9999999\nTerm. ID: 001\nRRN: 000000101943\nTax Number: 0\nWed,Jun 11,2025         10:19:50\n\n              VOID\n\n            APPROVED\n\n      No Signature Required\n\n      ****************0011\nVISA                 Contactless\n\nAMOUNT                     $1.00\nSUBTOTAL                   $1.00\n            ____________________\nTOTAL                      $1.00\n\nTran ID:1620000011000002\nBatch#: 162-001\nApproval Code: 036878\nAID: A0000000031010\n\n          Merchant copy\n            Thank You\n        Please Come Again\n","transactionType":"VOID","totalAmount":"100","uniqueTransactionId":"700000014599001174965159000000","merchantID":"9999999","cardTypeProcessed":"1","requestedAmount":"100","taxAmount":"0","currencyCode":"USD","operation":"Transaction","account":"476173******0011"}

Jun 11, 2025 10:19:53 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:53.291] Received: {"context":"Approval","merchantID":"9999999","operation":"Status","result":"59","terminalID":"001"}

Jun 11, 2025 10:19:54 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:54.723] Received: {"context":"Print","merchantID":"9999999","operation":"Status","result":"73","terminalID":"001"}

Jun 11, 2025 10:19:59 AM com.jpmc.ssl.server.WebSocketClientUI onLog
INFO: [2025-06-11 10:19:59.332] Disconnected by Client - Reason: Transaction Finished