Merchant Initiated Transactions
Understand which properties you need to set for authorisations initiated by merchants
A merchant initiated transaction (MIT) is, as its name implies, a payment that is requested by the merchant without the involvement of the cardholder. MITs are widely used for recurring payments such as subscriptions or instalments.
Establishment for future MITs
Some card schemes require an initial Customer Initiated Transaction (CIT) between the merchant and the customer, before a merchant can initiate an MIT. This initial transaction can be a standard Authorisation or an Account Status Inquiry (ASI).
MIT Establishment During an Authorisation
If a merchant is planning to initiate MITs in the future using the respective card, the merchant can set the following properties to inform the scheme and the issuer during a customer initiated authorisation:
fundingSource
is set to the nature of future MITs as:
CardOnFile
for one-off or mixed use MITs,Recurring
for recurring MITs, such as subscription fees,Installment
for the payments for an instalment plan
isSubsequentTransation
is set to False
or omitted from the request
merchantInitiated
is set to False
or omitted from the request
MIT Establishment During an Account Status Inquiry
Similar to an authorisation, an ASI can be used for establishment of future MITs using the following properties as:
fundingSource
is set to the nature of future MITs as:
CardOnFile
for one-off or mixed use MITs,Recurring
for recurring MITs, such as subscription fees,Installment
for the payments for an instalment plan
isSubsequentTransation
is set to False
or omitted from the request
merchantInitiated
is set to False
or omitted from the request
Storing Scheme Transaction Id for Future MITs
While initiating an MIT, some schemes expect you to provide the Scheme Trace Id of the establishment transaction. So, we advise you to save the
schemeTraceId
property returned in the establishment Authorisation or the ASI API response and pass it during the related MIT Authorisation API requests as thepreviousSchemeTraceId
Initiating an MIT Authorisation
An MIT authorisation is done through the standard Authorisation API by setting certain properties in the request body:
fundingSource
is set to the nature of the current MIT from one of the following values as:
CardOnFile
for a one-off paymentRecurring
for the current instance of a recurring payment, such as a subscriptionInstallment
for the instalment of the respective period
isSubsequentTransation
is set to True
merchantInitiated
is set to True
previousSchemeTraceId
if available, this is set to the Scheme Trace Id returned in the response of the establishment transaction request as schemeTraceId
List of All Use Cases and Potential Errors
You may use the following tables to have a better understanding of how Cards Connect manages various modes of transactions.
Use Case | paymentSource | merchantInitiated | isSubsequentTransaction |
---|---|---|---|
Customer Initiated Card on File Payment | CardOnFile | False or omitted | True |
Merchant Initiated One-off Payment | CardOnFile | True | True |
Merchant Initiated Recurring Payment | Recurring | True | True |
Merchant Initiated Instalment Payment | Installment | True | True |
Customer Initiated Payment with the Establishment of Future MITs | Depending on the nature of future MITs one of:CardOnFile Recurring Installment | False or omitted | False or omitted |
Account Status Inquiry with the Establishment of Future MITs | Depending on the nature of future MITs one of:CardOnFile Recurring Installment | False or omitted | False or omitted |
If you pass properties that are incompatible with each other, you may receive an error, some of these cases are explained below:
paymentSource | merchantInitiated | isSubsequentTransaction | Issue |
---|---|---|---|
One of:ECommerce Mail Phone | True | True | An MIT should have a valid use case such as “One-off”, “Recurring”, or “Instalment“ but the selected paymentSource lacks this information. |
Any | True | False or omitted | By setting the isSubsequentTransaction as False or omitting it, the merchant sets the intent as establishing for future MITs which is expected to happen through a customer initiated transaction, however, merchantInitiated is also set to True creating a contradiction. |
One of:Recurring Installment | False or omitted | True | Setting the merchantInitiated as False means that this is a Customer Initiated Transaction (CIT). Considering isSubsequentTransaction is set to True , this is also not an establishment attempt for future MITs but card on file transaction. However, a CIT card on file payment can only be done as a one-off transaction, requiring the paymentSource to to be set as CardOnFile For example, if a customer wants to pay an instalment at an earlier date using the merchant app rather than waiting it to be debited on the scheduled date (Which would be an MIT), the transaction becomes a one-off Customer Initiated Card on File. |
Updated 5 days ago