Jordy Albert Bish

Open mobile menu

Benefits

Specifications

How-to

Contact Us

Learn More

Phone

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.

A image of a concrete sphere, balanced between two other larger spheres

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:

  1. Standardize the payment experience across services
  2. Implement user authentication measures for all payments

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.

A render of three white cylindrical columns, against a warm creme background

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:

  • Inconsistent rollout of new payment features or improvements across payment flows, primarily due to limited engineering resources or differing prioritization within the Transport, Food, and Express teams.

  • Customers who pay via linked credit/debit cards or digital payment methods are more valuable to our platform, as they generate higher transaction volumes. However, persuading customers to shift from cash to digital payments typically requires significant time and cost.

  • High drop-off rates occur when users have insufficient balance to complete a task/ transactions, negatively affecting customer experience and leading to lost potential revenue.

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

  • How might we reduce cognitive load for customers when completing transactions across our core services?
  • How might we better support customers with insufficient balance to successfully complete transactions?

Engineering teams

  • How might we consistently ensure core teams can leverage the latest payment features and improvements?
  • How might we lower engineering costs related to maintaining and deploying new payment features?

Business

  • How can we increase awareness and adoption of digital payment options among cash users?
  • How might we accelerate time-to-market for launching new services?

Governments

  • How might we achieve quicker compliance with evolving government regulations across markets?

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.

A image that shows a mountain range

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.

A image of a concrete sphere, balanced between two other larger spheres

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:

  1. Standardize the payment experience across services
  2. Implement user authentication measures for all payments

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.

A render of three white cylindrical columns, against a warm creme background

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:

  • Inconsistent rollout of new payment features or improvements across payment flows, primarily due to limited engineering resources or differing prioritization within the Transport, Food, and Express teams.

  • Customers who pay via linked credit/debit cards or digital payment methods are more valuable to our platform, as they generate higher transaction volumes. However, persuading customers to shift from cash to digital payments typically requires significant time and cost.

  • High drop-off rates occur when users have insufficient balance to complete a task/ transactions, negatively affecting customer experience and leading to lost potential revenue.

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

  • How might we reduce cognitive load for customers when completing transactions across our core services?
  • How might we better support customers with insufficient balance to successfully complete transactions?

Engineering teams

  • How might we consistently ensure core teams can leverage the latest payment features and improvements?
  • How might we lower engineering costs related to maintaining and deploying new payment features?

Business

  • How can we increase awareness and adoption of digital payment options among cash users?
  • How might we accelerate time-to-market for launching new services?

Governments

  • How might we achieve quicker compliance with evolving government regulations across markets?

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.

A image that shows a mountain range

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

A image of a concrete sphere, balanced between two other larger spheres

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:

  1. Standardize the payment experience across services
  2. Implement user authentication measures for all payments

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.

A render of three white cylindrical columns, against a warm creme background

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:

  • Inconsistent rollout of new payment features or improvements across payment flows, primarily due to limited engineering resources or differing prioritization within the Transport, Food, and Express teams.

  • Customers who pay via linked credit/debit cards or digital payment methods are more valuable to our platform, as they generate higher transaction volumes. However, persuading customers to shift from cash to digital payments typically requires significant time and cost.

  • High drop-off rates occur when users have insufficient balance to complete a task/ transactions, negatively affecting customer experience and leading to lost potential revenue.

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

  • How might we reduce cognitive load for customers when completing transactions across our core services?
  • How might we better support customers with insufficient balance to successfully complete transactions?

Engineering teams

  • How might we consistently ensure core teams can leverage the latest payment features and improvements?
  • How might we lower engineering costs related to maintaining and deploying new payment features?

Business

  • How can we increase awareness and adoption of digital payment options among cash users?
  • How might we accelerate time-to-market for launching new services?

Governments

  • How might we achieve quicker compliance with evolving government regulations across markets?

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.

A image that shows a mountain range

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