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.

 

 

image-20240416-232352.png

 

Step 1

Activate the eMerchantPay V3 gateway tile

Step 2

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):

If using ApplePay or GooglePay then include similar for each in terminalTokenAPM. These payment methods require a separate entry if rebills will be processed through Apple or Google. However the value may be the same (for example, APPLEPAY and APPLEPAY_REBILL may be the same token, and there must be an entry for each if recurring transactions are needed).

  • APPLEPAY:xxxxxxxxxxxxxxxxxxxx

  • APPLEPAY_REBILL:xxxxxxxxxxxxxxxxxxxx

  • GOOGLEPAY:xxxxxxxxxxxxxxxxxx

  • GOOGLEPAY_REBILL:xxxxxxxxxxxxxxxxxx

 

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>