Interoperability between financial services continues to be a key focus for development in the mobile money ecosystem, but it remains a complex area with a high risk of error. The GSMA Inclusive Tech Lab is proudly supporting the industry in navigating the challenges of implementing interoperability solutions with the GSMA Interoperability Test Platform (ITP). After only three months since the initial launch, adoption of this industry-leading platform has grown rapidly, and today we are excited to announce the release of our first major update to the platform.
The features we are launching today present a suite of improvements to make life easier for both individual developers and business managers building the tooling for interoperability in the mobile money ecosystem.
Collaboration tools for business managers
Good development work never happens in isolation, and this is doubly true in a complex environment like interoperability. Different contributors will often have a deep understanding of different parts of the interoperability workflow, so it is crucial to allow these contributors to easily work together. With this release of the ITP, we have added the ability for users to share their test sessions with one another within a user group.
User groups are managed by a group administrator, and can be configured to allow members to join the group based on detailed email filters. For example, it’s possible to allow everyone with an “@gsma.com” address to join a group, and also to grant access to the specific email address “email@example.com”. The privacy of all system users is preserved by ensuring that group administrators are only able to see registered users whose email address matches these domain filters. Within the group, all users can inspect each other’s test sessions, to see what is causing a test failure or simply to see the expected flow of a use-case with the flow inspector.
In addition, we now offer the ability to promote a member of the group to a “Test Case Creator” role. The ITP is an open platform, and allows anyone to create test cases to cover every condition within your environment. Users with the “Test Case Creator” role will be able to create and edit test cases, which will immediately be available to all users within the user group.
Debugging features for developers
As a developer, it can often feel as if more of your time is spent chasing down error codes than actually implementing new features. Version 1.1 of the ITP includes a suite of features geared towards rectifying this imbalance, and helping developers be more productive.
One of the most common errors faced by developers using the platform is that their component responded to a request, but the request never appeared in the test execution. The test platform has a powerful matching system that allows multiple tests to be run concurrently, but which can make these disappearing messages harder to trace. The first of our new features displays messages received by the platform, whether or not they match an expected test case. When a message doesn’t match a step in a current test session, the full request is displayed along with any error messages to help pinpoint why the matching failed.
In a complex workflow, it’s also common for a single step of the flow to encounter an error. When investigating the error it’s often helpful to reproduce it – but in a multi-step flow that can be a little difficult. In version 1.1, we have introduced a “Copy cURL” button. cURL is a tool used to (amongst other things) send HTTP requests using URLs with parameters. Because it is such a common tool, the cURL format is also understood by other applications such as Postman. The “Copy cURL” button therefore allows developers to instantly execute the troublesome step in a dedicated debugging environment such as their terminal, or Postman.
Finally, in a development environment, conditions are always changing. Test cases may be updated at any time, and component URLs may not be static – especially when running through a reverse proxy. We have improved the developer experience to accommodate this turbulent workflow, and test sessions can now be edited at any time. When editing a session, test cases can be added or removed, with the full execution history preserved in case the test case is restored in future.
New Test Cases
To accelerate adoption of the platform, the ITP has always included a set of common test cases which are available to use as soon as you sign up. We are also including two new sets of test cases in the 1.1 release, meaning that the test platform now comes with test cases covering P2P, customer-initiated merchant payment and customer-initiated cash-out use-cases. Not only do these test cases allow you to immediately start testing your implementations, but they can also provide a useful starting point for writing your own test cases.
While we are excited to be releasing version 1.1 of the Interoperability Test Platform, we have not slowed down our development work, with more features coming up soon. The next release will be largely focused on enabling use with more specialized environments, supporting environment variables to customize the flow of test case messages, as well as adding security features to validate signatures and handle encrypted messages. We will also be expanding the core offering by enabling hub operators who are running an instance of the test platform to validate the result of test sessions in a systematic and reliable way, thereby allowing them to certify that participants have correctly implemented their solutions.
We’re also hard at work on adding more built-in test cases covering cash-in and cash-out transactions, refunds, and bulk payments. Further down the line, we’ve had requests for a graphical way to create test cases, and for an interface to simplify the selection of the most appropriate test cases for a test session.
With all this work going on, the GSMA Interoperability Test Platform is growing every day. Sign up for free today and experience the new features for yourself!