MIT (Merchant-Initiated Transaction) Flows
Overview
CIT (Customer-Initiated Transaction): 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.
MIT (Merchant-Initiated Transaction): 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, the MITs are for ongoing services with no predefined total amount or 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.
API Requirements for Executing 3DS on MITs and their Initial CIT
MIT Use Case | Recurring | Installment | Top Up | Split or Delayed Shipment | Multi-Party Commerce |
---|---|---|---|---|---|
Order (CIT) Req should include also the following fields | 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 |
Order (MIT) Req should include also the following fields | orderType: MERCHANTINITIATED 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. if you don’t have a specific expiration date, we recommend setting it to a reasonably distant future date. | 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 |
Trusted Auth for MIT
MIT Use Case | Recurring or Installment |
---|---|
Order (MIT) Req should include also the following fields | orderType: MERCHANTINITIATED 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, we recommend setting it to a reasonably distant future date. |
Updated about 17 hours ago