Checkout.com

Checkout.com V2 gateway supports both Apple Pay and Google Pay. Obtain the token on your page and pass it along on the Import Order API call.

In the end of 2023 Checkout.com is updating away from the HUB platform. Use of this new platform requires entry of AccessToken. It also requires that any existing monthly rebills be migrated from the HUB platform to the new platform at Checkout.com. Confer with your representatives at Checkout.com before entering AccessToken.

STEP 1

Obtain SecretKey or AccessToken from Checkout.com.

If using only the HUB platform then only SecretKey is needed.

If migrating from HUB platform to new platform then obtain both. You will need to enter both in Step 2.

If using only the new platform then only AccessToken is needed.

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

 

STEP 2

Activate and edit the CheckoutV2 gateway. Enter SecretKey or AccessToken based on the business rules in Step 1. Enter both values only if migrating between platforms.

Enter PublicKey if using Apple Pay or Google Pay

Optionally enter ProcessingChannelId to process a specific channel.

Choose to process using Secure3DS.

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>