Tech Talks vol.44 – Supporting multiple PayPay Cards project

2024.10.28

About Tech Talks

In the Tech Talks series, we’re excited to bring you the unique culture and perspective of the PayPay Product Team with members representing diverse backgrounds from approximately 50 countries around the world.
In this issue, we interviewed engineers from PayPay and PayPay Card about how they tackled the“Supporting multiple PayPay Cards”project, where they worked together as One Team to address the PayPay app’s needs in response to the issuance of multiple PayPay Cards. They discussed the challenges and lessons learned during development.


Ryusuke Nomoto(AKA “Nomo”)

Product Manager, PayPay

After starting my career as a web engineer, I transitioned to a product manager role, where I’ve been involved in roadmap creation, organizational design, and driving development projects. Attracted by the significant social impact of PayPay and the gathering of talent from around the world, I joined the company in May 2023. I am currently responsible for product management in the Financial Services domain.


Manoj Suthar

Backend Engineer, PayPay

Originally from India, I’ve gained experience as a software engineer at several multinational companies and startups. Drawn to the socially impactful payment app in Japan, I joined PayPay in June 2022, working as a backend engineer in the BFF team.


Shota Kashihara

iOS App Engineer, PayPay

Having transitioned from a software engineer to an application engineer, I’ve been involved in iOS app development as well as planning and executing growth strategies. Attracted to the culture of working with diverse members, I joined PayPay in February 2023. I am currently focusing on improving the identity verification (eKYC) feature.


Keita Nakamoto

Engineering Manager, PayPay Card

After working as a system integrator, I joined Yahoo Japan Corporation(now LY Corporation)and there gained experience as an engineer. Wanting more experience in large-scale B2C financial service development, I joined PayPay Card in January 2023 where I’m taking up various challenges every day.

Overview and Mission of This Project

Nomo:
We were receiving feedback from users who shop in the PayPay ecosystem using PayPay Card that they want to use different cards for different purposes. Since only one PayPay Card could be issued per person at the time, they had to use cards issued by other companies to differentiate their usage.

Based on this feedback, we enabled the issuance of multiple PayPay Cards per person (up to three regular cards and one gold card). In addition, we, as a team of members from both PayPay and PayPay Card, developed a system to allow smooth switching between each card and easy viewing of the details within the PayPay app.

Roles Assigned in the Project

Nomo:
This project started around October 2023 and was ultimately launched in August 2024, making it a long-term endeavor. As the PdM steering the project on the PayPay side, I delved into user needs through data analysis, defined requirements, designed the project management structure, and drove the project forward. This also involved creating a tight-knit communication between members from PayPay Card, through regular meetings on both technical and business aspects.

Shota:
I was responsible for developing the iOS app features on the PayPay app. Since the existing system was built on the premise that users can only have one PayPay Card, the scope of impact from this modification was extensive and had the potential to result in significant failures if not handled correctly. I approached the project with a determined mindset, knowing it wasn’t something to be taken lightly (laughs).

Nakamoto:
As an engineer at PayPay Card, I was involved in designing and developing the additional card issuance application feature, supporting multiple PayPay credit registrations, and adapting the membership site for multiple cards. This was my first time participating in such a large-scale project, so I was a little concerned at the outset whether I could live up to the expectations.

Manoj:
I was responsible for communicating with cross-functional teams and developing the BFF backend service that provides all front-end application data. It was a project with a vast scope — huge user impact and complex requirements, so it took me two or three days just to read the PRD (product requirement document). Thanks to Nomo’s meticulous documentation, I was able to approach the project with minimal uncertainties.

Challenges Faced During Development

Nomo:
As Shota mentioned earlier, the PayPay app’s system was designed to register only one credit card. With the possibility of issuing multiple cards, we needed to modify some of the system’s fundamental premises, which had a wide impact and posed high technical hurdles. It affected over 20 development teams within PayPay and PayPay Card, LY Corporation, and PayPay Securities, requiring consensus from many stakeholders, which was honestly no small challenge.

Considering user-friendliness, we focused on UI and usability, which was also a significant challenge. For example, there was initially a proposal to display just the primary card in the home screen. However, user research revealed that many users use their cards for different purposes without favoring a single card, so we decided to enable swiping between multiple cards.

Manoj:
This project affected critical screens within the PayPay app, such as home, payment, and history screens, so the rollout was done in stages to ensure minimal impact if something went wrong.
Let me give an example. Since multiple cards needed to be displayed on the home screen, we had to ensure that using new APIs did not increase latency, making users wait longer for the app screen to load, negatively affecting the user experience. We communicated closely with all parties involved, clarifying requests as soon as possible, and working with our members to provide high-quality code. Multiple iterations of performance tests were done at very high RPS (requests per second) to ensure we did not degrade the system performance and the user experience.
Due to this project’s length and size, many conflicts in the code also had to be resolved almost every week to pass the weekly regression QA tests.

Shota:
For me, as an app engineer, this was undoubtedly the most significant project I’d ever been involved in. When modifying a single function, you usually only need to change two or three screens at most, but this time, we had to update many screens. Moreover, since there are always numerous projects running concurrently at PayPay, there were cases where changes from another project had to be made to the same screen simultaneously. For example, on the payment screen, we were also working on supporting the combined use of PayPay Gift Vouchers and PayPay Credit, so code conflicts were anticipated. To ensure no issues and that changes from each project were correctly reflected, we aligned expectations with stakeholders and clarified the development, QA, and release timelines. There were many things to be considered, making it quite challenging. It was thanks to the EM and PM who provided advice and the app team members who took ownership and worked on the implementation together with me that we managed to overcome the challenges.

Nakamoto:
When additional requirements or overlooked considerations arose during development, we put in our best efforts as one team together with PayPay Card to still get them done by the same deadline. At times when it seemed impossible to do so, we consulted management to see if we could reschedule by gathering input from each team’s leaders and PMs.

Another particular challenge related to development was improving the performance of the API provided to PayPay and the switching all the APIs related to signing up to PayPay Credit.

Let me first explain about improving the performance of the API. PayPay Card provides an API which returns values such as the available amount and billing amount as “card usage information,” so that it can be displayed in the PayPay app. Due, however, to the fix to support multiple cards, the performance of the API dropped to below the predefined standard. So, we made some improvements such as caching and parallel processing based on a review of the API design. Load tests were conducted as well, to ensure that everything was in place for the release. All this, including the design review and performance improvement, was done in an already tight timeline, which was quite a challenge.

Secondly, a few APIs provided by PayPay to PayPay Card were also renewed to support multiple cards, which is why we had to switch all the APIs involved in the sign up process to PayPay Credit. On the PayPay Card side, this meant that we had to switch everything over to the new APIs using the existing entry points, before public users could start holding multiple cards. Only, the issue was that the APIs that were renewed were used with other critical features, meaning that one mistake could result in an incident. We worked particularly closely on this with PayPay, and with great care switched each API over late at night. I think it was right after completing all switches that I felt the most relieved throughout the entire project.

Aside from these challenges, we also explored solutions as development professionals by simplifying requirements, ensuring sufficient testing periods, and visualizing the entire project, ultimately going ahead with the Day 1 as planned.

Lessons Learned Through This Project

Shota:
Initially, only the app members responsible for the wallet screen were supposed to participate in this project. Once, however, I gained a broader perspective of things through discussion with tech leads and various other members, I realized that it was necessary to involve many more stakeholders. After this, we changed the way of involving the necessary people, such as asking the home screen team for anything required with the home screen. Determining the feasibility of each task in a timely manner was crucial to the success of the project.

Manoj:
I learned a lot about communication. It was my first time working directly with members from PayPay Card, and initially, there were communication gaps, such as differences in how deep links were generated between PayPay and PayPay Card, which I didn’t notice at first. I learned the importance of not pre-supposing anything, clarifying doubts as early as possible, and actively giving input.

Nakamoto:
When I first joined the project, I was just one of the development team members. Later, in April 2024, I became the engineering manager responsible for the project’s overall timeline and quality, which made me thoroughly consider how to achieve the deadline while ensuring high quality. Through the experience of managing various teams and members, I feel I have grown significantly.
It has been the largest project in my career, and after the release, knowing that what I created brought joy to many people gives me a great sense of fulfillment.

Secrets to the Project’s Success and Future Outlook

Nakamoto:
From the early days of the project, we held regular meetings between PayPay and PayPay Card, allowing us to decide on the API interfaces each company would provide. We also allocated a longer-than-usual test period for thorough testing, asking several dozen employees to issue multiple cards and join the process as field test users, which was a challenge to organize too. But by repeatedly reviewing and involving other teams to ensure quality, the project achieved success without any significant issues. I hope to apply this experience to future projects.

Nomo:
Effective project management was a key factor in our success. We centralized all information and managed schedules rigorously. We maintained close communication not only within the product team but also with business stakeholders, including marketing, customer service, legal, and operations teams. This careful alignment of expectations and proactive resolution of concerns helped us avoid last-minute surprises or incomplete tasks as the project neared completion.

Post-release results exceeded initial expectations, with more than twice the anticipated applications and widespread user adoption. The project also received coverage from various media outlets and positive feedback from many users on social media. We aim to continue developing features that provide significant value to users and lead to more significant business impacts.

A Message to the Readers

Nakamoto:
Like PayPay, PayPay Card is comprised of members with diverse backgrounds who thrive in a healthy competitive environment to make a positive impact on society. There are many challenging projects and overcoming them leads to tremendous growth. If your goal is to become the leading fintech company, this is where you should be!

Manoj:
PayPay, which continues to grow rapidly, allows you to work dynamically like a startup and create an impact on society while also providing well-established systems to work without distraction. In fact, my child was born during the term of the project, but I was still able to take paternity leave. Upon returning, I could dive right back into solving challenges again. If you want to work on projects that impact society, you should dive too.

Shota:
You may have the perception that products and services in the financial domain are technically complex and challenging compared to other fields. At PayPay, there’s also the opportunity to challenge yourself with feature development unique to payment services, such as integration with wallets and Apple Pay, which are rare experiences at other companies. I believe it’s the best environment for those who want to take on new challenges.

Nomo:
If you’re looking to gain experience in large-scale system development, PayPay is the ideal environment. Development here rarely concludes with the implementation of your work alone, as we have a micro service architecture in place. Value is delivered to the user through collaboration with other modules. Those who can step up beyond their responsibility are sure to thrive at PayPay. If that’s you, I am looking forward to seeing you join our team!

*Job openings and employee affiliations are current as of the time of the interview.

Category