# Checkout.com

<figure><img src="https://1103784913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAC0G99SjXjSv2GM5PAE%2Fuploads%2FSkp3oJ9uS4IGLAJ52mwf%2FUntitled-1.png?alt=media&#x26;token=303356a3-f4cd-48ee-8f3e-4e9934e38d3b" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
Checkout.com V2 gateway supports both Apple Pay and Google Pay. Obtain the token on your page and pass to Konnektive on the Import Order API call.
{% endhint %}

**STEP 1**

Obtain **AccessToken** from Checkout.com.  **AccessToken** is found in the API Keys section as noted in this screenshot.

If using Apple Pay or Google Pay then also obtain **PublicKey** in the API Keys section

<figure><img src="https://1103784913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAC0G99SjXjSv2GM5PAE%2Fuploads%2FIGmRgaERv2mINkaNufMf%2Fimage.png?alt=media&#x26;token=ca92b991-b7d6-4b68-87d3-c32ad65c7c0b" alt=""><figcaption></figcaption></figure>

**STEP 2**

Activate and edit the CheckoutV2 gateway. Enter **AccessToken** from Step 1.  Do not enter **SecretKey**.

Enter **PublicKey** if using Apple Pay or Google Pay

Optionally enter **ProcessingChannelId** to process on a specific channel.

Optionally enter **clientId**.  This is your checkout.com account unique identifier.

Set **PaymentType** to Recurring or Unscheduled. More details are at the [bottom](#payment-type-additional-details) of this document.

Choose to process using **3DSecure**. This uses Checkout.com 3DS services. Use **force3DS** to require 3DS from Checkout.com.

Choose to send the descriptor using the **sendDescriptor** setting

Choose to send upsells as merchant-initiated with the **sendUpsellAsMIT** setting. By default upsells are sent as customer-initiated.

Choose to send item details using the **sendProductDetails** setting

Choose **useTestServer** for sandbox testing only

**STEP 3**

If there is a requirement to implement Checkout.com fraud prevention, then implement risk.js onto your checkout page and pass the resulting device\_session\_id into Import Order API as fraudSessionId.

<https://www.checkout.com/docs/business-operations/prevent-fraud/integrate-with-risk-js>

**STEP 4**

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

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

**STEP 5**

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

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

**STEP 6**

Your checkout and upsale pages must support standard merchant redirect handling

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

#### Payment Type Additional Details

Payment Type will be sent to Checkout.com as Recurring, Unscheduled, or Regular

**Recurring (default)**

* If any item in the checkout or upsell has recurring products, the payment type is set to "recurring."
* If **sendUpsellAsMIT** is enabled, the checkout and upsell will both be marked as recurring, even if there are no recurring products present.
* The payment type is set to "recurring" for all rebills
* In all other cases the payment type is set to “regular”

**Unscheduled**

* If any item in the checkout or upsell contains recurring products, the payment type is set to "unscheduled."
* If **sendUpsellAsMIT** is enabled, the checkout and upsell will both be marked as unscheduled, even if there are no recurring products present.
* The payment type is set to "unscheduled" for all rebills
* In all other cases the payment type is set to “regular”

**Regular**

* A payment type of "regular" is sent when there are no recurring items in the checkout or upsell, and **sendUpsellAsMIT** is disabled.

**Apple Pay and Google Pay**

* The payment type is set based on the conditions above
* If the Apple Pay or Google Pay token is not passed on upsell, the transaction is sent as merchant-initiated with the payment token obtained from Checkout.com on the checkout.
* If the Apple Pay or Google Pay token is passed on upsell, that token is sent to Checkout.com instead of the checkout token.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.konnektive.com/konnektive-crm/gateway-setup/gateways/checkout.com.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
