In this article, we would like to share our successful implementation of Stripe for processing payment for a complex business scenario.
For a long time, online businesses have been worked around the offline existing banking system. Be it Amazon, Ebay, Upwork, freelancer, Airbnb, Ixigo, or any other website. They often spend large amounts of time managing monetary transactions and POS systems while their accounts departments spend time duplicating these records for legal compliances in accounting.
The silver lining lies in the new generation tools that are available today. Tools that offer merchant accounts that helping online businesses accept credit or debit card payments and process payout against the receipts on real-time basis.
Moreover, they also automate payout transactions to these sub-accounts such as payment to vendors, commission to sales agent, referral fees to affiliates and even salary to employees. Today, many merchant account providers and payment gateways provide you these facility like Paypal, Stripe, authorize.net , Citruspay and more.
Our client specializes in offering tutorials for computer training to graduate students and corporate employees alike. We first created an LMS system which allowed students to get computer training in applications like MS office, Adobe suite, etc. The classes ranged from beginners, intermediate to advanced levels.
Students needed to buy individual classes moving towards advance levels at their owns speed. Teachers, on the other hand, earned a fixed commission per class they taught. This made keeping track of payments for both student and teachers per class a cumbersome task.
Therefore, the client requested a payment gateway that allowed him to process all financial transactions seamlessly through a single merchant account. He was looking for a streamlined process in which the moment a student paid for his class, the payment is split to him and the teacher directly into their respective bank accounts.
We choose Stripe as our go-to vendor because it allows creation of merchant account with the option to add ‘connected accounts’ for commission payouts(for teachers). The inherent “automated” functionality with Stripe splits the incoming payment between merchant account and connected account on a fixed ratio system. These payments get processed simultaneously to almost zero error.
Since any online banking transaction takes a 2-3 day processing period, there is a lag between the ‘payment received’ status, to it actually showing into the merchant account. However, the commission payout (to teachers) is processed immediately on ‘payment received’ status. This meant that the outgoing payout to teachers were processed prior to the incoming payment (from students) into the client’s merchant account.
Therefore, the client wanted some customization to theautomatedfunctionality provided by Stripe. The customization would create a delay in the commission payout to the connected account.
This carefully ‘planned’ delay would allowed the client to ensure that he receive payment before paying his teachers. The delay would also ensured that his account did not go below minimum balance ,which can otherwise cause hefty penalty fees.
After creating a valid merchant account. We added a Webhook API to enable HTTP callbacks on any transaction. Thereby, enabling manual verification before making payouts from merchant account. This created the required delay between incoming and outgoing transfers from the merchant account. We helped create a simple yet effective system, to monitor all of the client’s transactions in just a few clicks.
We then set up the users data from LMS backend into the Stripe using adequate security measure. This ensured that stripe will accept payments from registered students and continue to accept new student payments smoothly.
Though stripe does not support voice support, their email as well as chat support was really good. The support team responded timely and provided solutions that helped our team integrate Webhooks API seamlessly into the payment gateway.
The overall experience was just awesome. Apart from strengthening our relationship with our client, we were able to work out an optimum solution for any mid-size business.
The most important thing in this project was in the simplest detail– the lag in processing time, yet it affected the entire business. Instead of the payout processed first model, we were able to create a payment first model.
This brings the second point– custom solutions. Even with the host of off-the-shelf products and generic solutions available, customizing a solution can do wonders to your efficiency. Closing this project, our experienced team is all set to create the next business solution.
If you are looking to build a complex payment processing system with custom validations or triggered events and would like to connect to our talented team, feel free to contact us.