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.
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.
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]
Updated 18 days ago