Inspiration
The digital age has brought about a revolution in how we transact, and with the rise of e-wallet systems like Shopee Pay, GrabPay, and multi-currency platforms like Revolut and YouTrip, we saw an opportunity. We envisioned a unified platform that would seamlessly integrate with daily life, not just for TikTok transactions but for everyday expenses like commuting, dining, and shopping.
What it does
TikTokPay is an e-wallet system that supports both debit and credit accounts for internal payments between users and external payments to merchants. It's designed to handle a wide range of transactions and payments, supporting multiple currency accounts and payment methods.
How we built it
Our tech stack includes React Native for the frontend, with Node.js and Express.js powering the backend. Stripe, a platform known for its rigorous security standards, serves as our primary channel for pay-ins and payouts. Firebase, with its high availability and robust error handling, is our choice for database management. We've integrated advanced security measures, such as Firebase security rules, SHA-256 hashing for unique transaction identification, and the use of Merkle trees to detect data tampering.
Challenges we ran into
Our initial vision was to create a virtual card complete with card numbers and expiration dates, aiming to make TikTokPay usable for Visa, Mastercard, and other bank-related transactions. However, we quickly realized the complexities of PCI DSS Compliance and the myriad of banking and financial regulations. Integrating payment services like PayNow also posed challenges due to the need for collaborations with participating banks.
Accomplishments that we're proud of
Despite the challenges, we've built a robust and secure e-wallet system. Our integration with Stripe, which is PCI-certified to the highest level and uses best-in-class security practices, ensures that our users' transactions are safe. We're also proud of our proactive approach to security, from encrypting sensitive data both in transit and at rest to implementing multi-factor authentication for added layers of protection.
Our application comprises of 3 key features:
Feature 1: Unified Multi-Currency Wallet with Dual Account Support TikTokPay redefines financial flexibility with its pioneering multi-currency wallet that supports both debit and credit systems. This dual account support empowers users to manage their finances with unparalleled ease, allowing them to choose between debit for direct payments or credit for deferred payments. Empowering users with the flexibility of choosing your payment mode ensures that they are always in control.
Feature 2: Advanced Security Protocols TikTokPay champions digital security with its state-of-the-art measures. Beyond SHA-256 hashing and Merkle trees ensuring data integrity, we've fortified our database against threats with advanced encryption techniques and anti-SQL injection mechanisms through Firebase. User authentication is taken to the next level with multi-factor authentication, ensuring that every user's identity is verified with utmost precision. Our use of Stripe, a PCI-certified platform, further underscores our commitment to data protection.
Feature 3: Inter-Account Transactions + TikTok Integration TikTokPay allows users to transfer money between TikTokPay accounts or TikTok accounts. This enables TikTokPay and TikTok users to experience seamless financial transactions between users while maintaining a high level of security.
What we learned
From understanding the intricacies of payment gateways and multi-currency support to navigating the regulatory landscapes of digital financial tools, we gained invaluable insights. We gained insights into the intricacies of digital payment systems and the importance of robust security measures in the fintech domain.
What's next for TikTokPay
With sufficient resources, we aim to expand TikTokPay's capabilities. We envision developing our own digital card and supporting a broader range of payment methods, including PayNow. Additionally, we plan to introduce more currency wallets and conversion tools, enabling TikTokPay to support payments in even more countries. Our ultimate goal is for TikTokPay to be an integral part of people's daily lives, serving not just as a platform for TikTok transactions but as a comprehensive digital wallet for all their spending needs.
Brief biographies of all team members
Toh Jing Qiang
Toh Jing Qiang is a Penultimate Business and Computer Science Student from Nanyang Technological University. He is well-versed with software development and Artificial Intelligence. He has embarked on numerous software engineering internships, ranging from AI startups to to University Research Teams. His goal is to “Create the Future with Code”.
Gao Yiping
Gao Yiping is a Final Year Business and Computer Science Student from Nanyang Technological University. She is ambitious and would often embark on large-scale software projects and internships to challenge herself. She has flown to the US, Vietnam, and Japan to learn from the best in software development. Her goal is to “Travel the world to solve problems with code”.
Xu Yinfeng
Xu Yinfeng is a Penultimate Business and Computer Science Student from Nanyang Technological University. He is extremely well-versed in backend development and security. He likes to tinker with the low-level codes and binaries to find security vulnerabilities in his free time. His skill was trained and developed through various projects tackling security vulnerabilities. His goal is to "Create secure, scalable tech solutions with global impact."
Venus Ng Min Jia
Venus Ng Min Jia is a Sophomore Computer Engineering Student from Nanyang Technological University. She is an artistic and empathic person who likes to design amazing and intuitive User Interfaces and experiences for users. As a former student from Media and Design Development, she is proficient in creating good user interfaces and experiences. Her goal is to “Inspire change with good designs and experiences”.
Thant Htoo Aung
Thant Htoo Aung is a Sophomore Computer Engineering Student from Nanyang Technological University. He is a hardworking person who likes to tinker with both frontend and backend development in his free time. He joined various tech clubs in NTU. For instance, SCSE IT Committee and Google Student Developer Club. His ultimate goal is to “Create meaningful impact through software projects”.
Short abstract of the project
TikTokPay is an innovative e-wallet solution designed to streamline daily transactions, offering both user-to-user and merchant payments. Built with cutting-edge technology, including React Native, Stripe API, NodeJs and Firebase, TikTokPay prioritizes security, scalability, and user convenience in the digital payment landscape.
Product demo URL or Video : https://youtu.be/Vbf1Jr0XYRo
Chosen problem statement
Problem Statement 4: Reshaping payments - Wallets
Development tools used to build the project
Frontend React Native Expo Backend Node.js Express.js Firebase SHA-256 hashing + Merkle trees
APIs used in the project
Stripe API
Assets used in the project
TikTok Logo
Libraries used in the project
expo-barcode-scanner, MaterialCommunityIcons, expo-camera, nodemailer, stripe, firebase, crypto
Any components not created at the hackathon
NIL
A link to the team’s Github repository with Readme
https://github.com/pinguin247/TikTokPay
Roadmap for scalability and availability
Add Log-in with TikTok account so that users do not need to create a separate TIkTokPay account Implement 2fa and biometrics for enhance security TikTokShop integration for seamless payments on the TikTok App Currency Conversion Rebates and Rewards to incentivise people to pay.
Financial Inclusion
Off-line virtual card usage via stored-value wallet to allow people in internet-sparse areas use the TikTokPay app to make payments.
Log in or sign up for Devpost to join the conversation.