Deploying to Cloudflare Pages

This deployment example refers to Cloudflare Pages.

Prerequisites

Before you get started, you need to have:

Configuration

In your Custom Application config, provide the Custom Application ID you got when you configured the Custom Application in the Merchant Center.

Moreover, you need to provide the production URL from your Cloudflare Pages project. You can keep the standard Cloudflare Pages URL https://<project>.pages.dev or provide your custom domain.

custom-application-config.jsonjson
{
"env": {
"production": {
"applicationId": "ckvtahxl90097sys6har1e6n3",
"url": "https://<project>.pages.dev"
}
}
}

Using environment variables

In case you want to avoid hardcoding certain values, for example the Application ID, or the Project key, you can use variable placeholders in your Custom Application config.

custom-application-config.jsonjson
{
"env": {
"production": {
"applicationId": "${env:APPLICATION_ID}",
"url": "https://<project>.pages.dev"
}
}
}

Connect Cloudflare with GitHub

The easiest way to deploy to Cloudflare is to use the GitHub integration.

Follow the steps in Cloudflare Pages to create and import a new Git repository.

Make sure to also install the Cloudflare Pages GitHub App to grant access to your repository.

Configuring build settings

In the Cloudflare Pages setup process you need to configure the following things:

  • Select React (create-react-app) as the Framework Preset.

  • Override the Build command with: yarn build.

    In your package.json make sure to have the following scripts defined:

    package.jsonjson
    {
    "scripts": {
    "build": "mc-scripts build"
    }
    }
  • Override the Output directory with: public.

  • If possible, select or specify the Node.js Version. Recommended version is >= v14.

If your Custom Application config requires environment variables, make sure to provide them in your Account Home > Pages > Pages project > Settings > Environment variables.

Test your deployment

In the Merchant Center you can now follow the steps to install the Custom Application and access it in your Projects.

The Custom Application won't render if you try to access it directly via the deployment URL, as it needs to be served within the Merchant Center Proxy Router.

Therefore, Preview deployments are not really useful. If you are interested in this functionality, let us know and open a support issue.