Handling Cancellation in ECR-Integrated Terminal

Overview

A cancelled transaction means the payment was not completed or authorized. This occurs when the transaction is aborted manually or interrupted automatically before a successful approval or decline message is received from the payment processor.

When an Electronic Cash Register (ECR) is integrated with Maya Terminals, cancellations can lead to status mismatches between:

  • Electronic Cash Register (ECR)
  • Maya Terminal (via ECR App and ONE App)
  • Maya Payments backend

These mismatches typically happen when the cancellation occurs mid-transaction, after initiation but before confirmation.


When Does Cancellation Happen

A transaction can be cancelled at any point before completion. Below are typical scenarios where a cancellation occurs:

Trigger PointExample Scenario
Cashier action on ECRCashier presses Cancel or exits the transaction window before completion.
Customer action on TerminalCardholder presses Cancel or Back during payment.
Transaction voided prematurelyECR issues a Void command while the terminal is still processing the request.
System timeoutThe transaction exceeds the response time limit defined by Maya ONE App or ECR Plugin.

Common Cancellation Cause

DescriptionPossible Scenario
Timeout (Allotted time by Maya ONE App)Transaction exceeded the allowed processing time.
Connection Error / Send ErrorNetwork interruption between ECR and Maya Terminal.
Need to Settle Now / LaterThe terminal requires settlement before new transactions can proceed.
Invalid AmountAmount sent from ECR is 0 or exceeds transaction limits.
Card Declined / Expired / Unsupported / InvalidCard was rejected by the issuing bank or not supported.
User CancelledCustomer or cashier manually aborted the transaction.

Impact

  • No funds are captured or held.
  • Transaction is not authorized by Maya or the issuing bank.
  • ECR must not record the transaction as successful.
  • Cancellation status may differ temporarily between ECR, terminal, and backend logs.

Troubleshooting and Handling

Follow these steps to confirm and properly handle a cancelled transaction:

Step 1: Verify ECR Logs

  1. Check if the transaction status is marked as CANCELLED.
  2. Confirm that no approval code was generated.
  3. Ensure that no settlement record was created for the transaction.

If an approval code exists, the transaction may have been completed. Verify with Maya Business Manager.

Step 2: Review Terminal and Communication Status

  1. Check the terminal screen for any residual messages (e.g., “Transaction Cancelled” or “Timeout”).
  2. Inspect USB/COM connections:
    • Confirm correct port configuration.
    • Reconnect cable and verify that the ECR Plugin re-establishes the session.
  3. Ensure the terminal apps (ECR App or Maya ONE App) is running and paired properly.

Step 3: Check Network Stability

  1. Test connectivity between the ECR host and Maya Terminal.
  2. If the issue repeats:
    • Restart the ECR Plugin.
    • Restart the Maya Terminal (Sunmi / PAX).
  3. Ensure no firewall or proxy is blocking communication between the systems.

Step 4: Retry or Reprocess

Once the issue has been confirmed and resolved:

  1. Retry the transaction from the ECR.
  2. Verify that the new attempt completes successfully and the terminal prints an APPROVED receipt.
  3. Confirm that both ECR and Maya records now show consistent statuses.

Developer Tips

  • Always capture and store ECR Plugin and Terminal logs for reference.
  • Use the ECR Simulator Tool during testing to replicate cancellation scenarios.
  • Implement logic in your ECR system to:
    • Detect incomplete transactions.
    • Retry automatically after a defined timeout.
    • Prevent duplicate entries when the same transaction ID is retried.

FAQs

Q: Why does my terminal show “Cancelled” while ECR shows “Pending”?

A: The cancellation occurred before the ECR received the final response. Implement reconciliation logic using transaction reference or timestamp to align statuses.

Q: Can I retry the transaction immediately after cancellation?

A: Yes, once the root cause (timeout, network issue, invalid card) is resolved.

Q: Does a cancelled transaction affect settlement totals?

A: No. Cancelled or failed transactions are excluded from settlement batches.

Q: Should I manually void a cancelled transaction?

A: No. Since no funds were captured, a void is not required.


Next Steps

  • Implement proper reconciliation routines to detect and clear mismatched statuses.
  • For persistent cancellation issues, email [email protected] and provide the following:
    • Merchant Name
    • MID (Merchant ID)
    • Maya Terminal Model and Serial Number
    • Details/background of the problem