Jordy Albert Bish
Benefits
Specifications
How-to
Contact Us
Learn More
Payment SDK
One payment flow for all core services
14 min read • 2021
Introduction
From Taxi Service to a Super App
Grab started as a taxi-hailing app in Malaysia in 2012. Over the years, it evolved into a Southeast Asian super app offering transport, food, express delivery, financial services, and more, serving over 650 million people across 8 countries.
Following the success of its transport service, Grab expanded its ecosystem with offerings like GrabFood, GrabExpress, and Mart. The company went public on Nasdaq in 2021 with a valuation of USD 40 billion.

The Task
Unifying Payments with Integrated Authentication for a Seamless Grab Experience
Grab’s core services (Transport, Food, and Express) had fragmented payment experiences, which often led to customer confusion and increased the complexity of maintaining and updating these systems. Feedback from users and internal teams consistently pointed to friction caused by the differing payment flows across services.
In addition, a shifting digital payment regulatory landscape, particularly in important markets like Indonesia and Vietnam where we operated through partners such as OVO and Moca due to the absence of a banking license, required the implementation of stronger user authentication measures. The core challenge was to create a unified user experience while meeting the demands of local regulatory compliance.
Our hypothesis was that introducing a consistent payment experience across these core services would reduce cognitive load, build greater customer trust, and improve the adoption rate of both existing and newly launched Grab services.
Why Now?
The digital payment regulatory environment had significantly changed since COVID. Although our number of transport transactions dramatically lowered during the outbreak due to local lockdowns and regulations, the demand for delivery services and e-commerce has led to a surge in the total transaction volume of digital payments. As a result, governments in the region are exploring better ways to safeguard the digital payment space for businesses and citizens alike.
Our high level goals were to:
Audience
Responding to Local Mandates: A Phased Rollout Strategy
The initial focus of the Payment SDK project was on users in Indonesia and Vietnam. This prioritisation was a direct response to requests from the Bank of Indonesia and the State Bank of Vietnam to enhance the safety of digital payments through user authentication in these countries.
In Vietnam, digital payments were managed by Moca, while OVO was the payment service in Indonesia. These differences highlighted a key requirement for the Payment SDK. It couldn’t be a generic solution. Instead, it needed to be tailored to integrate seamlessly with both Moca and OVO, as well as with Grab’s own GrabPay in other markets.
Besides the immediate regulatory requirements in Indonesia and Vietnam, it was essential for the Payment SDK to be designed with scalability in mind. It needed to be capable of seamless deployment across all markets and able to quickly adapt to the diverse needs and regulatory environments in the region, all while providing customers with a unified and consistent payment experience.

The Team
My Role
As the designer for the Wallet Platform, I led the design efforts for this project from its inception in 2020. I collaborated closely with cross-functional teams from Transport, Food, and Express, as well as designers from other teams within Grab Financial Group, to ensure a smooth integration of key features such as Rewards and Top Up.
Our core team included a UX Researcher, Marketing Manager, Content Strategist, and three Product Managers who rotated over the course of the project. After successfully launching the product in Indonesia and completing a full rollout in Vietnam, I transitioned ownership to the Payment team within the Grab Financial Group to support the next phase of scale and maintenance.
Constraints
No Project Comes Without its Challenges, and This One Was No Exception
Payment Services
Payments in Indonesia and Vietnam are facilitated through external partners, OVO and Moca. Although Grab held stakes in both companies, they operated independently, which meant we did not have control to implement significant changes to their products.
Time
Manage and track satellite offices, ensuring consistent performance and streamlined operations everywhere.
Tech
Engineering discussions quickly revealed vulnerabilities in our fragmented payment experiences, which were managed separately by the Transport, Food, and Express teams. The resulting inconsistencies in both UI, UX and technical implementation increased the risk of communication failures between payment and authentication modules. Therefore, unifying the technical architecture and interface design became essential for reliability and scalability.
Gathering Intelligence
Understanding the Transport, Food and Express Teams
Oftentimes, domain knowledge is distributed across teams. To effectively tap into this expertise, we proactively engaged stakeholders by sharing our product vision and inviting their input. This approach allowed us to rapidly gain insights and diverse perspectives from various services.
These collaborative sessions provided clarity on past decisions regarding payment experiences and highlighted successes and areas for improvement.
The insights we gained directly accelerated our progress and strengthened our relationships with other teams. Knowledge sharing is mutually beneficial: when teams are given a platform to express their expertise and challenges, they actively shape the product’s direction. By incorporating their insights and addressing their concerns whenever possible, we created a shared sense of ownership and commitment toward the final product
Customer feedback:
"I ordered GrabFood yesterday and had to pay with cash. However, I had balance in my GP wallet. How come it was not used to pay for this order?"
Upon investigation, we discovered that this issue originated from one of the ‘default cash scenarios’ and was affecting approximately 4% of GrabFood users. The Food and Payments teams collaborated closely to resolve it. Interestingly, we learned that the Transport team had already addressed this exact issue in their payment flow a year earlier.
Early Insights
Our analysis revealed several common pain points across our services:
We believe that addressing these pain points will streamline the user experience, resulting in greater customer satisfaction and accelerated growth for our platform.
Helping customers, engineering, business and governments
One Solution, Multiple Wins
We were excited by the many opportunities presented by the existing payment experience. Each pain point we addressed had the potential to drive both our business goals and customer satisfaction, bringing us closer to achieving our objectives. Some key design challenges identified were:
Customers
Engineering teams
Business
Governments
Our initial evaluation of the payment landscape revealed more critical challenges than anticipated, prompting us to prioritize carefully to resolve as many while maintaining project momentum.
Isolating compliance requirements
Accelerate the Authentication Feature
By separating compliance requirements from other project components, we were able to prioritise and address them more effectively.
Governments
We fast-tracked the development and launch of the authentication feature within the Payment Brick project to meet regulatory requirements in Vietnam and Indonesia, protecting the business from potential penalties.
Investing in a Future-Proof Payment Solution
We identified that a centralised payment module would unlock broader opportunities across the company. By presenting concrete scenarios where the Payment SDK could address cross-functional challenges, we secured additional resources to build a scalable, future-ready payment solution.
A consistent experience across markets and authentication methods
Minimizing Authentication Friction
In Vietnam and Indonesia, we were constrained by the security methods supported by our local payment partners. Moca relied on an OTP sent via SMS in Vietnam, while OVO used a 6-digit security code in Indonesia. In other GrabPay markets, users authenticated using a personal Grab PIN.
To reduce disruption during a booking or checkout, I designed the authentication challenge as a bottom sheet overlay. This approach maintained visual continuity by keeping users within the context of the core service happy path through a semi-transparent overlay, rather than redirecting them to a full-screen, standalone authentication page which was the current implementation.

Validating Security Through User Testing
Despite thoughtful implementation, the core service teams still had some concern about the friction of an authentication request in their transaction flow. Since no similar security challenge existed within our current checkout or booking flow, we lacked quantitative benchmarks to reassure stakeholders.
User testing helped ease these concerns. Participants successfully completed the OTP challenge, without hesitation, despite some participants needing a moment to consider the auth request during a booking flow that they were familiar with.Many users appreciated Grab’s efforts to enhance security, reinforcing confidence in the new design.

Authentication for OVO, Moca and GrabPay customers
Consistent Experience Across Markets and Authentication Methods

We successfully launched an integrated authentication feature that delivers a consistent and streamlined experience across all our markets. The solution supports third-party services, including the OVO Security Code in Indonesia, Moca’s OTP via SMS in Vietnam, and Grab PIN for GrabPay markets. This unified approach simplifies the user journey while meeting diverse regulatory and technical requirements.
Foundation for Biometric Authentication
To enable more intuitive methods such as facial and fingerprint recognition, we first implemented Grab PIN authentication in all GrabPay markets. This PIN serves as the secure foundation required to activate future biometric authentication flows.

2.7%
OTP SMS Drop-Off Rate
The drop-off rate for customers who abandoned the authentication process due to OTP SMS authentication was 2.7% which was within our expected tolerance. Although we aim to bring this to 0%, the outcome will partly depend on factors outside our control, such as local telecom infrastructure and user connectivity for the SMS receiving part of the Moca auth flow.
=
Stable Conversion Rate
Despite introducing the authentication step, the overall conversion rate remained steady. Our performance remained competitive compared to our competitors in the markets who faced the same regulatory requirements, reinforcing the effectiveness of our design in balancing compliance, security, and user experience.
Reconstructing the payment experience
Empowering Teams With a Universal Payment Toolkit
A key challenge to provide our customers with a consistent payment experience in the past was the high engineering effort required by each core service team (Transport, Food, Express) to implement and maintain new payment features. To address this, we delivered the new payment experience as an SDK (software development kit). This approach eliminated fragmented transaction flows and established a centralized source of truth across the platform. Guided by our design principles, we focused on:
Consistency
Ensure a unified and predictable transaction experience across all services.
Versatility
Support configurable authentication methods including OTP, OVO Code, and Grab ID, with optional integration for GrabPay, Moca, and OVO.
Context
Present relevant, personalized information based on each customer’s transaction history and payment behavior.
By packaging payment features into a scalable SDK, we significantly reduced development overhead for engineering teams and delivered a more seamless, user-friendly experience for customers.
The payment sheet
When Designing for Scalability Goes Too Far 🚫
My initial vision for the payment experience was to create a scalable solution that could support transactions across all Grab services and even third-party apps and websites. This ambition was driven by growing interest in applying our centralized approach beyond the core services. The goal was to build a flexible SDK that could handle a wide range of payment scenarios from prepaid mobile credits to settling utility bills and check out with GrabPay on partner websites.
To support this, I designed a flexible payment sheet capable of initiating nearly any transaction type, inspired by platforms like PayPal and Google Pay. I prototyped multiple versions and tested them across various scenarios, refining the experience until users could navigate the flow with ease.
However, core service stakeholders raised valid concerns for this universal approach to handle in-app and external payments. They felt that introducing a standalone payment screen would interfere too much with their existing user flows. Specifically, they were concerned it could lead to higher abandonment rates due to the new auth request and alter their established checkout experience where payment details were integrated on the same screen (not viewport) together with order or cart information.

One Size Does Not Fit All
In my effort to create a payment solution that supports both core services and smaller services within the app, as well as external payments, we designed a payment flow that is triggered after the service generated the transaction. The structure was designed to align with users expected checkout behavior, similar to payment experiences like PayPal and Google Pay.
The vision was to create a single product capable of handling all payment and authentication scenarios for Grab services and external partners across all markets.
However, after collaborating with core service stakeholders to assess the potential risks, we recognized that our one-size-fits-all solution, with limited white labeling flexibility, posed too much risk for our core services.
That said, our effort spent on this exploration was not wasted. The concept evolved into a simplified version of the Payment SDK, which is now used to facilitate payments for GrabPay partners.
A development toolbox for all your payment requirements
Launching the Payment Brick 🚀
We delivered a consolidated payment experience that addresses the needs of our customers, engineers, and business teams. The Payment Brick is a dynamic and centralized component that can be embedded within a sheet or page of any core service. It supports a wide range of use cases across multiple Grab products, including promoting alternative payment options, switching between profiles, encouraging loyalty behaviors, and user authentication. It also provides the flexibility to experiment with and introduce new features, such as the Green Program, a carbon footprint initiative, and future innovations.
Single Entry
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Payment Sheet
Customers do not need to interact with the Payment Brick to complete a booking or transaction in Transport, Food, or Express. By default, their selected payment settings are displayed in the Payment Brick and applied automatically during the conversion flow. If customers want to make changes, such as changing payment methods, adding an offer, or switching profiles, then the Payment Brick serves as the entry point where they can easily access and manage these options.

Brick Banner
The Payment Brick also features a banner that displays contextual information based on the customer’s profile. It can be used to encourage specific behaviors, such as applying available offers to a transaction, highlighting new features like ride insurance or the Green program, and promoting other future initiatives.
Promoting GrabPay
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Green Program
The banner can also be used to introduce the Green Program, where passengers have the option to donate a few cents per ride to support sustainable projects. Additionally, it can serve as an entry point for other features such as Ride Cover insurance, Quiet Ride for minimal conversations, and future service enhancements.

Reduce your carbon footprint with every ride
Loyalty
The Payment Brick enables us to generate awareness of our reward program, encouraging more customers to take advantage of it.

Wallet Top-Up
The banner also offers a flawless entry point for other payment scenarios like Wallet Top-Up, when customers have insufficient balance for the transaction or reach a low balance.

The Impact
Our Initiatives Led to Strong Results and Opened New Opportunities for Further Growth
240%
Increase of Wallet Activations
Monthly digital wallet activations (GrabPay, Moca, OVO) among cash users grew by 240 percent within the first three months.
17%
Increase of Rewards Points Utilization
Rewards points usage during transactions grew by 17 percent within the first 90 days after launch.
-8 pp
in Drop-Offs Due to Insufficient Funds
The drop-off rate for customers who needed to top up their balance to complete a transaction decreased by 8 percentage points within the first few weeks after the rollout.
For confidentiality and to comply with my non-disclosure agreement, specific values and certain confidential information have been left out or adjusted in this case study. The perspectives and insights shared here are based on my personal involvement and interpretation of the project's outcomes and do not necessarily represent Grab's official stance
Payment SDK
One payment flow for all core services
14 min read • 2021
Introduction
From Taxi Service to a Super App
Grab started as a taxi-hailing app in Malaysia in 2012. Over the years, it evolved into a Southeast Asian super app offering transport, food, express delivery, financial services, and more, serving over 650 million people across 8 countries.
Following the success of its transport service, Grab expanded its ecosystem with offerings like GrabFood, GrabExpress, and Mart. The company went public on Nasdaq in 2021 with a valuation of USD 40 billion.

The Task
Unifying Payments with Integrated Authentication for a Seamless Grab Experience
Grab’s core services (Transport, Food, and Express) had fragmented payment experiences, which often led to customer confusion and increased the complexity of maintaining and updating these systems. Feedback from users and internal teams consistently pointed to friction caused by the differing payment flows across services.
In addition, a shifting digital payment regulatory landscape, particularly in important markets like Indonesia and Vietnam where we operated through partners such as OVO and Moca due to the absence of a banking license, required the implementation of stronger user authentication measures. The core challenge was to create a unified user experience while meeting the demands of local regulatory compliance.
Our hypothesis was that introducing a consistent payment experience across these core services would reduce cognitive load, build greater customer trust, and improve the adoption rate of both existing and newly launched Grab services.
Why Now?
The digital payment regulatory environment had significantly changed since COVID. Although our number of transport transactions dramatically lowered during the outbreak due to local lockdowns and regulations, the demand for delivery services and e-commerce has led to a surge in the total transaction volume of digital payments. As a result, governments in the region are exploring better ways to safeguard the digital payment space for businesses and citizens alike.
Our high level goals were to:
Audience
Responding to Local Mandates: A Phased Rollout Strategy
The initial focus of the Payment SDK project was on users in Indonesia and Vietnam. This prioritisation was a direct response to requests from the Bank of Indonesia and the State Bank of Vietnam to enhance the safety of digital payments through user authentication in these countries.
In Vietnam, digital payments were managed by Moca, while OVO was the payment service in Indonesia. These differences highlighted a key requirement for the Payment SDK. It couldn’t be a generic solution. Instead, it needed to be tailored to integrate seamlessly with both Moca and OVO, as well as with Grab’s own GrabPay in other markets.
Besides the immediate regulatory requirements in Indonesia and Vietnam, it was essential for the Payment SDK to be designed with scalability in mind. It needed to be capable of seamless deployment across all markets and able to quickly adapt to the diverse needs and regulatory environments in the region, all while providing customers with a unified and consistent payment experience.

The Team
My Role
As the designer for the Wallet Platform, I led the design efforts for this project from its inception in 2020. I collaborated closely with cross-functional teams from Transport, Food, and Express, as well as designers from other teams within Grab Financial Group, to ensure a smooth integration of key features such as Rewards and Top Up.
Our core team included a UX Researcher, Marketing Manager, Content Strategist, and three Product Managers who rotated over the course of the project. After successfully launching the product in Indonesia and completing a full rollout in Vietnam, I transitioned ownership to the Payment team within the Grab Financial Group to support the next phase of scale and maintenance.
Constraints
No Project Comes Without its Challenges, and This One Was No Exception
Payment Services
Payments in Indonesia and Vietnam are facilitated through external partners, OVO and Moca. Although Grab held stakes in both companies, they operated independently, which meant we did not have control to implement significant changes to their products.
Time
Manage and track satellite offices, ensuring consistent performance and streamlined operations everywhere.
Tech
Engineering discussions quickly revealed vulnerabilities in our fragmented payment experiences, which were managed separately by the Transport, Food, and Express teams. The resulting inconsistencies in both UI, UX and technical implementation increased the risk of communication failures between payment and authentication modules. Therefore, unifying the technical architecture and interface design became essential for reliability and scalability.
Gathering Intelligence
Understanding the Transport, Food and Express Teams
Oftentimes, domain knowledge is distributed across teams. To effectively tap into this expertise, we proactively engaged stakeholders by sharing our product vision and inviting their input. This approach allowed us to rapidly gain insights and diverse perspectives from various services.
These collaborative sessions provided clarity on past decisions regarding payment experiences and highlighted successes and areas for improvement.
The insights we gained directly accelerated our progress and strengthened our relationships with other teams. Knowledge sharing is mutually beneficial: when teams are given a platform to express their expertise and challenges, they actively shape the product’s direction. By incorporating their insights and addressing their concerns whenever possible, we created a shared sense of ownership and commitment toward the final product
Customer feedback:
"I ordered GrabFood yesterday and had to pay with cash. However, I had balance in my GP wallet. How come it was not used to pay for this order?"
Upon investigation, we discovered that this issue originated from one of the ‘default cash scenarios’ and was affecting approximately 4% of GrabFood users. The Food and Payments teams collaborated closely to resolve it. Interestingly, we learned that the Transport team had already addressed this exact issue in their payment flow a year earlier.
Early Insights
Our analysis revealed several common pain points across our services:
We believe that addressing these pain points will streamline the user experience, resulting in greater customer satisfaction and accelerated growth for our platform.
Helping customers, engineering, business and governments
One Solution, Multiple Wins
We were excited by the many opportunities presented by the existing payment experience. Each pain point we addressed had the potential to drive both our business goals and customer satisfaction, bringing us closer to achieving our objectives. Some key design challenges identified were:
Customers
Engineering teams
Business
Governments
Our initial evaluation of the payment landscape revealed more critical challenges than anticipated, prompting us to prioritize carefully to resolve as many while maintaining project momentum.
Isolating compliance requirements
Accelerate the Authentication Feature
By separating compliance requirements from other project components, we were able to prioritise and address them more effectively.
Governments
We fast-tracked the development and launch of the authentication feature within the Payment Brick project to meet regulatory requirements in Vietnam and Indonesia, protecting the business from potential penalties.
Investing in a Future-Proof Payment Solution
We identified that a centralised payment module would unlock broader opportunities across the company. By presenting concrete scenarios where the Payment SDK could address cross-functional challenges, we secured additional resources to build a scalable, future-ready payment solution.
A consistent experience across markets and authentication methods
Minimizing Authentication Friction
In Vietnam and Indonesia, we were constrained by the security methods supported by our local payment partners. Moca relied on an OTP sent via SMS in Vietnam, while OVO used a 6-digit security code in Indonesia. In other GrabPay markets, users authenticated using a personal Grab PIN.
To reduce disruption during a booking or checkout, I designed the authentication challenge as a bottom sheet overlay. This approach maintained visual continuity by keeping users within the context of the core service happy path through a semi-transparent overlay, rather than redirecting them to a full-screen, standalone authentication page which was the current implementation.

Validating Security Through User Testing
Despite thoughtful implementation, the core service teams still had some concern about the friction of an authentication request in their transaction flow. Since no similar security challenge existed within our current checkout or booking flow, we lacked quantitative benchmarks to reassure stakeholders.
User testing helped ease these concerns. Participants successfully completed the OTP challenge, without hesitation, despite some participants needing a moment to consider the auth request during a booking flow that they were familiar with.Many users appreciated Grab’s efforts to enhance security, reinforcing confidence in the new design.

Authentication for OVO, Moca and GrabPay customers
Consistent Experience Across Markets and Authentication Methods
We successfully launched an integrated authentication feature that delivers a consistent and streamlined experience across all our markets. The solution supports third-party services, including the OVO Security Code in Indonesia, Moca’s OTP via SMS in Vietnam, and Grab PIN for GrabPay markets. This unified approach simplifies the user journey while meeting diverse regulatory and technical requirements.

Foundation for Biometric Authentication
To enable more intuitive methods such as facial and fingerprint recognition, we first implemented Grab PIN authentication in all GrabPay markets. This PIN serves as the secure foundation required to activate future biometric authentication flows.

2.7%
OTP SMS Drop-Off Rate
The drop-off rate for customers who abandoned the authentication process due to OTP SMS authentication was 2.7% which was within our expected tolerance. Although we aim to bring this to 0%, the outcome will partly depend on factors outside our control, such as local telecom infrastructure and user connectivity for the SMS receiving part of the Moca auth flow.
=
Stable Conversion Rate
Despite introducing the authentication step, the overall conversion rate remained steady. Our performance remained competitive compared to our competitors in the markets who faced the same regulatory requirements, reinforcing the effectiveness of our design in balancing compliance, security, and user experience.
Reconstructing the payment experience
Empowering Teams With a Universal Payment Toolkit
A key challenge to provide our customers with a consistent payment experience in the past was the high engineering effort required by each core service team (Transport, Food, Express) to implement and maintain new payment features. To address this, we delivered the new payment experience as an SDK (software development kit). This approach eliminated fragmented transaction flows and established a centralized source of truth across the platform. Guided by our design principles, we focused on:
Versatility
Support configurable authentication methods including OTP, OVO Code, and Grab ID, with optional integration for GrabPay, Moca, and OVO.
Context
Present relevant, personalized information based on each customer’s transaction history and payment behavior.
Consistency
Ensure a unified and predictable transaction experience across all services.
By packaging payment features into a scalable SDK, we significantly reduced development overhead for engineering teams and delivered a more seamless, user-friendly experience for customers.
The payment sheet
When Designing for Scalability Goes Too Far 🚫
My initial vision for the payment experience was to create a scalable solution that could support transactions across all Grab services and even third-party apps and websites. This ambition was driven by growing interest in applying our centralized approach beyond the core services. The goal was to build a flexible SDK that could handle a wide range of payment scenarios from prepaid mobile credits to settling utility bills and check out with GrabPay on partner websites.
To support this, I designed a flexible payment sheet capable of initiating nearly any transaction type, inspired by platforms like PayPal and Google Pay. I prototyped multiple versions and tested them across various scenarios, refining the experience until users could navigate the flow with ease.
However, core service stakeholders raised valid concerns for this universal approach to handle in-app and external payments. They felt that introducing a standalone payment screen would interfere too much with their existing user flows. Specifically, they were concerned it could lead to higher abandonment rates due to the new auth request and alter their established checkout experience where payment details were integrated on the same screen (not viewport) together with order or cart information.

One Size Does Not Fit All
In my effort to create a payment solution that supports both core services and smaller services within the app, as well as external payments, we designed a payment flow that is triggered after the service generated the transaction. The structure was designed to align with users expected checkout behavior, similar to payment experiences like PayPal and Google Pay.
The vision was to create a single product capable of handling all payment and authentication scenarios for Grab services and external partners across all markets.
However, after collaborating with core service stakeholders to assess the potential risks, we recognized that our one-size-fits-all solution, with limited white labeling flexibility, posed too much risk for our core services.
That said, our effort spent on this exploration was not wasted. The concept evolved into a simplified version of the Payment SDK, which is now used to facilitate payments for GrabPay partners.
A development toolbox for all your payment requirements
Launching the Payment Brick 🚀
We delivered a consolidated payment experience that addresses the needs of our customers, engineers, and business teams. The Payment Brick is a dynamic and centralized component that can be embedded within a sheet or page of any core service. It supports a wide range of use cases across multiple Grab products, including promoting alternative payment options, switching between profiles, encouraging loyalty behaviors, and user authentication. It also provides the flexibility to experiment with and introduce new features, such as the Green Program, a carbon footprint initiative, and future innovations.
Single Entry
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Payment Sheet
Customers do not need to interact with the Payment Brick to complete a booking or transaction in Transport, Food, or Express. By default, their selected payment settings are displayed in the Payment Brick and applied automatically during the conversion flow. If customers want to make changes, such as changing payment methods, adding an offer, or switching profiles, then the Payment Brick serves as the entry point where they can easily access and manage these options.

Brick Banner
The Payment Brick also features a banner that displays contextual information based on the customer’s profile. It can be used to encourage specific behaviors, such as applying available offers to a transaction, highlighting new features like ride insurance or the Green program, and promoting other future initiatives.
Promoting GrabPay
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Green Program
The banner can also be used to introduce the Green Program, where passengers have the option to donate a few cents per ride to support sustainable projects. Additionally, it can serve as an entry point for other features such as Ride Cover insurance, Quiet Ride for minimal conversations, and future service enhancements.

Reduce your carbon footprint with every ride
Loyalty
The Payment Brick enables us to generate awareness of our reward program, encouraging more customers to take advantage of it.

Wallet Top-Up
The banner also offers a flawless entry point for other payment scenarios like Wallet Top-Up, when customers have insufficient balance for the transaction or reach a low balance.

The Impact
Our Initiatives Led to Strong Results and Opened New Opportunities for Further Growth
240%
Increase of Wallet Activations
Monthly digital wallet activations (GrabPay, Moca, OVO) among cash users grew by 240 percent within the first three months.
17%
Increase of Rewards Points Utilization
Rewards points usage during transactions grew by 17 percent within the first 90 days after launch.
-8 pp
in Drop-Offs Due to Insufficient Funds
The drop-off rate for customers who needed to top up their balance to complete a transaction decreased by 8 percentage points within the first few weeks after the rollout.
For confidentiality and to comply with my non-disclosure agreement, specific values and certain confidential information have been left out or adjusted in this case study. The perspectives and insights shared here are based on my personal involvement and interpretation of the project's outcomes and do not necessarily represent Grab's official stance
Payment SDK
One payment flow for all core services
14 min read • 2021

Introduction
From Taxi Service to a Super App
Grab started as a taxi-hailing app in Malaysia in 2012. Over the years, it evolved into a Southeast Asian super app offering transport, food, express delivery, financial services, and more, serving over 650 million people across 8 countries.
Following the success of its transport service, Grab expanded its ecosystem with offerings like GrabFood, GrabExpress, and Mart. The company went public on Nasdaq in 2021 with a valuation of USD 40 billion.
The Task
Unifying Payments with Integrated Authentication for a Seamless Grab Experience
Grab’s core services (Transport, Food, and Express) had fragmented payment experiences, which often led to customer confusion and increased the complexity of maintaining and updating these systems. Feedback from users and internal teams consistently pointed to friction caused by the differing payment flows across services.
In addition, a shifting digital payment regulatory landscape, particularly in important markets like Indonesia and Vietnam where we operated through partners such as OVO and Moca due to the absence of a banking license, required the implementation of stronger user authentication measures. The core challenge was to create a unified user experience while meeting the demands of local regulatory compliance.
Our hypothesis was that introducing a consistent payment experience across these core services would reduce cognitive load, build greater customer trust, and improve the adoption rate of both existing and newly launched Grab services.
Why Now?
The digital payment regulatory environment had significantly changed since COVID. Although our number of transport transactions dramatically lowered during the outbreak due to local lockdowns and regulations, the demand for delivery services and e-commerce has led to a surge in the total transaction volume of digital payments. As a result, governments in the region are exploring better ways to safeguard the digital payment space for businesses and citizens alike.
Our high level goals were to:
Audience
Responding to Local Mandates: A Phased Rollout Strategy
The initial focus of the Payment SDK project was on users in Indonesia and Vietnam. This prioritisation was a direct response to requests from the Bank of Indonesia and the State Bank of Vietnam to enhance the safety of digital payments through user authentication in these countries.
In Vietnam, digital payments were managed by Moca, while OVO was the payment service in Indonesia. These differences highlighted a key requirement for the Payment SDK. It couldn’t be a generic solution. Instead, it needed to be tailored to integrate seamlessly with both Moca and OVO, as well as with Grab’s own GrabPay in other markets.
Besides the immediate regulatory requirements in Indonesia and Vietnam, it was essential for the Payment SDK to be designed with scalability in mind. It needed to be capable of seamless deployment across all markets and able to quickly adapt to the diverse needs and regulatory environments in the region, all while providing customers with a unified and consistent payment experience.

The Team
My Role
As the designer for the Wallet Platform, I led the design efforts for this project from its inception in 2020. I collaborated closely with cross-functional teams from Transport, Food, and Express, as well as designers from other teams within Grab Financial Group, to ensure a smooth integration of key features such as Rewards and Top Up.
Our core team included a UX Researcher, Marketing Manager, Content Strategist, and three Product Managers who rotated over the course of the project. After successfully launching the product in Indonesia and completing a full rollout in Vietnam, I transitioned ownership to the Payment team within the Grab Financial Group to support the next phase of scale and maintenance.
Constraints
No Project Comes Without its Challenges, and This One Was No Exception
Payment Services
Payments in Indonesia and Vietnam are facilitated through external partners, OVO and Moca. Although Grab held stakes in both companies, they operated independently, which meant we did not have control to implement significant changes to their products.
Time
Manage and track satellite offices, ensuring consistent performance and streamlined operations everywhere.
Tech
Engineering discussions quickly revealed vulnerabilities in our fragmented payment experiences, which were managed separately by the Transport, Food, and Express teams. The resulting inconsistencies in both UI, UX and technical implementation increased the risk of communication failures between payment and authentication modules. Therefore, unifying the technical architecture and interface design became essential for reliability and scalability.
Gathering Intelligence
Understanding the Transport, Food and Express Teams
Oftentimes, domain knowledge is distributed across teams. To effectively tap into this expertise, we proactively engaged stakeholders by sharing our product vision and inviting their input. This approach allowed us to rapidly gain insights and diverse perspectives from various services.
These collaborative sessions provided clarity on past decisions regarding payment experiences and highlighted successes and areas for improvement.
The insights we gained directly accelerated our progress and strengthened our relationships with other teams. Knowledge sharing is mutually beneficial: when teams are given a platform to express their expertise and challenges, they actively shape the product’s direction. By incorporating their insights and addressing their concerns whenever possible, we created a shared sense of ownership and commitment toward the final product
Customer feedback:
"I ordered GrabFood yesterday and had to pay with cash. However, I had balance in my GP wallet. How come it was not used to pay for this order?"
Upon investigation, we discovered that this issue originated from one of the ‘default cash scenarios’ and was affecting approximately 4% of GrabFood users. The Food and Payments teams collaborated closely to resolve it. Interestingly, we learned that the Transport team had already addressed this exact issue in their payment flow a year earlier.
Early Insights
Our analysis revealed several common pain points across our services:
We believe that addressing these pain points will streamline the user experience, resulting in greater customer satisfaction and accelerated growth for our platform.
Helping customers, engineering, business and governments
One Solution, Multiple Wins
We were excited by the many opportunities presented by the existing payment experience. Each pain point we addressed had the potential to drive both our business goals and customer satisfaction, bringing us closer to achieving our objectives. Some key design challenges identified were:
Customers
Engineering teams
Business
Governments
Our initial evaluation of the payment landscape revealed more critical challenges than anticipated, prompting us to prioritize carefully to resolve as many while maintaining project momentum.
Isolating compliance requirements
Accelerate the Authentication Feature
By separating compliance requirements from other project components, we were able to prioritise and address them more effectively.
Governments
We fast-tracked the development and launch of the authentication feature within the Payment Brick project to meet regulatory requirements in Vietnam and Indonesia, protecting the business from potential penalties.
Investing in a Future-Proof Payment Solution
We identified that a centralised payment module would unlock broader opportunities across the company. By presenting concrete scenarios where the Payment SDK could address cross-functional challenges, we secured additional resources to build a scalable, future-ready payment solution.
A consistent experience across markets and authentication methods
Minimizing Authentication Friction
In Vietnam and Indonesia, we were constrained by the security methods supported by our local payment partners. Moca relied on an OTP sent via SMS in Vietnam, while OVO used a 6-digit security code in Indonesia. In other GrabPay markets, users authenticated using a personal Grab PIN.
To reduce disruption during a booking or checkout, I designed the authentication challenge as a bottom sheet overlay. This approach maintained visual continuity by keeping users within the context of the core service happy path through a semi-transparent overlay, rather than redirecting them to a full-screen, standalone authentication page which was the current implementation.

Validating Security Through User Testing
Despite thoughtful implementation, the core service teams still had some concern about the friction of an authentication request in their transaction flow. Since no similar security challenge existed within our current checkout or booking flow, we lacked quantitative benchmarks to reassure stakeholders.
User testing helped ease these concerns. Participants successfully completed the OTP challenge, without hesitation, despite some participants needing a moment to consider the auth request during a booking flow that they were familiar with.Many users appreciated Grab’s efforts to enhance security, reinforcing confidence in the new design.

Authentication for OVO, Moca and GrabPay customers
Consistent Experience Across Markets and Authentication Methods
We successfully launched an integrated authentication feature that delivers a consistent and streamlined experience across all our markets. The solution supports third-party services, including the OVO Security Code in Indonesia, Moca’s OTP via SMS in Vietnam, and Grab PIN for GrabPay markets. This unified approach simplifies the user journey while meeting diverse regulatory and technical requirements.

Foundation for Biometric Authentication
To enable more intuitive methods such as facial and fingerprint recognition, we first implemented Grab PIN authentication in all GrabPay markets. This PIN serves as the secure foundation required to activate future biometric authentication flows.

2.7%
OTP SMS Drop-Off Rate
The drop-off rate for customers who abandoned the authentication process due to OTP SMS authentication was 2.7% which was within our expected tolerance. Although we aim to bring this to 0%, the outcome will partly depend on factors outside our control, such as local telecom infrastructure and user connectivity for the SMS receiving part of the Moca auth flow.
=
Stable Conversion Rate
Despite introducing the authentication step, the overall conversion rate remained steady. Our performance remained competitive compared to our competitors in the markets who faced the same regulatory requirements, reinforcing the effectiveness of our design in balancing compliance, security, and user experience.
Reconstructing the payment experience
Empowering Teams With a Universal Payment Toolkit
A key challenge to provide our customers with a consistent payment experience in the past was the high engineering effort required by each core service team (Transport, Food, Express) to implement and maintain new payment features. To address this, we delivered the new payment experience as an SDK (software development kit). This approach eliminated fragmented transaction flows and established a centralized source of truth across the platform. Guided by our design principles, we focused on:
Consistency
Ensure a unified and predictable transaction experience across all services.
Versatility
Support configurable authentication methods including OTP, OVO Code, and Grab ID, with optional integration for GrabPay, Moca, and OVO.
Context
Present relevant, personalized information based on each customer’s transaction history and payment behavior.
By packaging payment features into a scalable SDK, we significantly reduced development overhead for engineering teams and delivered a more seamless, user-friendly experience for customers.
The payment sheet
When Designing for Scalability Goes Too Far 🚫
My initial vision for the payment experience was to create a scalable solution that could support transactions across all Grab services and even third-party apps and websites. This ambition was driven by growing interest in applying our centralized approach beyond the core services. The goal was to build a flexible SDK that could handle a wide range of payment scenarios from prepaid mobile credits to settling utility bills and check out with GrabPay on partner websites.
To support this, I designed a flexible payment sheet capable of initiating nearly any transaction type, inspired by platforms like PayPal and Google Pay. I prototyped multiple versions and tested them across various scenarios, refining the experience until users could navigate the flow with ease.
However, core service stakeholders raised valid concerns for this universal approach to handle in-app and external payments. They felt that introducing a standalone payment screen would interfere too much with their existing user flows. Specifically, they were concerned it could lead to higher abandonment rates due to the new auth request and alter their established checkout experience where payment details were integrated on the same screen (not viewport) together with order or cart information.

One Size Does Not Fit All
In my effort to create a payment solution that supports both core services and smaller services within the app, as well as external payments, we designed a payment flow that is triggered after the service generated the transaction. The structure was designed to align with users expected checkout behavior, similar to payment experiences like PayPal and Google Pay.
The vision was to create a single product capable of handling all payment and authentication scenarios for Grab services and external partners across all markets.
However, after collaborating with core service stakeholders to assess the potential risks, we recognized that our one-size-fits-all solution, with limited white labeling flexibility, posed too much risk for our core services.
That said, our effort spent on this exploration was not wasted. The concept evolved into a simplified version of the Payment SDK, which is now used to facilitate payments for GrabPay partners.
A development toolbox for all your payment requirements
Launching the Payment Brick 🚀
We delivered a consolidated payment experience that addresses the needs of our customers, engineers, and business teams. The Payment Brick is a dynamic and centralized component that can be embedded within a sheet or page of any core service. It supports a wide range of use cases across multiple Grab products, including promoting alternative payment options, switching between profiles, encouraging loyalty behaviors, and user authentication. It also provides the flexibility to experiment with and introduce new features, such as the Green Program, a carbon footprint initiative, and future innovations.
Single Entry
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Payment Sheet
Customers do not need to interact with the Payment Brick to complete a booking or transaction in Transport, Food, or Express. By default, their selected payment settings are displayed in the Payment Brick and applied automatically during the conversion flow. If customers want to make changes, such as changing payment methods, adding an offer, or switching profiles, then the Payment Brick serves as the entry point where they can easily access and manage these options.

Brick Banner
The Payment Brick also features a banner that displays contextual information based on the customer’s profile. It can be used to encourage specific behaviors, such as applying available offers to a transaction, highlighting new features like ride insurance or the Green program, and promoting other future initiatives.
Promoting GrabPay
We created a unified entry point for all payment-related features, including Payment Methods, Profiles, and Offers, to deliver a more streamlined and intuitive experience.

Green Program
The banner can also be used to introduce the Green Program, where passengers have the option to donate a few cents per ride to support sustainable projects. Additionally, it can serve as an entry point for other features such as Ride Cover insurance, Quiet Ride for minimal conversations, and future service enhancements.

Reduce your carbon footprint with every ride
Loyalty
The Payment Brick enables us to generate awareness of our reward program, encouraging more customers to take advantage of it.

Wallet Top-Up
The banner also offers a flawless entry point for other payment scenarios like Wallet Top-Up, when customers have insufficient balance for the transaction or reach a low balance.

The Impact
Our Initiatives Led to Strong Results and Opened New Opportunities for Further Growth
240%
Increase of Wallet Activations
Monthly digital wallet activations (GrabPay, Moca, OVO) among cash users grew by 240 percent within the first three months.
17%
Increase of Rewards Points Utilization
Rewards points usage during transactions grew by 17 percent within the first 90 days after launch.
-8 pp
in Drop-Offs Due
to Insufficient Funds
The drop-off rate for customers who needed to top up their balance to complete a transaction decreased by 8 percentage points within the first few weeks after the rollout.
For confidentiality and to comply with my non-disclosure agreement, specific values and certain confidential information have been left out or adjusted in this case study. The perspectives and insights shared here are based on my personal involvement and interpretation of the project's outcomes and do not necessarily represent Grab's official stance