MIT Flows
Overview
Customer-Initiated Transaction (CIT) refers to a transaction initiated by the customer while they are online on the merchant’s website. This can involve either a one-time payment or saving their card with a mandate allowing the merchant to charge them later. In cases where the customer provides a mandate but does not make an actual payment, the CIT is processed with a $0 amount.
Merchant-Initiated Transaction (MIT) refers to a transaction initiated by the merchant without the customer being online on the website at the time.
MIT Use Cases
Recurring In the recurring flow, MITs are for ongoing services with fixed charges at a set frequency and no predefined end date. Examples: subscriptions to streaming services, gym memberships.
Installment In the installments flow, the MITs are for fixed repayments of a specific total amount with a clear end date. Examples: paying for a product in three monthly installments, financing a purchase, or loan repayments.
Top Up In the top-up flow the MITs occur in an irregular schedule, triggered by usage or thresholds, with no predefined total. Examples: refilling an account for a subscription or reshipping goods based on varying usage.
Split or Delayed Shipment In the Split or Delayed Shipment flow the MITs are tied directly to the fulfillment of a specific order, where the payments are processed for goods that are either shipped in multiple parts or delayed by more than 90 days, based on the order structure or availability. Examples: an online order where some items are in stock and others are shipped later, preorders for products that require delayed manufacturing or availability, orders fulfilled in multiple shipments due to logistical constraints.
Multi-Party Commerce In this use case the MITs can take place either when multiple parties are involved in processing multiple authorizations associated with a single travel booking or where multiple parties in sectors other than travel are involved in processing multiple authorizations associated with a single checkout from a cardholder’s point of view.
3DS for MIT
Why Execute 3DS for MIT?
3DS is typically required for merchant-initiated transactions (MITs) in the following scenarios:
Initial Customer-Initiated Transaction (CIT) under PSD2 While MITs are generally exempt from 3DS under the “merchant-initiated transaction” exemption, 3DS is required for the initial CIT to validate the exemption and establish the necessary authentication data for subsequent MITs.
Use Cases Requiring Multiple CAVVs for a single purchase For scenarios such as multi-party travel bookings or transactions involving multiple authorizations (e.g split shipments), 3DS need to be executed to generate multiple CAVVs tied to the same authentication.
Transactions Beyond the Validity Period of the Initial CAVV If a merchant authorizes a transaction after the validity period of the initial CAVV has expired (e.g shipments delayed by more than 90 days), executing 3DS ensures liability protection is extended for the transaction.
Generally, merchants may also (but are not required to) use 3DS on MITs in recurring installments or top-up use cases to establish liability shift and reduce the likelihood of chargebacks in case of potential disputes.
Executing 3DS on a CIT will typically involve a challenge, whereas executing 3DS on an MIT using the 3RI extension ensures a seamless, frictionless experience. In both cases, merchants benefit from compliance and liability shift.
Data Requirements for executing 3DS on MITs
The following data points must be included in the Order API request for Executing 3DS with Forter on MITs and their Initial CIT.
Use Case | Recurring | Installment | Top Up | Split or Delayed Shipment | Multi-Party Commerce |
|---|---|---|---|---|---|
Initial CIT The CIT preceding the MIT, where the buyer's consent is provided | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: RECURRING_TRANSACTION | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: INSTALMENT_TRANSACTION | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: TOP_UP | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: SPLIT_OR_DELAYED_SHIPMENT | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: OTHER_PAYMENT |
MIT | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: RECURRING_TRANSACTION payment.recurringPayment.recurringPaymentFrequency The number of days between transactions payment.recurringPayment.recurringPaymentExpirationDate The date beyond which no further authorizations will be processed. Leave empty if none. | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: INSTALMENT_TRANSACTION payment[0].recurringPayment.recurringPaymentFrequency payment.recurringPayment.recurringPaymentExpirationDate payment[0].recurringPayment.totalNumberOfPayments | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: TOP_UP | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: SPLIT_OR_DELAYED_SHIPMENT | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: OTHER_PAYMENT |
Data Requirements for PSD2 exemptions on MITs
The following data points must be included in the Order API request for PSD2 Recommendations from Forter on MITs and their Initial CIT.
Use Case | Recurring | Installment | Top Up | Split or Delayed Shipment | Multi-Party Commerce |
|---|---|---|---|---|---|
Initial CIT The CIT preceding the MIT, where the buyer's consent is provided | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: RECURRING_TRANSACTION | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: INSTALMENT_TRANSACTION | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: TOP_UP | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: SPLIT_OR_DELAYED_SHIPMENT | payment[0].allowedMerchantInitiatedTransactions payment[0].merchantInitiated.type: OTHER_PAYMENT |
MIT | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: RECURRING_TRANSACTION | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: INSTALMENT_TRANSACTION | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: TOP_UP | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: SPLIT_OR_DELAYED_SHIPMENT | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: OTHER_PAYMENT |
Trusted Auth for MIT
The following data points must be included in the Order API request for Trusted Auth on MITs
Use Case | Recurring or Installment |
|---|---|
MIT | orderType: MERCHANT_INITIATED payment.recurringPayment.recurringPaymentFrequency The number of days between transactions payment.recurringPayment.recurringPaymentExpirationDate The date beyond which no further authorizations will be processed. If you don’t have a specific expiration date, leave the field empty |
Chargeback Recovery for MIT
The following data points must be included in the Order API request for Chargeback Recovery with Forter on MITs and their Initial CIT.
Use Case | Recurring | Top Up |
|---|---|---|
Initial CIT The CIT preceding the MIT, where the buyer's consent is provided | payment[0].allowedMerchantInitiatedTransactions: true payment[0].merchantInitiated.type: RECURRING_TRANSACTION | payment[0].allowedMerchantInitiatedTransactions: true payment[0].merchantInitiated.type: TOP_UP |
MIT | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: RECURRING_TRANSACTION payment.recurringPayment.recurringPaymentFrequency The number of days between transactions payment.recurringPayment.recurringPaymentExpirationDate The date beyond which no further authorizations will be processed. Leave empty if none. | orderType: MERCHANT_INITIATED payment[0].merchantInitiated.initialOrderId payment[0].merchantInitiated.type: TOP_UP |