In-Store (POS) API Troubleshooting List
This page lists common POS API errors along with their possible root causes to help you quickly identify and resolve integration issues. Use this as a reference during development or debugging to streamline troubleshooting and ensure a smooth integration process.
Common Authorization Scenarios
Error Message | Potential Root Causes | How to Mitigate |
---|---|---|
Terminal Access Denied. Insufficient permissions to act on this terminal. | Wrong Terminal ID | Confirm whether Terminal ID used is same with what ShopBack provided (eg: check for typo or additional blank space). Else, check with ShopBack team. |
Missing | The Authorization header is not | Ensure that you have included a valid Authorization header |
Invalid Auth | The prefix of “SB1-HMAC- | Ensure that SB1-HMAC-SHA256 is included as the prefix for the Authorization header |
Hmac signature | The timestamp provided is not a The server timestamp is not accurately following real world timestamp (difference in ~1 minute) | Ensure the timestamp is in UTC time and follows the format: |
Invalid | The credentials being used are not | Confirm whether accessKeyId used is same with what ShopBack provided (eg: check for typo, additional blank space, environment). Else, check with ShopBack team. |
Invalid | There is a problem with the data
| Before stringifying the payload, ensure that it is dictionary (alphabetically) sorted ✖ This is wrong The payload must be a JSON object and stringified as one → there should be no new line characters in the stringified version When performing a POST, ensure that the payload is not stringified twice if using the boilerplate code The Content-Type header should be set to application/json:
|
Common Not Found Errors
Error Message | Potential Root Causes | How to Mitigate |
---|---|---|
Invalid posId. Unable to find matching posId. | PosId does not exist or is not completely setup yet. | Confirm that posId used is correct with what ShopBack provided. Else, check with ShopBack team. |
Invalid | ReferenceId does not exist. | Confirm that referenceId used exists. |
Common Bad Request Errors
Error Message | Potential Root Causes | How to Mitigate |
---|---|---|
Invalid Date Header. Date Header has to be ISO-8601 format. | The format of the timestamp does not conform to ISO-8601 in the following format YYYY-MM-DDTHH:mm:ss.000Z |
|
Hmac validation Error. Please | Missing required parameters | Ensure all required parameters are |
Invalid referenceId. | ReferenceId does not exist | Ensure referenceId used exists or the same with the previous completed transaction. |
Unable to refund order when it is | Order is not in captured state | Ensure order status is in captured state (not pending, abandoned) |
Unable to cancel order when it is not in captured state. | Order is not in captured state | Ensure order status is in captured state (not pending, abandoned) |
Invalid country to currency pair. Currency is not supported in specified country. | Currency is different from supported country | Ensure currency is same with supported country. For example |
Common Validation Errors
Error Message | Potential Root Causes | How to Mitigate |
---|---|---|
Invalid country code. Please use the 2 letter country code according to ISO3166 standard. | 2 letter country code does not follow ISO3166 standard | Singapore: SG |
Invalid currency | 3 letter currency code does not follow ISO4217 standard | Singapore: SGD |
Invalid qrType. | qrType used is different from "base64" or | Ensure qrType used is "base64" or |
Invalid posId. | posId used does not exist | Confirm whether posId used is same with what ShopBack provided (eg: check for typo or additional blank space) |
Invalid | referenceId does not follow string format | Ensure referenceId used is in the string value. |
Invalid reason. | reason does not follow string format | Ensure reason is in the string value. |
Invalid amount. | The amount is not specified in the smallest denomination of the currency for the transaction | All amounts in the API are quoted as a whole number (no decimal places) i.e. in the lowest denomination of the currency. For example For the amount SGD 29.00 |
Invalid amount. | The amount is not specified in the smallest denomination of the currency for the transaction | All amounts in the API are quoted as a whole number (no decimal places) i.e. in the lowest denomination of the currency. For example For the amount SGD 29.00 |
Invalid amount. | Amount is lower than minimum amount. | Do not send amount that is lower than minimum amount. |
Invalid amount. | Amount has exceeded maximum amount. | Send amount that is lower than maximum amount. |
Common Conflict Error
Error Message | Potential Root Causes | How to Mitigate |
---|---|---|
Invalid ReferenceId. ReferenceId provided is already assigned to an existing resource. | ReferenceId is already assigned to an existing transaction. | Use different ReferenceId. |
Updated 14 days ago