# SafeCharge

{% hint style="warning" %}
SafeCharge is 3DS 2.0 only
{% endhint %}

Activate the SafeCharge gateway tile

<figure><img src="https://1103784913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAC0G99SjXjSv2GM5PAE%2Fuploads%2FLIotdsknYKSRZ4iMq5sK%2Fimage.png?alt=media&#x26;token=d2a7ef1d-c25e-4f16-958c-3a35ef4afc75" alt=""><figcaption></figcaption></figure>

Enter SafeCharge credentials on your account

<figure><img src="https://1103784913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAC0G99SjXjSv2GM5PAE%2Fuploads%2FfS9XAdENJha0KZqQiTJu%2Fimage.png?alt=media&#x26;token=9de9847e-d4aa-4111-99b0-aad9303e9bbf" alt=""><figcaption></figcaption></figure>

Press the **Create Gateway** button to create your gateway.

3DS processing requires browser data be passed on the initial order/import API call.

[Basic 3DS Instructions](https://help.konnektive.com/konnektive-crm/gateway-setup/basic-3ds-instructions)

Review this example of one method to send browserData parameter.

```
browserData input to be added to checkout page:
<input type="hidden" name="browserData" value="" id="browserData">

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>
```
