The reason everybody uses WhatsApp is that they never paid for it -- in fact neither I nor anybody I asked can actually recall ever seeing payment UX on the app.
And its feasible. Back in the day there were carriers open to chat apps (eg BBM) and google play is one of the first merchants on direct carrier billing, despite every telco trying to control app marketplaces.
Fast forward to today and there are dozens of agent networks and wallet platforms for underbanked users and improvements in banking and DCB across the board. They wouldn't have had anywhere near 100% paying customers but entirely possible to get a majority.
Credit cards are the only platform I know to work reliably, but most people don't have them, and they are horrible to use online. If you don't have a credit card, what online, global alternatives exist? Paypal I guess, but using it is even harder than using a credit card..
The first wave was telcos, which largely failed with the exception of a tiny few (eg m-pesa in kenya, globecash in philipenes). Banks entered the frey but struggled. Then the new wave came around, led by Alipay and Wechat. They kick started their wallets by leveraging existing products (ecommerce, chat) before expanding it to point of sale. This model is growing strong (see go-pay, grab-pay, paytm).
But the whatsapp problem could have been solved by a far more traditional route. You dont need people to pay on whatsapp, but rather just need the $$ to get to whatsapp. For that type of thing electronic voucher distribution could have been leveraged, in the same way that play, games vouchers, itunes vouchers work.
So Whatsapp sell codes at a 5-10% discount to 3 large companies (paid in advance), who then onsell through a network of parties until someone wanders up to a street stall, gives a dollar-equivilent in cash to the owner of the stall and receives their code. The code when entered extends the subscriptions. Everyone in the chain takes a portion of the fee.
If your feeling particularly fancy you can replace the entire voucher with a realtime call that activates that persons subscription. But needs to be on a per-country basis.