Every user has a unique Bango ID
Before you can take payment from a user, you must find out who the user is. This section describes how to identify someone using the Bango Payment API.
In real life, taking payment can be complex. For example, a coffee shop accepting card payments must have processes for many scenarios: chip-and-pin, contactless, signature, device biometric, custom device app, and so on. And staff must cope when one scenario fails, falling back to another process – which means slower, longer lines, and your coffee arrives late. When there's a new way to pay, it takes a while to trickle down to outlets and to train staff.
The Bango Platform is a secure system designed to be able to handle all payment scenarios – current and future. It automatically chooses the most appropriate method for taking payment, based on several factors. When your store needs to charge the user, it makes a Bango Payment API call requesting the user's identity. The API responds either with that identity, or with an action that your store needs to perform before asking for the identity again. It's like a conversation between your store and the Bango Platform. When the conversation ends, and you know the user's identity, you can use that identity to charge the user. This conversational approach makes your code simpler, and means the Bango Platform can be extended with new payment scenarios.
For example, here's a typical conversation:
In your store, you write code to handle the different actions the Bango Platform might ask your store to perform (together with a fallback for unrecognized actions or actions you can't perform).
Each payment provider the Bango Platform supports has its own idea of a user's identity. For example, it might be an MSISDN (phone number), or credit card details, or a bespoke identifier of some kind. The Bango Platform manages these details for you, which lets you activate new payment routes without requiring significant changes to your code. Instead, the Bango Platform provides you with a unique identifier called a Bango ID for each user.
A Bango ID is a positive, opaque integer issued by Bango as a unique, anonymized reference (token) to a collection of user data held securely within the Bango Platform. A Bango ID has no intrinsic value and can only be used with the Bango Platform – for example, to charge a user for a purchase.
A user or device has the same Bango ID for all stores, and across all payment providers. However, users may reset their Bango ID at any time. This means you can't rely on a Bango ID existing forever.