uab bank apps

uabpay, uabpay+ and SGH Plus: three production payment apps at uab bank in Yangon. A consumer wallet, a merchant app that takes QR payments, and a white label shopping app built with a retail partner.

Year
2022 to 2023
Role
Junior developer, FinTech, Digital and Card Department
Team
uab bank mobile, product and security teams
Stack
React Native, Redux, Firebase messaging, i18next for Burmese and English, biometric login, camera QR scanning
Link
uabpay on the App Store

How it works

Native module prints the receipt

  1. Scan
  2. Confirm
  3. Settled
  4. Pushed
  5. Printed
Step reachedNot yetA wallet scan, a merchant app, and a native bridge to the terminal's printer.

The system

QR payment to printed receipt A customer scans the merchant's unified QR or enters its code in the uabpay wallet and confirms with a PIN; the uab payment backend settles and publishes the receipt over Pusher, the uabpay+ app on the Ingenico Android terminal receives it over a WebSocket and hands the JSON to a native module that prints through the UVectorPrinter AIDL service, then the cashier sees the payment on screen. scan or enter merchant, amount confirm with PIN settles payment done receipt event payment received startPrint(json) printed, onFinish cashier sees it Customer uabpay wallet Merchant QR unified QR or code uab backend payment service Pusher WebSocket push uabpay+ POS Ingenico, Android Printer module UVectorPrinter AIDL Call Return Async event Push reaches the terminal Ingenico terminal work

uabpay, the wallet

uabpay is uab bank's consumer wallet: transfers, cash in and cash out, bill payments, scan and pay, mobile top up, cards and payment history. Its React Native codebase runs to roughly two hundred screens, from account opening and KYC to remittance and merchant payments.

I worked inside it on features, API integrations and automated tests. The copy in my archive comes from my Shwe Oh Lay campaign branch, with its own campaign, detail and history screens. The screens shown here are the app as it is listed today.

uabpay wallet dashboard with balances, as listed todayuabpay virtual card screen, as listed today

uabpay+, for merchants

uabpay+ is the merchant side. Owners and cashiers register separately, take payments through one unified QR code or a manual code, see balance, cash in and cash out on a dashboard, and move wallet balance to a uab account.

My branch there was Ingenico: running the app on an Ingenico Android POS terminal, with a native module that bridges JavaScript to the terminal's printer service so a receipt prints the moment a payment lands.

uabpay+ merchant dashboard for payment collectionuabpay+ QR collect screen

SGH Plus, white label

SGH Plus is a shopping and payments app from uab Fintech and Sein Gay Har, a Yangon retail group. It carries a wallet, QR pay at the till, the SGH member card and loyalty, and two factor sign in with a PIN and OTP.

I built and deployed it as a white label of the bank's wallet stack. It went to the App Store in July 2023.

SGH Plus home with wallet balance and promotionsSGH Plus QR pay at the till

Money moving in production

All three were live apps moving real money. Day to day that meant integrating backend APIs, writing automated tests, keeping iOS and Android stable, and debugging live issues with the product and security teams.

It is where I learned to treat the unhappy path as the main path.

SGH Plus menu with wallet top up, transfer and member carduabpay+ payment statement
Next, MDAMCR →