MIT Integration
Sending MIT subscriptions to FlexFactor via APIs
MIT are transactions where the merchant initiates the payment on behalf of the customer, without the customer actively participating in the transaction (e.g.: recurring subscriptions).
Overview
On a decline of a recurring payment, transaction is sent over to FlexFactor for a period of time.
During this period, FlexFactor will send status update notifications via webhook:
APPROVED
: transaction was rescued by FlexFactorEXPIRED
: FlexFactor wasn't able to rescue this transaction.
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 authorized payments: Transmit the transaction information
FlexFactor will build your custom risk model based on your successful transactions. POST /transmit doesn't require an answer, so this 'fire and forget' call doesn't add latency to your transaction.
Queue /transmit after an approval.
4. On declined payments: send that transaction for Evaluation
Retrieve the tokenized credit card information and pass it along with POST /evaluate
FlexFactor will confirm having received the transaction with a SUBMITTED
status.
Definitive status for transactions will be sent through a webhook notification.
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.
6. Update the order status
When integrating for MIT, you will get a async response. Subscribe to the relevant webhooks to receive updates on the order status.
Subscribe to the
ORDER COMPLETE
andORDER EXPIRED
webhooks.
7. 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.
8. 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.
Build your integration
Your integration build will depend on the characteristics of your technical ecosystem.
Unsure what steps you can/need to perform? Let's schedule a call!
Updated 4 months ago