1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Dari pemindaian QR hingga notifikasi selesai hanya butuh 2–3 detik, tetapi di belakang layar ada entitas-entitas terpisah—aplikasi, bank sponsor, switch pusat NPCI, bank pengirim, dan bank penerima—yang saling meneruskan permintaan dan respons
  • Aplikasi seperti PhonePe atau Google Pay hanya mengumpulkan niat pembayaran dan tidak menangani uang atau PIN secara langsung; bank sponsor PSP bertugas menerbitkan alamat UPI dan menghubungkan ke NPCI
  • Switch NPCI hanya meminta kredit ke bank penerima setelah bank pengirim selesai memverifikasi PIN, saldo, dan melakukan debit; hasil pemrosesan juga kembali ke aplikasi melalui kedua bank sponsor
  • Pada Juni 2026, UPI memproses lebih dari 2.272 crore transaksi; belakangan sekitar 1 dari 11 pembayaran ditolak, tetapi kegagalan teknis murni pada sistem sendiri kurang dari 1 dari 400 transaksi, dan sebagian besar disebabkan PIN salah, saldo tidak cukup, atau limit terlampaui
  • Transaksi deemed yang terlambat mendapat konfirmasi kredit setelah debit akan diselesaikan melalui pengecekan status dan rekonsiliasi otomatis NPCI menjadi kredit terkonfirmasi atau pembatalan debit; jika pengembalian terlambat, berlaku tenggat aturan serta denda bank ₹100 per hari

Lima momen yang dilihat pengguna

  • Pengalaman pembayaran UPI terdiri dari lima momen: memindai QR, memeriksa nama penerima dan jumlah, memasukkan PIN, melihat pembayaran selesai, dan notifikasi penerimaan di pihak lawan
  • Seluruh proses biasanya selesai dalam 2–3 detik, tetapi di antara input PIN dan tampilan hasil, beberapa organisasi menjalankan pemeriksaan yang diperlukan lalu meneruskan hasilnya ke pihak berikutnya
  • Aplikasi di ponsel hanyalah titik koneksi pertama menuju jaringan pembayaran, dan tidak menangani uang pengguna secara langsung
  • Pada Juni 2026, UPI memproses lebih dari 2.272 crore transaksi, lebih banyak daripada sistem pembayaran real-time mana pun di dunia
  • Dalam satu pembayaran terlibat aplikasi pengguna, PSP pengguna, bank pengirim, NPCI, bank penerima, PSP penerima, dan aplikasi penerima; sisi penerima mencerminkan sisi pengirim secara simetris

Aplikasi hanya mengumpulkan niat pembayaran

  • Aplikasi seperti PhonePe, Google Pay, dan Paytm adalah third-party application provider (TPAP) yang mengumpulkan tujuan pembayaran dan jumlahnya, menampilkan penerima, dan menerima input PIN melalui keypad input yang aman
    • Aplikasi tidak bisa melihat PIN
    • Tidak menyimpan dana pengguna
    • Juga tidak memiliki lisensi perbankan
  • Persaingan pengguna di UPI terkonsentrasi di lapisan aplikasi, tetapi pasarnya sangat terkonsentrasi
    • PhonePe dan Google Pay menangani sekitar empat perlima dari seluruh pembayaran UPI
    • Dominasi dua aplikasi ini bertahan selama beberapa tahun, sementara peringkat aplikasi di bawahnya terus berubah
  • super.money yang diluncurkan Flipkart pada 2024 menarik pengguna dengan cashback terjamin dan naik dari luar 50 besar ke 5 besar dalam sekitar satu tahun
  • Karena aplikasi tidak memiliki lisensi perbankan maupun koneksi langsung ke jaringan pembayaran, mereka wajib didukung bank sponsor

Bank sponsor PSP dan alamat UPI

  • Peran lisensi dan koneksi aplikasi ke jaringan pembayaran ditangani oleh bank sponsor sebagai payment service provider (PSP)
    • Menghubungkan ke sistem pusat
    • Menerbitkan alamat UPI yang mewakili pengguna
    • Menghubungkan ponsel dan rekening bank saat pengaturan awal UPI
  • Sufiks setelah @ pada UPI ID menunjukkan bank sponsor, bukan aplikasi yang digunakan
    • @ybl milik Yes Bank
    • @okaxis milik Axis
    • Handle PhonePe dioperasikan oleh Yes Bank, Axis, dan ICICI
    • Handle Google Pay dioperasikan oleh Axis, HDFC, ICICI, dan State Bank
  • Sebagian besar aplikasi besar menggunakan beberapa bank sponsor, bukan hanya satu
    • Ini meningkatkan ketahanan agar gangguan di satu bank tidak menghentikan seluruh aplikasi
    • Juga menghindari satu sponsor menanggung seluruh volume transaksi aplikasi
  • Jika pengirim dan penerima berada di sponsor yang sama, bank tersebut bisa memeriksa kedua alamat di buku besarnya sendiri dan melewati direktori pusat
    • Pemrosesan menjadi lebih cepat
    • Menghemat sekitar biaya verifikasi alamat 1 paisa
  • Yang keluar dari ponsel bukanlah uang, melainkan permintaan yang disusun aplikasi dan ditandatangani bank sponsor
    • Sebelum pembayaran, sistem memverifikasi nama pemilik sebenarnya dari alamat yang dipindai sehingga pengguna punya kesempatan menemukan penerima yang salah
    • PIN ditangkap dan dienkripsi oleh komponen umum tersertifikasi di ponsel, dan aplikasi tidak mengetahui isinya bahkan saat meneruskan
    • Di pustaka umum API UPI NPCI, PIN dikirim sebagai Creds type="MPIN"

Urutan pemrosesan di switch pusat NPCI

  • Semua pembayaran UPI berkumpul di satu switch pusat yang dikelola NPCI, lembaga operator nirlaba
  • Switch lebih dulu mengirim permintaan ke bank sponsor yang menangani alamat UPI penerima, lalu bank itu menerjemahkan handle menjadi rekening sebenarnya
  • Urutan perpindahan dana bersifat tetap
    1. NPCI meminta bank pengirim melakukan debit
    2. Hanya bank pengirim yang bisa membuka PIN terenkripsi dari ponsel, jadi verifikasi PIN dilakukan pada tahap ini
    3. Bank pengirim memeriksa saldo, mendebit uang, lalu mengirim balik hasilnya
    4. Hanya setelah debit terkonfirmasi, NPCI meminta bank penerima melakukan kredit
    5. Menunggu konfirmasi kredit dari bank penerima
  • Uang selalu keluar lebih dulu lalu masuk, tidak pernah diproses dalam urutan sebaliknya
  • Hasil tidak dikirim langsung dari NPCI ke aplikasi, melainkan lewat kedua PSP
    • Saat PSP pengirim menyampaikan hasil sukses ke aplikasi, tanda selesai berwarna hijau muncul
    • Saat PSP penerima menyampaikan hasil ke aplikasi pihak lawan, notifikasi penerimaan ditampilkan
  • Karena hanya ada satu switch pusat, hampir tidak ada data perbandingan yang dipublikasikan tentang operasinya sendiri; skalanya terlihat dari total volume pemrosesan
    • UPI tumbuh dari jutaan transaksi per bulan saat diluncurkan pada 2016 menjadi 2.272 crore transaksi pada Juni 2026

Mengapa peringkat bank pengirim dan penerima berbeda

  • Peringkat bank yang paling sibuk di sisi pengirim dan penerima berbeda satu sama lain
  • Peringkat sisi pengirim mirip dengan jumlah nasabah
    • State Bank of India memimpin dengan selisih besar
    • Bank konsumen besar lainnya menyusul di belakang
  • Di sisi penerima, Yes Bank jauh memimpin dibanding bank lain
    • Pangsa penerimaan Yes Bank hampir dua kali lipat dalam dua tahun
    • Volume transaksi keluar rendah, tetapi volume penerimaannya paling tinggi
  • Perbedaan ini terkait dengan perubahan struktur UPI yang kini lebih banyak dipakai untuk pembayaran individu ke merchant daripada transfer antarindividu
    • Porsi pembayaran merchant dan antarindividu berbalik pada 2022
    • Berdasarkan jumlah transaksi, pembayaran merchant melampaui transfer antarindividu pada Agustus 2022
  • QR UPI merchant juga diterbitkan oleh bank sponsor seperti handle pribadi, dan sponsor untuk sebagian besar aplikasi merchant besar adalah Yes Bank
  • Saat memindai QR PhonePe di toko, dana lebih dulu masuk ke Yes Bank sebagai sponsor di balik QR, lalu dibayarkan ke pemilik toko dari rekening gabungan aplikasi merchant
  • Di sini, beneficiary bank bukan berarti bank pribadi yang dipakai pemilik toko, melainkan bank yang mensponsori QR tersebut

Dua alasan pembayaran ditolak

  • UPI mencatat pembayaran gagal sebagai penolakan bisnis dan penolakan teknis
  • Penolakan bisnis berasal dari pengguna atau aturan pembayaran
    • PIN salah
    • Saldo tidak cukup
    • Melebihi limit harian
    • Aplikasi segera menampilkan alasan spesifik sehingga pengguna bisa mengetahui penyebabnya
  • Penolakan teknis terjadi ketika tahapan pemrosesan di sistem bank atau switch pusat tidak dapat diselesaikan
    • Bank server down
    • your bank’s server didn’t respond, please try again
    • Di layar pengguna, sulit mengetahui penyebab spesifik selain kegagalan respons server
  • Belakangan, sekitar 1 dari 11 pembayaran ditolak, tetapi kegagalan teknis pada jaringan pembayaran itu sendiri kurang dari 1 dari 400 transaksi
  • Tingkat penolakan teknis turun setiap tahun seiring stabilnya bank dan switch, dari lebih dari 1 dari 100 menjadi kurang dari 1 dari 400
  • Tingkat penolakan bisnis tidak turun, malah meningkat, sehingga kegagalan yang umum lebih mirip akibat penerapan aturan PIN, saldo, dan limit daripada kerusakan sistem
  • UPI memang pernah mengalami gangguan nasional selama beberapa jam, tetapi itu jarang; pada kondisi normal, penyebab utama gagal bayar adalah limit terlampaui, saldo kurang, atau angka yang salah dimasukkan

Transaksi deemed yang tidak bisa dipastikan berhasil maupun gagal

  • Jika uang sudah terdebit dari rekening pengirim tetapi konfirmasi dari bank penerima tidak kembali tepat waktu, jaringan tidak bisa langsung menentukan apakah kredit benar-benar terjadi
    • Bisa saja kredit sebenarnya sudah masuk, tetapi bank penerima gagal melaporkan hasilnya
    • Bisa juga kreditnya memang belum terjadi
  • Transaksi yang status kreditnya belum terverifikasi seperti ini disebut berstatus deemed, dan aplikasi akan menampilkan pembayaran sedang diproses, bukan tanda selesai hijau
  • Aplikasi tidak menebak hasil, melainkan dapat menanyakan status sebenarnya ke jaringan sekitar 90 detik kemudian
    • Jumlah pengecekan dibatasi sedikit
    • Pernah ada kasus aplikasi mengirim terlalu banyak permintaan status hingga memicu gangguan UPI
    • Pengecekan dilakukan aplikasi bahkan tanpa tindakan langsung dari pengguna
  • NPCI juga terus mengecek kedua bank dan melakukan rekonsiliasi otomatis transaksi
    • Jika kredit memang terjadi, pembayaran akan dikonfirmasi
    • Jika belum dikreditkan, debit dibatalkan dan uang dikembalikan
  • Waktu pengembalian tidak diserahkan pada kebijakan bank
    • Transfer biasa harus dikembalikan dalam satu hari
    • Pembayaran merchant harus dikembalikan dalam beberapa hari
    • Jika melewati batas waktu, bank dikenai denda ₹100 per hari
  • Walaupun UPI tidak selalu bisa memastikan semua pembayaran secara instan, sistem ini dirancang agar melalui aturan rekonsiliasi pasca-kejadian dana akhirnya dikreditkan atau dikembalikan ke pengguna
  • Transaksi tertunda seperti ini sejak awal memang tidak umum, dan mekanisme rekonsiliasi yang menanganinya terus diperkuat

Relay pembayaran yang tersembunyi

  • Di antara pemindaian, nama dan jumlah, PIN, tanda selesai, dan notifikasi penerimaan yang dilihat pengguna, ada relay aplikasi → sponsor → hub NPCI → bank
  • Di balik satu pembayaran, tujuh perusahaan dan bank saling mengirim lalu menerima kembali pesan sambil menjalankan pemeriksaan yang diperlukan di tiap tahap
  • Bahkan jika terjadi kegagalan, pengecekan status, rekonsiliasi otomatis, tenggat pengembalian, dan denda keterlambatan tetap berlaku sehingga dana pengguna pada akhirnya berujung pada kredit terkonfirmasi atau pengembalian

1 komentar

 
GN⁺ 3 jam lalu
Opini Hacker News
  • Bagi orang yang berada di luar India atau tidak sering memakai UPI, sulit membayangkan skala transaksinya. UPI dipakai untuk hampir semua pembayaran, mulai dari transfer antaranggota keluarga, pembelian kecil seperti camilan dan teh, berbagai layanan seperti servis mobil dan perpipaan, belanja online, hingga bus, pesawat, trem, taksi, dan kereta.
    Anda bisa memindai kode QR UPI di web app dengan ponsel, atau langsung membuka layar pembayaran UPI di aplikasi mobile. Di kota seperti Kolkata, saya dan pasangan melakukan 20–30 transaksi per hari; bahkan di desa kecil di Himalaya pun kami melakukan sekitar 6–8 pembayaran per hari.

    • Sistem yang menggunakan kode sekali pakai alih-alih kredensial permanen sangat diremehkan di dunia berbahasa Inggris. Jauh lebih aman memberikan OTP untuk satu transaksi yang harus disetujui di aplikasi kepada anak, teman, pasangan, atau bawahan, daripada menyerahkan kartu kredit kepada mereka.
      Blik di Polandia menggunakan kode 6 digit, sehingga bisa juga dipakai dengan cara membacakan kode lewat telepon kepada orang tepercaya saat ia berada di ATM.
    • Setelah menambahkan pembayaran UPI ke micro SaaS kecil saya, barulah pendapatan dari India mulai muncul. Sebelumnya, hampir mustahil membuat pengguna India mendaftar.
    • Apakah ada rencana untuk menghadapi situasi ketika pemerintah menafsirkan pembayaran kecil sebagai aktivitas terorisme lalu menyita rekening bank? Kecepatannya berbeda-beda di tiap negara, tetapi setelah melalui proses seperti ini, pada akhirnya menurut saya orang akan kembali ke uang tunai.
  • Saya sangat menghormati orang-orang yang mengoperasikan UPI. Membuat bahkan kelompok lansia di India sepenuhnya beralih ke pembayaran digital adalah pencapaian yang belum ada tandingannya di dunia.

    • PIX di Brasil dan Swish di Swedia juga serupa, dan kemungkinan ada banyak preseden lain.
    • Ini bisa terjadi karena India tidak memiliki jaringan pembayaran kartu kredit berskala besar. Dengan kata lain, India langsung melompat dari uang tunai ke pembayaran digital.
  • Memang benar UPI berfungsi, tetapi dari sisi privasi dan otonomi, sistem ini mengerikan. Ada terlalu banyak perantara, membutuhkan nomor telepon, dan terhubung dengan identitas pribadi, sehingga dalam arti apa pun sulit menyebutnya sebagai sistem pembayaran antarpersonal.
    Bedanya hanya sistem ini dikendalikan pemerintah, bukan Visa atau Mastercard.

    • Visa dan Mastercard juga memberikan informasi transaksi kepada pemerintah AS dan pihak lain. Melalui Hot Watch, pemerintah AS memantau target tertentu secara real time, dan Bank Secrecy Act secara hukum memaksa jaringan pembayaran swasta serta bank penerbit kartu bertindak seperti agen negara tanpa bayaran.
      Setidaknya, bisa dibilang UPI membagikan informasi kepada jumlah pemerintah yang lebih sedikit.
    • Pada akhirnya, uang itu sendiri berada di bawah kendali pemerintah.
  • PIX di Brasil sangat mirip dengan UPI. Apa alasan kita tidak bisa membuat sistem UPI global berbasis open source, dengan tiap pemerintah negara menjalankan instansnya sendiri?

  • Bisakah dampak UPI terhadap pertumbuhan India dianalisis dengan angka? Sepertinya ada juga efek membawa sebagian ekonomi informal ke dalam sistem formal.

  • Jika 22 miliar transaksi per tahun, throughput rata-rata switch NPCI sekitar 700 transaksi per detik. Karena trafiknya tidak merata, puncaknya pasti beberapa kali lebih tinggi, tetapi dibandingkan feed Nasdaq TotalView ITCH yang melebihi 100 ribu transaksi per detik saat pembukaan pasar, angkanya tidak terlihat terlalu ekstrem.

    • Jika ingin membandingkannya dengan throughput order dan pesan Nasdaq, yang tepat adalah National Stock Exchange (NSE) di India. Jumlah order yang dieksekusi per hari di NSE lebih banyak daripada Nasdaq.
      Beberapa tahun lalu saya pernah mengerjakan penskalaan UPI, dan pembayaran real-time jauh lebih terdistribusi sehingga sangat kompleks. Dalam setiap transaksi terlibat dua bank yang memegang dana, aplikasi pengguna di kedua sisi beserta bank masing-masing, serta jaringan NPCI; mereka harus bertukar pesan beberapa kali selagi kedua pengguna menunggu. Karena itu, throughput berdasarkan jumlah pesan 10–25 kali lebih tinggi daripada jumlah transaksi sebenarnya.
      Jaringan pembayaran real-time yang memungkinkan transfer gratis dari bank domestik mana pun ke bank lain tanpa pengecualian, dan beroperasi 24/7, benar-benar mengubah permainan. Ini kontras dengan jaringan pembayaran AS yang lambat dan mahal.
      Selain UPI, India juga memiliki NEFT yang melakukan settlement batch seperti ACH, IMPS yang diproses seketika seperti UPI tetapi memiliki pengalaman pengguna berbeda, serta RTGS, jaringan pembayaran real-time bernilai besar yang dimediasi bank sentral RBI. Semuanya beroperasi 24/7 dan gratis. Untuk jaringan kartu, selain Visa dan Mastercard, ada juga RuPay dengan biaya settlement yang jauh lebih rendah.
    • 22 miliar transaksi adalah angka untuk satu bulan, Juni 2026, jadi jika disetahunkan menjadi 264 miliar transaksi.
    • Ini pelajaran yang bisa dipetik untuk wawancara system design. Jika sistem pembayaran populer di negara berpenduduk 1,5 miliar orang saja berada di kisaran ini, kecil kemungkinan sistem imajiner yang dirancang perusahaan kecil saat meniru wawancara ala Google benar-benar membutuhkan puluhan ribu, apalagi jutaan transaksi per detik secara rata-rata.
  • Apakah jaringan transaksi dana tertutup yang terpusat dan berbasis KYC benar-benar bagus?

    • Setidaknya praktis. Saat dompet seluler mulai tumbuh, banyak orang mengusung blockchain dengan mengatakan bahwa fondasi teknologi finansial harus terdesentralisasi, dan pembahasan pun tenggelam dalam filosofi teknologi seperti desentralisasi, transaksi antarindividu, transaksi kripto perantara, dan stablecoin
      Perusahaan konsultan meraup banyak uang, tetapi lembaga pemerintah dan bank jadi bertanya-tanya bagaimana mereka bisa menghabiskan jutaan dolar tanpa kemajuan pengembangan produk, dan pada akhirnya cenderung menyimpulkan bahwa inovasi teknologi finansial tidak seharusnya dipimpin pemerintah
      Infrastruktur teknologi informasi berskala besar sering kali dikembangkan dan dijual kepada pemerintah berbagai negara oleh perusahaan yang berada di bawah kendali atau pengaruh pemerintah AS atau Eropa Barat, sehingga ini juga berdampak sampai batas tertentu pada kedaulatan negara. Pemerintah bisa menunggu perangkat lunak siap pakai yang memiliki risiko kendali, atau membangun sendiri perangkat lunak yang berfungsi sekarang dengan menerima risiko dan keterbatasannya
      Menurut saya India membuat pilihan yang tepat dengan membangun sistem di atas fondasi yang teruji dan dapat diprediksi
    • Jika dilihat hanya dari pengalaman pengguna dan kepraktisan, ini sangat bagus. Tingkat adopsinya tinggi, dan pembayaran menjadi mudah bahkan di toko-toko kecil, sehingga mereka bisa melayani lebih banyak pelanggan
      Namun, karena terhubung dengan identitas resmi pemerintah yang diautentikasi bank, ini sangat merepotkan bagi orang asing
    • Ini jauh lebih baik daripada bank swasta melakukan hal yang sama sambil mengeruk keuntungan dari pengguna, dan juga lebih baik daripada kripto saat ini yang pengalaman penggunanya buruk sehingga orang mudah kehilangan seluruh hartanya. Ini lebih praktis daripada uang tunai, tetapi opsi uang tunai juga harus tetap dipertahankan
      Ini memang belum sebaik sistem yang nyaman sekaligus terdesentralisasi dan anonim, tetapi hal seperti itu belum ada. Jika Ethereum berhasil menyelesaikan abstraksi akun native, skalabilitas yang mulus, dan privasi setingkat Monero, mungkin sekitar 5 tahun lagi bisa terwujud
    • Memang benar terpusat dan berbasis KYC, tetapi sulit menyebutnya tertutup. Bisa merujuk ke https://www.bankbazaar.com/tax/tax-on-upi-transactions.html
    • Ini memang sistem yang bagus. Bukan mencoba membuat mata uang baru, melainkan cara menggunakan uang sendiri yang sudah berfungsi
  • Apakah pembayaran berbasis QR di Asia Tenggara seperti PromptPay Thailand juga bekerja dengan prinsip serupa?
    Situs web dan diagramnya rapi, memperhatikan pembaca, dan sama sekali tidak ada elemen yang mengganggu

    • Saya tidak begitu tahu struktur PromptPay, tetapi dari pencarian singkat, aplikasi pengguna untuk pemindaian QR dioperasikan langsung oleh bank. Sebaliknya, Google Pay di UPI adalah penyedia aplikasi pihak ketiga (TPAP), dan satu TPAP dapat ditautkan ke beberapa rekening dari bank yang sama atau berbeda
      Implementasi protokol antarbank juga bisa berbeda. Pesan transaksi UPI bersifat asinkron: ketika NPCI mengirim ReqPay, yaitu permintaan pendebitan, ke bank pengirim, bank hanya mengembalikan Ack, yaitu pesan konfirmasi, dalam permintaan HTTP yang sama. Setelah pemrosesan selesai, switch bank mengirim RespPay ke endpoint callback NPCI, dan NPCI kembali mengembalikan Ack. Prosesnya serupa ketika NPCI mengirim permintaan pengkreditan ke bank penerima
  • Isinya juga bagus, tetapi fitur konversi crore/billion sangat mengesankan. Saya berharap ini tersebar luas di situs web terkait India, tetapi karena sulit langsung memahami kegunaan CR/BN saja, akan bagus jika ada tooltip

    • Saya tidak tahu itu fungsi tersebut. Awalnya terlihat seperti tombol pengalih bahasa semacam HI/EN, tetapi saya tidak tahu itu singkatan bahasa apa, dan ternyata bahasanya juga tidak berubah. Setelah tahu, ternyata itu ide yang bagus