MIT SFTP Batch Processing
This feature allows merchants to send FlexFactor batches of failed transactions for subscriptions without integration.
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.
Implementation steps
If you don't already have a Sandbox account with the required credentials to start using our APIs, you can request one at [email protected]
You will find all your credentials in the developer's section
1. Get credentials for our SFTP
Share with us your both public SSH key as well as the IP address from which the batches will be sent. We will whitelist that address and provide a secured access to our server.
We'll then create 2 dedicated folders for you: one for inbound files, one for outbound files.
How to generate an SSH key
2. Embed and invoke SenseJS on the checkout page
FlexFactor needs to receive fingerprinting for the customer's session on the checkout page (e.g.: loading, device, timzone).
SenseJS is the dedicated JavaScript library for that. It needs to be invoked when the checkout page is loaded.
Implement SenseJS to a checkout page.
3. Authentication
Requests without authentication will fail.
How to authenticate.
4. 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.
5. 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.
6. On declined payments: Evaluate that transaction
Retrieve the tokenized credit card information and pass it along with POST /evaluate
FlexFactor will evaluate that transaction and respond with an APPROVED
or DECLINED
status in real time.
Call /evaluate after a decline.
7. 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.
8. 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.
9. 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.
Updated 4 months ago