Merchant Initiated Transactions (MIT)

First MIT

Merchant-Initiated Transactions (MIT) are payments initiated by the merchant without the interaction of the payer. They are characterized by a lack of involvement of the payer in triggering each individual payment.
Such payments require that:

  1. SCA is applied to the first transaction or action mandating the Merchant to initiate payment(s) and
  2. there is an agreement between the payer and the merchant for the provision of products or services and potential costs associated with these.

Such payments can happen in the following cases:
• Recurring Payments for fixed or variable amounts
• Merchant funded installments
• The final amount is higher than the amount used at authentication time.

This can happen when additional charges are added to the initially agreed amount such as, a minibar in a hotel or fines with a rented car.

In case you would prefer to register your customer and store his credit card credentials on file, you are obliged to obtain cardholder’s consent by using Strong Customer Authentication (SCA) in your transaction request.
In order to achieve that, your cardholders must authenticate themselves during transaction processing, once the cardholder is still in session. PSD2 and scheme rules demand a 3-D Secure challenge flow to be performed in such case.

All mentioned above needs to be indicated to the Gateway, so that proper transaction flagging is applied in the authorization message.

The following document represents an example of a first MIT transaction using minimum set of elements:

<!-- #include file="ipg-util.asp"-->
<html>
<head><title>IPG Connect Sample for ASP</title></head>
<body>
<p><h1>Order Form</h1></p>
<form method="post" action=" https://test.ipg-online.com/connect/gateway/processing ">
    <input type="hidden" name="txntype" value="preauth">
    <input type="hidden" name="checkoutoption" value="combinedpage">
    <input type="hidden" name="timezone" value="Europe/Berlin"/>
    <input type="hidden" name="txndatetime" value="<% getDateTime() %>"/>
    <input type="hidden" name="hash_algorithm" value="HMACSHA256"/>
    <input type="hidden" name="hashExtended" value="<% call createExtendedHash( "10.00","978" ) %>"/>
    <input type="hidden" name="storename" value="1109950006" />
    <input type="hidden" name="mode" value="payonly"/>
    <input type="hidden" name="paymentMethod" value="M"/>
    <input type="text" name="chargetotal" value="10.00" />
    <input type="hidden" name="currency" value="978"/>
    <input type="hidden" name="authenticateTransaction" value="true"/>
    <input type="hidden" name="threeDSRequestorChallengeIndicator" value="4"/>
    <input type="hidden" name="unscheduledCredentialOnFileType" value="FIRST"/>
    <input type="text" name="cardnumber" value="540215******2355">
    <input type="text" name="expmonth" value="12">
    <input type="text" name="expyear" value="24">
    <input type="submit" value="Submit">
</form>
</body>
</html>

The following parameters must be sent in the transaction request to the Gateway:
unscheduledCredentialOnFileType = FIRST
threeDSRequestorChallengeIndicator= 4 (CHALLENGE REQUESTED MANDATE)

The same parameters must be submitted if you are using our payment APIs solution as well.

In the response you will receive a schemeTransactionId, what must be submitted in your next scheduled payment request (MIT or RecurringType=REPEAT).

🚧

NOTE

Please note, that this solution is available only if you utilize Fiserv as your 3DS service provider and your account is setup with respective services.

Subsequent MIT

After you completed the previous step successfully and you would like to initiate a subsequent MIT transaction without cardholder's participation, you can do that using all Gateway’s integration components, as soon as you include all mandatory parameters.

Field Name

Description

unscheduledCredentialOnFileType

This field allows you to flag transactions as unscheduled credential on file type. Value allowed for a subsequent MIT transaction = MERCHANT_INITIATED

referencedSchemeTransactionId

This field allows you to include the payment scheme's transaction ID that has been returned in the response of the initial transaction (when credentials have been stored) in order to provide a reference to that original transaction

The following document represents an example of a subsequent MIT request using minimum set of elements:

<!-- #include file="ipg-util.asp"-->
<html>
<head><title>IPG Connect Sample for ASP</title></head>
<body>
<p><h1>Order Form</h1></p>
<form method="post" action=" https://test.ipg-online.com/connect/gateway/processing ">
    <input type="hidden" name="txntype" value="sale">
    <input type="hidden" name="checkoutoption" value="combinedpage">
    <input type="hidden" name="timezone" value="Europe/Berlin"/>
    <input type="hidden" name="txndatetime" value="<% getDateTime() %>"/>
    <input type="hidden" name="hash_algorithm" value="HMACSHA256"/>
    <input type="hidden" name="hashExtended" value="<% call createExtendedHash( "10.00","978" ) %>"/>
    <input type="hidden" name="storename" value="1109950006" />
    <input type="hidden" name="mode" value="payonly"/>
    <input type="hidden" name="paymentMethod" value="M"/>
    <input type="text" name="chargetotal" value="10.00" />
    <input type="hidden" name="currency" value="978"/>
    <input type="hidden" name="unscheduledCredentialOnFileType" value="MERCHANT_INITIATED"/>
    <input type="hidden" name="referencedSchemeTransactionId" value="019087868716215"/>
    <input type="text" name="cardnumber" value="540215******2355">
    <input type="text" name="expmonth" value="12">
    <input type="text" name="expyear" value="24">
    <input type="submit" value="Submit">
</form>
</body>
</html>

Did this page help you?