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>