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 Point | Example Scenario |
|---|---|
| Cashier action on ECR | Cashier presses Cancel or exits the transaction window before completion. |
| Customer action on Terminal | Cardholder presses Cancel or Back during payment. |
| Transaction voided prematurely | ECR issues a Void command while the terminal is still processing the request. |
| System timeout | The transaction exceeds the response time limit defined by Maya ONE App or ECR Plugin. |
Common Cancellation Cause
| Description | Possible Scenario |
|---|---|
| Timeout (Allotted time by Maya ONE App) | Transaction exceeded the allowed processing time. |
| Connection Error / Send Error | Network interruption between ECR and Maya Terminal. |
| Need to Settle Now / Later | The terminal requires settlement before new transactions can proceed. |
| Invalid Amount | Amount sent from ECR is 0 or exceeds transaction limits. |
| Card Declined / Expired / Unsupported / Invalid | Card was rejected by the issuing bank or not supported. |
| User Cancelled | Customer 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
- Check if the transaction status is marked as CANCELLED.
- Confirm that no approval code was generated.
- 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
- Check the terminal screen for any residual messages (e.g., “Transaction Cancelled” or “Timeout”).
- Inspect USB/COM connections:
- Confirm correct port configuration.
- Reconnect cable and verify that the ECR Plugin re-establishes the session.
- Ensure the terminal apps (ECR App or Maya ONE App) is running and paired properly.
Step 3: Check Network Stability
- Test connectivity between the ECR host and Maya Terminal.
- If the issue repeats:
- Restart the ECR Plugin.
- Restart the Maya Terminal (Sunmi / PAX).
- Ensure no firewall or proxy is blocking communication between the systems.
Step 4: Retry or Reprocess
Once the issue has been confirmed and resolved:
- Retry the transaction from the ECR.
- Verify that the new attempt completes successfully and the terminal prints an APPROVED receipt.
- 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
