> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fexco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Error messages

> String-based error reasons returned through DccError in the Fexco DCC Android app.

All errors in the DCC Android app are string-based. No numeric error
codes are returned. Errors arrive as a `DccError` object with a `reason`
field, delivered through the relevant callback.

## Error reasons

The following table lists all error reasons returned through `DccError`,
grouped by category.

### Connectivity

Errors caused by network or host reachability issues between the DCC app
and the Fexco DHS.

| Error reason | Cause | Action |
| :- | :- | :- |
| `"Connect timed out"` | The DCC app failed to connect to the Fexco DHS. | Check device network connectivity and the DHS base URL. |
| `"Unable to resolve host"` | DNS lookup for the DHS host failed. | Verify the DHS base URL is correct and the device has internet access. |
| `"{httpCode} {errorBody}"` | `getDccOffer()` or `getDccRate()` returned a non-success HTTP status (for example, `404 {"error":"Not Found"}`). | Check the HTTP status code and error body to identify the cause. |
| `"{exception.message}"` or `"During http call an error occurred"` | An exception occurred during a network call, such as a network failure or timeout. | Check device connectivity and retry the request. |

### Configuration

Errors caused by missing or incorrect setup on the device or in the
request parameters.

| Error reason | Cause | Action |
| :- | :- | :- |
| `"No suitable service found"` | The DCC Container App was not found on the device. | Verify the DCC Container App is installed and the package name is correct. |
| `"No such merchant"` | The merchant ID is incorrect, invalid, unspecified, or not recognized. | Check the merchant ID passed in the transaction object. |
| `"You have to specify <field>"` | A required field (for example, `baseamount`) is missing from the request. | Add the missing field to the transaction object and retry. |
| `"Request was rejected because the URL contained <reason>"` | The server rejected the request due to a malformed URL or missing identifiers such as `acquirerId` or `merchantId`. | Check the DHS base URL and all required identifiers in the request. |

### DCC eligibility

Errors returned when a DCC offer or rate is unavailable for the card or
merchant.

| Error reason | Cause | Action |
| :- | :- | :- |
| `"The BIN {bin} has no offer"` | The Bank Identification Number (BIN) lookup returned no DCC offer or configuration for the card. | Proceed with the transaction in the merchant's local currency. |
| `"No Dcc choice selected"` | The DCC offer was accepted but the `dccChoice` object was null. | Treat as an error and proceed with the merchant's local currency. |

### User action

Errors triggered by a deliberate action from the cardholder or the
payment application.

| Error reason | Cause | Action |
| :- | :- | :- |
| `"Canceled"` | `cancel()` was called by the payment app. | No action required. Handle the cancellation in your app flow. |
| `"On timeout"` | The DCC choice screen timed out before the cardholder responded. | Proceed with the transaction in the merchant's local currency. |

### System

Errors caused by unexpected internal states in the DCC app.

| Error reason | Cause | Action |
| :- | :- | :- |
| `"Unknown communication error"` | The broadcast event received by the DCC app was null. | Retry the request. If the error persists, contact Fexco support. |
| `"Error not specified"` | An `ON_ERROR` event was received but no error object was attached. | Retry the request. If the error persists, contact Fexco support. |

## DCC Container App diagnostic messages

The DCC Container App displays the following messages directly in its UI
for connectivity and configuration issues. These messages are not returned
through `DccError`.

| Message | Category | Context |
| :- | :- | :- |
| `"No Network Connection - Please check your network settings and try again"` | Connectivity | Displayed on the diagnostics or home screen when there is no network connectivity. |
| `"Failed to initialize - Please open the Payment App first..."` | Configuration | Displayed when the DHS URL has not been configured. |
| `"HTTP {code} {body}\nURL...\nVersion..."` | Connectivity | Displayed on a diagnostic HTTP failure. |
| `"{exception}\nURL...\nVersion..."` | System | Displayed when a diagnostic exception occurs. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.