Magento 2 EE Vantiv Integrated Payments (formerly known as Mercury) Gateway with Gift Cards
Magento Commerce is the leading provider of open omnichannel innovation. Its an open source, cloud-based digital commerce platform and omnichannel solutions empowers merchants to integrate digital and physical shopping experiences. Built for rapid innovation, the platform combines rich, out-of-the-box functionality with powerful business tools. This customizable platform seamlessly integrates with third-party solutions, can be deployed in any environment, and is backed by a vast network of commerce experts ready to help you.
Get fast, reliable, and secure transactions with MercuryPay®, Vantiv Integrated Payments’ award-winning payment processing. Accept the most common payment types and card brands, and enjoy high reliability, speedy funding, promotional payment options, and instant transaction viewing.
Offering gift cards is easy with MercuryGift®. Their comprehensive gift card service offers unlimited free transactions for merchants, also processing credit cards with Mercury®, and a variety of affordable gift cards and merchandising materials to fit your budget.
The client has multiple physical stores along with an online store. End users can purchase Gift Cards from the physical stores.
End users should be able to use the Gift Cards on the online store.
Give the end user option to be able to pay with both Gift Card & Credit Card or one of them depending on the Gift Card balance and order total.
The end user should be allowed to use multiple Gift Cards.
The end user should be able to check their Gift Card balance during checkout.
Allow the end user to purchase Gift Cards from the online store.
Invoice - refund feature should be available.
Analyse how the payment gateway, gift card and Magento process works to allow the checkout to proceed seamlessly with the multiple card payments.
Ensure that the Magento admin order area & invoicing is not affected in any way due to this split of payment.
Order details should make note whether the order was paid using Credit Card only, Credit Card + Gift Card or Gift Card only.
Schogini divided the task into 2 categories:
Using the Gift Card (redeem)
Issuing the Gift Card (purchase)
Using the Gift Card
During checkout, the end user should be able to redeem as many Gift Cards as they need to match the order total.
In case they do not have enough amou.nt in their Gift Cards, they can pay the balance using Credit Card
During checkout, in the payment section the end user is shown 2 checkboxes - “Pay with Gift Card”, “Pay with Credit Card”. The end user can decide to select both or one.
If, the “Pay with Gift Card” option is selected, a form appears where the end user can enter his/her Gift Card number & PIN and check balance.
The end user can then, choose to add this Gift Card to the payment process.
In case the Gift Card balance is not enough, the module will prompt the user to enter the credit card details too.
Always, the Gift Card is processed first and if, all successful, the credit card.
The payment method data is changed depending on which type of payment is selected (only Gift Card, only Credit Card or Both)
The order notes will have the last 4 digits of the Gift Card, the amount taken from the card and the transaction id.
During refund, the Gift Card is refunded first and if, all successful, the credit card is refunded.
All Gift Card transaction data is stored in a custom table. This ensures that the Magento flow considers this as a normal credit card payment.
The module will hook into the correct places to handle the Gift Card.
Issuing the Gift Card
Vantiv Integrated Payments (formerly known as Mercury) will give the client a set of Gift Card numbers that they can give their customer.
These numbers will be put in a CSV file and uploaded to a folder on the server.
SKU of every Gift Card module will start with a pre-defined string. The Administrator will enter the string in the module configuration section.
Every time an end user completes a successful purchase of a Gift Card product, a Gift Card number is automatically taken from the list and connected to the customer profile. It is then loaded with the Gift Card product cost.
A logic was developed, after discussions with the client, on how the Gift Card number will be reserved/blocked for the end user as soon as the checkout process starts and when will it be released in case its abandoned.
Administrator can see the list of Gift Cards issued and to which customer, as a grid in the Magento admin area.
Customer can login and see the list of Gift Card numbers he/she has purchased via the online store and the current balance in each card.
Understanding how the client’s admin team uses the module, Schogini exceeded the client requirements by adding these bonus features:
Switch between test & live mode. In case the development team needs to place test orders.
Top up any Gift Card with additional amount. Allows the administrator to add additional funds to any issued Gift Card. Hence, end user can phone the client and get the Gift Card refilled.
Check Gift Card balance via the Admin. Since, the client accepts phone orders, this feature allows the team to check Gift Card balance before processing the order.
Admin can see the list of Gift Cards issued, to which customer and top up the card from there.
Even though Magento system thinks this as a simple Credit Card payment method, in reality 2 payments to 2 different end points are happening here. One of the main issues was getting the module to correctly hook and handle the validation, payment & refund.
In case no more Gift Card numbers were available, the end user needed to be alerted during checkout - before payment. Hence, the list had to be checked continuously and numbers reserved/blocked carefully.
MercuryGift allows merchants to issue Gift Cards that can be used as a “credit/debit” card by the end user. This allows the client to generate new revenue and build awareness and increase brand exposure.
Ability to use credit card in case the Gift Card(s) didn’t have enough balance had a direct, positive impact on the number of abandoned carts.
Ability to purchase Gift Cards online gave the customer an additional marketing opportunity to build customer loyalty.
Gayatri S Ajith - CEO/Cloud & DevOps Architect
Gayatri is a certified professional and highly experienced OpenSource eCommerce developer, team lead, and project manager. She is Magento Certified Developer Plus and Magento Certified Solutions Specialist. With over a decade of hands-on development experience in web technologies (LAMP & MEAN), she has a strong technical background with the ability to communicate those technicalities frequently and clearly. Gayatri is comfortable in proposing alternatives when necessary to ensure the client goals are met - always. Currently, she is mastering AngularJS & Ionic while heading the eCommerce division of Schogini.
Know more about the author.