MIT Integration

Sending MIT subscriptions to FlexFactor via APIs


Overview


MIT are rebills on subscriptions, or billing after free trial.

These transactions are being processed without the consumer facing the checkout page, so when failing, these transactions can be retried at a later point.


🔀

Who's managing the MIT:

Unmanaged MIT: these MIT will not be managed by FlexFactor, you will receive a real-time response.

Managed MIT: these MIT will be managed by FlexFactor for the time you allocate. You will have to mark these transactions as 'pending' until FlexFactor responds with their definitive status.


MIT unmanaged by FlexFactor

If you don't want FlexFactor to manage the MIT (e.g., you want to use your retry mechanism or you cannot mark a transaction as 'pending'), we will configure your account accordingly.

This way, /evaluate will return a real-time status response that you can reconcile within your system.

Sync MIT flow

MIT unmanaged by Flex

MIT managed by FlexFactor

If you want FlexFactor to managed your MIT, we will configure your account accordingly.

This flow requires that you:

  • interrupt your retry mechanism,
  • set an Expiry Date, i.e. the period of time FlexFactor will manage the transactions
  • marked these transactions as 'PENDING'
  • reconcile definitive status with a webhook.

MIT general workflow

MIT managed by Flex



Integration steps

On the server side

1. Authentication

All API requests are made over HTTPS. Requests without authentication will fail.

How to authenticate.


2. Vault credit card info on checkout

Once the credit card information is collected for Authorization, it needs to be vaulted with FlexFactor for later use.

Vaulting can be made in parallel to the Auth call.

Incorporate /tokenize to a checkout.



3. On declined payments: send that transaction for Evaluation

Retrieve the tokenized credit card information and pass it along with POST /evaluate

MIT requires additional parameters, make sure you have them included in your requests.


Call /evaluate after a decline.

❗️

Send only MIT that have just failed

The FlexFactor service is optimized to work with failed Merchant Initiated Transactions (MIT) that have just failed. These need to be passed to FlexFactor on that day (and not after a few days or weeks) and should not be retried by the Merchant up to the set expiry date.


4. Issue a refund on a FlexFactor order

On an APPROVED transaction, issue a full or partial refund with POST /refund.

Retrieve the orderSessionKey from the /evaluate response to build your call.

Call /refund on an order.



5. Reconcile the order status

FlexFactor will evaluate that transaction and respond with an APPROVED , CHALLENGE, DECLINED , or 'SUBMITTED' status, reconcile this status with your internal system.


6. Ingest Webhooks

You will receive updates on your orders through webhooks, subscribe to all the webhooks you need.

Subscribe to webhooks.



7. Cancel a FlexFactor pending order

Cancel a PENDING transaction, with POST /cancel.

Retrieve the orderSessionKey from the /evaluate response to build your call.

Call /cancel on an order.



🧑‍💻

Support is here to help

Unsure what steps to perform? Contact [email protected]


What’s Next