Broadleaf Microservices
  • v1.0.0-latest-prod

MyFatoorah Module

Broadleaf Commerce currently offers integration with MyFatoorah through a commercial integration module. To obtain this third party integration or if you have any questions about this module, please contact us at info@broadleafcommerce.org

Prerequisites

  • Create an account with MyFatoorah in order to use the BroadleafCommerce MyFatoorah payment functionality.

  • Please familiarize yourself with the MyFatoorah docs before proceeding.

The Big Picture

This integration with MyFatoorah is built with the assumption that the MyFatoorah Embedded Payment frontend integration is used to gather credit card details in a SAQ-A manner. This module is build to take in the sessionId & execute an Authorize or AuthorizeAndCapture transaction.

When executing an Authorize or AuthorizeAndCapture transaction, MyFatoorah will always prompt for 3DS verification. If the verification is successful, then the transaction is automatically executed. From there, Broadleaf uses the three mechanisms described here to gather & understand the transaction results.

Note

MyFatoorah does not support webhook notifications for Authorize transactions. Due to the risk of the Broadleaf ecosystem not being aware of transaction results, we suggest using AuthorizeAndCapture transactions.

By default, MyFatoorah is configured to use separate Authorize and Capture interactions (MyFatoorah docs here). If you wish to enable AuthorizeAndCapture transactions (i.e. Authorize and Capture in a single request), then you must request this configuration via the MyFatoorah team. Keep in mind that if this change is made, you won’t be able to execute Authorize transactions.

Once the initial transaction is executed, all subsequent transactions (i.e. ReverseAuthorize, Capture, & Refund) are triggered using the invoice id provided by MyFatoorah in the Authorize or AuthorizeAndCapture response.

Note
When executing multiple partial refunds, MyFatoorah will place some of the transactions in a pending status requiring manual review by the MyFatoorah team. Once these refunds are approved or rejected, we receive the results via webhook events. For more information on how to configure your webhooks see the Environment Setup guide.

Preparing Your Environment

To prepare your environment to execute payment transactions against MyFatoorah, please follow the environment setup guide.

Frontend Integration

For details on the frontend integration, please follow the MyFatoorah Payment Integration guide.

Supported Transaction Types

Using this library, you can execute the following types of transactions:

Saved Payment methods

For details on saving payment methods for future use & using them within the checkout flow, please see Saved Payment Methods doc.

3DS

For details on the 3DS integration & setup, please see MyFatoorah 3DS doc.

KNET

For details on the KNET integration & setup, please see link:myfatoorah/knet [MyFatoorah KNET doc].