Skip to main content

Enable / Disable Menu

The Enable/Disable Menu API allows you to remotely control whether the payment menu is available on a terminal.

Once disabled, users cannot initiate transactions from the terminal until the menu is enabled again.

Enable Menu

Enables the payment menu on the specified terminal.

PUTbaseUrl/api/v1/terminals/enable-menu/{terminalId}/enable

Headers

  • Authorization: Bearer {{accessToken}}

Path Parameters

ParameterTypeRequiredDescription
terminalIdstringYesUnique identifier of the terminal whose menu will be enabled.

Example Request

PUT /api/v1/terminals/enable-menu/1560127620231203/enable
Authorization: Bearer {{accessToken}}

Disable Menu

Disables the payment menu on the specified terminal.

PUTbaseUrl/api/v1/terminals/enable-menu/{terminalId}/disable

Headers

  • Authorization: Bearer {{accessToken}}

Path Parameters

ParameterTypeRequiredDescription
terminalIdstringYesUnique identifier of the terminal whose menu will be disabled.

Example Request

PUT /api/v1/terminals/enable-menu/1560127620231203/disable
Authorization: Bearer {{accessToken}}

Response Codes

StatusCodeDescription
00Request completed successfully. The terminal menu has been updated.

Use Cases

The Enable/Disable Menu API is designed to control whether cashiers can initiate manual purchase transactions directly from the Mada application on the payment terminal.

Enable Manual Purchase

Allow cashiers to initiate purchase transactions by manually entering the transaction amount through the Mada application.

This is useful when merchants want to permit standalone terminal transactions without requiring an external ECR system.


Disable Manual Purchase

Prevent cashiers from initiating manual purchase transactions from the Mada application.

When disabled, purchases can only be initiated through integrated systems, such as an ECR or POS application, helping enforce an integration-only workflow.


ECR/POS Integrated Deployments

For merchants using an integrated ECR or POS solution, disable manual purchases to ensure all transactions originate from the external system. This helps prevent duplicate transactions, maintains transaction consistency, and ensures every payment is associated with a corresponding sales order.


Reduce Operational Errors

Restrict manual transaction entry to minimize the risk of incorrect purchase amounts, accidental transactions, or cashier input errors.


Merchant-Specific Configuration

Enable or disable manual purchase functionality based on merchant requirements or operational policies. This allows different merchants or terminals to have different transaction capabilities without requiring application updates.


Temporary Operational Control

Temporarily disable manual purchases during maintenance, investigations, or operational changes, and re-enable them once normal operations resume.

Usage Tips

  • Ensure the target terminal is registered and online before sending the request.
  • Only authorized users should invoke this API.
  • The operation takes effect immediately once the request is successfully processed.
  • Calling Enable on an already enabled terminal or Disable on an already disabled terminal does not affect terminal stability.
  • Record configuration changes for audit and troubleshooting purposes.

Error Handling

If the request cannot be completed, the API returns an appropriate HTTP status code and an error message.

ScenarioAPI ResponseHTTP Status
Invalid or expired access tokenAuthentication failed. Invalid or expired token.401 Unauthorized
Terminal not foundTerminal not found.404 Not Found
Terminal is offlineUnable to communicate with terminal.409 Conflict
Insufficient permissionsAccess denied. You are not authorized to update this terminal.403 Forbidden
Internal server errorAn unexpected error occurred while updating the terminal configuration.500 Internal Server Error

Example Error Response

{
"StatusCode": "500",
"message": "An unexpected error occurred while updating the terminal configuration."
}