Overview
When a student says yes on a call, the sale should close on that call. Pay by Link lets the agent make a ready-to-pay Shikho payment link from the lead's page in our CRM and send it on WhatsApp or SMS. The student or a parent opens it on their own phone and pays.
The problem
- No way to send a link from the CRM. Making a payment link was a slow, manual process outside the CRM, done at the exact moment the student was ready to pay.
- Hard to see who sold what. Links made outside the CRM couldn't be tied back to the agent, the call or the channel.
- The sale often slipped. If the student said "I'll pay later", the agent had nothing to leave them with.
Goals
- Made where the agent works. The link is made from the lead's page in the CRM.
- A few steps. Pick, price, send, while the student is still on the call.
- Every sale traceable. Every link carries a coupon, and every send goes through the CRM.
The solution
A Pay by Link button on the lead's page opens a drawer. The CRM asks Shikho which courses this student can buy and shows them. The agent picks one, applies a coupon, generates the link and sends it. The CRM never sets a price itself: it shows what Shikho returns and passes the choice back unchanged.




Phase 2: smaller steps
The first version could only sell the full course. Usage dropped soon after launch, and the reason was clear on the calls: when a student said the full price was too much, the agent had nothing smaller to put on the table, and the call ended without a sale. A student who had already paid for part of a course couldn't even be sold the rest.
Phase 2 shows every part Shikho will sell to that student: the full course, a single quarter, or the quarters left, each at its own price. A student who can't pay for the whole course can start with one quarter.
- Backlog, shown not blocked. A quarter that has already started is still sellable, with a tag that tells the agent, so the student doesn't find out after paying.
- Coupons survive a change of mind. A single-use coupon used to count as used the moment a link was made. Now it only counts when the student pays, so the agent can go back, change the quarter, and apply it again.
Decisions and trade-offs
Price lives on the part, not the course
A course can have several parts at different prices, so the course list shows no price at all. Any single number there would be half true.
The label follows what's sold
"Remaining" sells the rest of the course, even though it's billed quarterly. Calling it "Quarterly" would tell the agent the wrong thing on a live call.
No copy button
The link only goes out by WhatsApp or SMS from the CRM. A copied link can't be tracked, so the button was left out on purpose.
A coupon on every link
Generate stays off until a valid coupon is applied, so every sale is tied to the channel that made it.
Start fresh each time
Generate another link clears everything and reloads the courses, so the agent never sells at a stale price.
Track every action
Each generate and each send is logged on its own, with the course, part, price, coupon and who it went to, so we can see which channel and which numbers convert.
Results
250+
users take payment with Pay by Link.
We sent the floor a step-by-step guide in pictures, with one line for the moment that matters: full price too high? Offer one quarter. Pay by Link now also opens straight from Sales Desk, with the course, quarter and coupon already filled in.
What I learned
Removing a step only helps if the agent still has something to offer. A smaller option on the table kept more sales alive than a faster checkout alone.
The CRM and Shikho backend engineering teams built it.
Back to all work