MLoyal Customer Loyalty Program

You are here:
< All Topics

What is MLoyal?

Mloyal is customer loyalty program that integrates POS stores and online store. Customer earns loyalty points when he purchases from Store or from website. These loyalty points are maintained by MLoyal which can later be redeemed at Store or website.
Every loyalty program has two main features – Earn and Burn/Redeem. Kartify is integrated with MLoyal for both the processes.

How can you enable MLoyal?

To enable MLoyal, go to Extensions >> Order Totals >> M-Loyal >> Edit Button. You will get the following Screen – 

Status -> It has to be Enabled
Display Name ->  Text attribute for loyalty points.
M-loyal User Id, Password, Base URL -> Will be shared by
MLoyalEmail -> In case we do get the failure response from MLoyal’s API, details will go on this email ids. You can enter multiple comma separated email ids.

How can customer reedem loyalty points on the website?

User has to be logged in to check and reedem the loyalty points. The flow would be as following-

  • User will add products in his cart and go to the cart page.
  • If the user is logged in, he will see the loyalty points available for him.
    • The points are mapped to his mobile number in the MLoyal dB.
    • For fetching the points, we call MLoyal’s ‘Get Points’ API sending user’s mobile number in the request.
  • There will be a checkbox on cart page similar to the checkbox that we have for Cashback in kartify. To redeem the points, user will have to tick the checkbox.
    • 1 Loyalty would be equivalent to Rs 1 in transaction.
  • Once the user ticks the checkbox, we call MLoyals “Validate Customer Loyalty Points” API.
    • When we call this API, MLoyal sends an OTP to the user to authenticate user’s identity. Kartify get this OTP in the API Response.
  • On the front End user will get a popup to enter the OTP. After user submits, we verify the OTP from the response of “Validate Customer Loyalty Points” API.
  • If the OTP is verified, we deduct the loyalty points equivalent value from the cart total.
  • User then proceeds to to Checkout page and make a purchase. After the order is successfully placed, we call MLoyal’s Redemption API to reedeem the points. This API will deduct the Loyalty points from MLoyals data base.

How can Customer earn the Loyalty Points?

User can earn points if he places an order or upon registration.

  • On Registration – Whenever a new user is registered on the website, we call MLoyal’s “Insert Customer Registration Details” API. We send basic customer information along with the Mobile number which acts as an uniques identifier.
    • This is a brand call whether to give loyalty points upon registration or not. Kartify does not have any role to play here.
  • On Order creation – We get a “Delivered” Webhook from FYND once the order is delivered. This webhook acts as a trigger for calling MLoyals “Add member billing data” API. Basis the total order amount, Loyalty points are added in the customer account by MLoyal.
    • If the order has two line items and both are delivered separately, this API will be called twice. 
    • We call MLoyals “Add member billing data” API in two instances – when the order is placed and when the order is returned. The only difference is the value that we send for the “Status” Key.

How the cancellation flow works?

If the user places cancellation request for the order for which loyalty points were used, then the loyalty points should be reversed back to customer’s accounts. This is not a automated process and brand team will have to do it manually from MLoyals dashboard. 
The cancellation status also does not flow to the Mloyal because this order does not exist in their system. The order details are only visible in Mloyal’s system once the order is delivered we have sent the details via MLoyals “Add member billing data” API.

How the Return Flow works?

After the return request is raised and return order is processed at the ware house or POS, we get a “Refund Initiated” webhook from FYND. This acts as a trigger for us and we call MLoyals “Add member billing data” API to change the order status to “Order Returned”. This will deduct the loyalty points from the customers account which were added when the order was delivered to him.
Again, the reversal of points is not an automated process and has to be managed from the dashboard.


Previous Inventory/Price not getting fetched from FYND. How to debug the issue?
Next PhonePe Switch Integration
Table of Contents