eMerchantPay V3

Do not create a new eMerchantPay or eMerchantPay V2 gateway. Use only the V3 gateway.

For recurring billing, eMerchantPay does not support auth/capture, chargeback protection or capture on shipment.

Step 1

Step 2

Activate the eMerchantPay V3 gateway tile

Enter eMerchantPay V3 credentials on your account

Enter username and password from your eMerchantPay account

Check the enhancedRebill box to process using eMerchantPay’s new recurring workflow. This workflow passes the recurring_type parameter.

Obtain tokens from eMerchantPay and enter the values that correspond to your transaction processing requirements.

  • terminalToken3DS is required when secure3DS is set to Yes

  • terminalTokenNon3DS is required when secure3DS is set to No

  • terminalTokenRebill is required to rebill. It is also required to process upsells using a token (without this upsells will be run with the card).

  • terminalTokenAPM is required to process Bancontact, giropay, iDEAL, P24, EPS, and Sofort. Enter the name of the payment method, a colon (:), and the terminal token for the payment type. Enter a new line for each type. The final result will look something like this (do not copy this as the tokens in this screenshot are dummy):

Step 3

browserData must be passed from the page on orders. Below is one option to do that. If using hosted CheckoutChamp pages then this section can be skipped.

Please follow the below instructions to setup eMerchantPay on your checkout page and pass browserData on the Import Order API call

Add a hidden input for

browserData.

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

Add below script 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>