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