How to use SMS messages to process mobile money payments in real time

When you start working with mobile money payment operators, they usually offer to send you a SMS message for every payment that is credited to your mobile money account. In this article, we will see how to leverage this to process your mobile money payments automatically in real time. Indeed, even if you are looking for an API integration with them, this will usually take time, and using the SMS messages will allow you to get started quickly and at low cost.

Receiving SMS and forwarding them to the internet

It is most likely that the mobile money payments partners will require that you use a local phone number to receive the payment notifications.

If you are located in a country where you can get a virtual phone number with a service like Twilio, Nexmo or a local supplier, this is a great option. Pick a SMS enabled number, and give it to your mobile money partner. This will only cost about USD1 per month, and is an easy solution to get started.

What the mobile money payment notifications look like

The format will change, but the information will typically be the same for every mobile money operator, with a few minor variations. Usually, those SMS notifications will look like something like that: “Success Bill Pay Amount: 5.00USD With COMPANY Customer ID: 89654701 078333054 Date: 2017-08-05 12:16:27 TID: HUI396R7A” So, what does that mean? In full sentences, this would give the following:

The amount of “5.00USD”

has been paid to the company “COMPANY”

from the customer of customer ID “89654701” and phone number “078333054”

on the “2017-08-05” at “12:16:27”

with the transaction ID “HUI396R7A”.

What is key here is that those messages actually include all the information we need to automate a lot of our internal processes.

Automatically process your transactions

Indeed, the SMS has a lot of information that can be leveraged to streamline the operations: customer name, amount, phone number… After the SMS gateway forwards this SMS to the internet, we have different choices:

We can just keep the message as a whole, for instance storing it in a Google Sheet

Or we can split the message to identify the different pieces of information (a process called “parsing”), and use this data to automatically process the payment or notify your team or customer.

A practical example

In practice, the process could for instance be the following:

With your local SMS gateway, you forward the SMS content to a specific Google Sheet using the Google Sheet API. Airtable, which is another online service with spreadsheet like functionality, is also a great candidate for this.

In Google Sheet, with a Google Script, you then split the message in the different fields you need. This way, you automatically identify the customer who paid, his phone number, the amount that was paid and the transaction ID.

Then you send an SMS to the phone number of the customer to thank him for his payment, for instance with the Google Sheets and Twilio integration from Zapier.

Automating processes based on analyzing the content of the SMS notification

In a few short steps, the data that we received in a basic SMS is now stored online, we have notified the customer and the team by SMS and email, and updated our accounting platform. All of this with no programming and no specialized backend!

Conclusion

The automation options are endless, and a lot can already be done with little or no programming. If you want to go further, some programming might however be useful, or you can use one of the platforms of the market, like Portmoni, which already include the reconciliation, invoicing and customer notification features right out of the box.

Key resources

Online sheets that you can easily connect to you services: Google Sheets