# Cardinity

**STEP 1**

Obtain **consumer\_key** and **consumer\_secret** from **cardinity**.

**STEP 2**

Activate and edit **cardinity** MID

Use **zeroAuth** to authenticate cards without sending an amount to Cardinity

Use **sendUpsellToken** to send a payment token on upsells. This is highly recommended if 3DS is required on your account. Checking this box may have the consequence of the upsells flagged as recurring orders.

<figure><img src="https://1103784913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAC0G99SjXjSv2GM5PAE%2Fuploads%2FKOJhIokltayO10nEdy6B%2Fimage.png?alt=media&#x26;token=8408ed32-fe42-4d8f-bc7e-34d3c13b2ed5" alt=""><figcaption></figcaption></figure>

**STEP 3**

If 3DS is required on your account, add the hidden input browserData inside of the same form as the card input.

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

**STEP 4**

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',
        colorDepth: screen.colorDepth,
        javaEnabled: navigator.javaEnabled(),
        javaScriptEnabled: true,
        language: navigator.language,
        screenHeight: screen.height,
        screenWidth: screen.width,
        timeZoneOffset: (new Date()).getTimezoneOffset().toString(),
        userAgent: navigator.userAgent
    };
    document.getElementById('browserData').value = JSON.stringify(browserData);
</script>
```

**STEP 5**

Ensure the checkout page supports standard 3DS processing

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