> ## 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.

# Get your first DCC rate offer

> Board a test merchant, request a Dynamic Currency Conversion (DCC) rate offer, and see DCC in action.

This guide walks you through the fastest path to a working DCC
integration. You will board a merchant using the REST API, then
request a rate offer using Flex REST. By the end, you will have
a live rate offer proving DCC is active for your merchant.

> [!NOTE]
>
> This guide uses the recommended integration path. If your
> integration uses different methods, see
> [Choose a boarding method](https://docs.fexco.com/dcc/guides/merchant-boarding/boarding-method.md),
> [Choose a rate API](https://docs.fexco.com/dcc/guides/rate-service/choose-rate-api.md),
> or
> [Choose a file format](https://docs.fexco.com/dcc/guides/transaction-import/file-format.md).

## Before you start

This guide assumes you have completed onboarding and received
your credentials from Fexco. You need the following values
before you begin:

* **OAuth client ID and secret** for the Boarding REST API.
* **Acquirer ID**, a three-letter code that identifies your
  organization.
* **Template ID** for the merchant configuration.
* **Boarding API base URL** for your environment.
* **DHS host URL** for Flex REST rate requests.

Your Fexco project manager provides all of these during
onboarding. If you do not have them yet, contact your project
manager or email
[DCCSupport@fexco.com](mailto:DCCSupport@fexco.com).

For the full list of prerequisites across all integration
methods, see
[Before you integrate](https://docs.fexco.com/dcc/guides/getting-started/before-integrate.md).
For details on certification and production environments, see
[Environments](https://docs.fexco.com/dcc/api-reference/environments.md).

**Step 1**

### Board a merchant

Before you can request a rate offer, you need at least one
merchant registered in Fexco's system. The Boarding REST
API lets you create a merchant with a single request.

First, request an
[OAuth access token](https://docs.fexco.com/dcc/api-reference/authentication/oauth.md):

> [tab] Request
>
> ```bash theme={null}
> curl -X POST https://BOARDING_API_BASE_URL/oauth/accesstoken \
>   -H "Content-Type: application/x-www-form-urlencoded" \
>   -d "grant_type=client_credentials" \
>   -d "client_id=YOUR_CLIENT_ID" \
>   -d "client_secret=YOUR_CLIENT_SECRET"
> ```

> [tab] Response
>
> ```json theme={null}
> {
>   "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
>   "token_type": "Bearer",
>   "expires_in": 3600
> }
> ```

Use the returned `access_token` to submit a boarding
request to
[Create a batch of boarding requests](https://docs.fexco.com/dcc/api-reference/boarding-rest/create-boarding-batch.md)
with one merchant:

> [!NOTE]
>
> The `baseCurrency` field uses an
> [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)
> numeric currency code. For example, `978` is EUR and
> `840` is USD. See
> [Currency codes](https://docs.fexco.com/dcc/developer-resources/codes/currency.md)
> for a reference.

> [tab] Request
>
> ```bash theme={null}
> curl -X POST https://BOARDING_API_BASE_URL/v1/boarding \
>   -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
>   -H "x-acquirer-id: YOUR_ACQUIRER_ID" \
>   -H "Content-Type: application/json" \
>   -d '[
>     {
>       "operation": "CREATE",
>       "location": {
>         "locationId": "LOC001",
>         "name": "Cafe Berlin",
>         "mcc": 5814,
>         "cardAcceptors": [
>           {
>             "cardAcceptorId": "CA001",
>             "templateId": 1,
>             "baseCurrency": 978
>           }
>         ],
>         "address": {
>           "lineOne": "12 Friedrichstrasse",
>           "city": "Berlin",
>           "country": "DE"
>         }
>       }
>     }
>   ]'
> ```

> [tab] Response
>
> ```json theme={null}
> {
>   "boardingId": "26aad567-edee-4a74-97ba-1bd8232fbf15",
>   "status": "ACCEPTED",
>   "submittedAt": "2026-09-20T15:15:42.193Z"
> }
> ```

Fexco validates and registers the merchant asynchronously.
Poll
[Get boarding status](https://docs.fexco.com/dcc/api-reference/boarding-rest/get-boarding-status.md)
until the batch shows `COMPLETED` before moving to the
next step.

> [!TIP]
>
> A `202 Accepted` response with a `boardingId` means your
> merchant is being registered. If the request returns an
> error, see
> [Troubleshoot merchant boarding](https://docs.fexco.com/dcc/guides/merchant-boarding/troubleshoot.md).

For the full polling workflow and batch summary review, see
[Board merchants via REST API](https://docs.fexco.com/dcc/guides/merchant-boarding/board-rest-api.md).

**Step 2**

### Request a rate offer

With your merchant boarded, you can request a DCC rate
offer. The Flex REST API is a simple `GET` request with no
application-level authentication.

Replace `TST` with your acquirer ID and `CA001` with the
card acceptor ID you used when boarding. The `posentrymode`
value is a three-character
[ISO 8583](https://en.wikipedia.org/wiki/ISO_8583) code
that describes how the card number was captured. In the
example below, `071` means contactless ICC EMV with PIN
entry capability.

> [tab] Request
>
> ```bash theme={null}
> curl -X GET \
>   "https://YOUR_DHS_HOST/dhsv2/acquirers/TST/merchants/CA001/dccoffers?bin=41017212345&baseamount=123.45&posentrymode=071"
> ```

> [tab] Response
>
> ```json theme={null}
> {
>   "baseAmount": "123.45",
>   "foreignAmount": "169917.81",
>   "exchangeRate": {
>     "baseCurrency": {
>       "alphaCode": "GBP",
>       "minorUnits": 2
>     },
>     "foreignCurrency": {
>       "alphaCode": "USD",
>       "minorUnits": 2
>     },
>     "rate": "1376.4100",
>     "marginPercentage": "3",
>     "source": "REUTERS WHOLESALE INTERBANK",
>     "sourceTimestamp": "2023-07-12T11:20:13.000+0000",
>     "expiry": "2099-07-14T11:20:13.000+0000"
>   },
>   "bin": {
>     "number": "410172*****",
>     "currency": { "alphaCode": "USD" },
>     "schemeCode": 1
>   }
> }
> ```

> [!TIP]
>
> A response containing `foreignAmount` and `exchangeRate`
> means DCC is working for your merchant. The card is
> eligible and you have a live conversion offer. If the
> response body is empty (`{}`), the card is not eligible.
> See
> [Handle domestic and unsupported cards](https://docs.fexco.com/dcc/guides/rate-service/domestic-unsupported.md).
> If the request returns an error, see
> [Troubleshoot rate service errors](https://docs.fexco.com/dcc/guides/rate-service/troubleshoot.md).

For the full field reference, see
[Request a DCC offer (Flex REST)](https://docs.fexco.com/dcc/guides/rate-service/dcc-offer-flex-rest.md).

If you received a response containing `foreignAmount` and
`exchangeRate`, you have successfully requested your first DCC
rate offer. Your integration is returning real conversion data
and DCC is active for your merchant.

The receipt below shows what a completed DCC transaction looks
like after the cardholder accepts the offer and the transaction
is authorized.

![POS sale receipt showing GBP 100.00 base amount, exchange rate 1 GBP = 1.3348 USD, 3.50% margin, and USD 133.48 total transaction amount.](https://mintcdn.com/productdocumentation-fexco-com/-PF5EWDCkp1K-lBR/images/pos-visa-sale-receipt.png?fit=max\&auto=format\&n=-PF5EWDCkp1K-lBR\&q=85\&s=80344b3f10a24444c6201eb8adc5fd56)

A POS receipt for a completed DCC sale transaction. The receipt shows the base amount, exchange rate, margin, and the total in the cardholder's home currency.

## Next steps

Explore the full guides to continue building out your
integration.

* [Request a DCC offer (Flex REST)](https://docs.fexco.com/dcc/guides/rate-service/dcc-offer-flex-rest.md):
  the full field reference and response handling for rate
  offers.
* [How transaction import works](https://docs.fexco.com/dcc/guides/transaction-import/how-it-works.md):
  submit daily transaction files to Fexco for settlement.
* [Integration journey](https://docs.fexco.com/dcc/guides/getting-started/integration-journey.md):
  the phases from development through production rollout.


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