> For the complete documentation index, see [llms.txt](https://help.konnektive.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.konnektive.com/konnektive-crm/gateway-setup/gateways/solid.md).

# Solid

**STEP 1**

Obtain **publicKey** and **secretKey** from Solid.

Go to **Gateways** | **Gateway Integrations** and select the Solid tile. Click on <mark style="color:green;">**+ Activate**</mark>.

<figure><img src="/files/pC9VMXm16oMrUOGngJYM" alt=""><figcaption></figcaption></figure>

Enter **publicKey** and **secretKey**.

Select “No” on **Secure3DS** if it is for Non-3DS.

<figure><img src="/files/oJUmSRB8UwTW31hHSDle" alt=""><figcaption></figcaption></figure>

Click the green <mark style="color:green;">**Create Gateway**</mark> button to save your changes and create the gateway

{% hint style="info" %}
Steps 2 and 3 can be skipped if using Checkout Champ hosted pages.
{% endhint %}

**STEP 2**

Add the hidden input browserData inside of the same form as the card input.

`<input type="hidden" name="browserData" value="" id="browserData">`

&#x20;

**STEP 3**

Add this script to your page before the closing body tag.

```
Script to get browserData:
<script type="text/javascript">
    const navigator = window.navigator;
    const browserData = {
        acceptHeader: 'application/json',
        userAgent: navigator.userAgent,
        language: navigator.language,
        timezone: (new Date()).getTimezoneOffset().toString(),
        colorDepth: screen.colorDepth,
        screen: {
            height: screen.height.toString(),
            width: screen.width.toString()
        },
        javaScriptEnabled: true,
        javaEnabled: navigator.javaEnabled()
    };
    document.getElementById('browserData').value = JSON.stringify(browserData);
</script>
```
