Teknologi

NepalPay v1.2.0 Hadir dengan Metrik, Indikator Kesehatan, dan Solusi untuk Masalah Produksi

Ringkasan

  • NepalPay v1.2.0 memperkenalkan metrik Micrometer, indikator kesehatan, dan perbaikan keamanan yang meningkatkan observabilitas produksi.

NepalPay adalah library pembayaran yang dikembangkan untuk mengintegrasikan layanan seperti Khalti dan Esewa dalam aplikasi berbasis Spring Boot di ekosistem Java. Versi v1.2.0 merupakan pembaruan signifikan yang menambahkan fitur metrik, indikator kesehatan, dan peningkatan reaktifitas, sekaligus menjawab kekurangan observabilitas yang aiemy

Sebelumnya, setelah NepalPay berhasil dipublikasikan di Maven Central dan menembus sejumlah versi stabil, pengembang masih menghadapi tantangan utama: bagaimana memantau performa gateway di produksi? Selama pengujian, keberhasilan hanya terukur dari sisi apakah payment berhasil, tanpa informasi tentang konfigurasi gateway, mode sandbox atau production, latensi API, frekuensi retry, atau kerusakan pada signature callback.

Dengan integrasi Micrometer yang otomatis aktif ketika spring‑boot‑starter‑actuator tersedia, setiap gateway kini merekam timer operasi secara mandiri. Metrik seperti nepalpay.khalti.payment.initiate.duration, nepalpay.esewa.status.check.duration, dan nepalpay.connectips.validate.duration ditag dengan nilai gateway dan mode (sandbox/production) serta status success atau error. Grafana dapat langsung menanyakan kuantil P99 latensi untuk payment initiation atau memantau frekuensi signature failure.

Retry counter juga menjadi terukur, misalnya nepalpay.khalti.retry.attempts, yang memungkinkan analisis of how many times a retry was triggered per operation. Bug yang ditemukan CodeRabbit pada awal pengembangan memperlihatkan bahwa counter retry awalnya dibagikan secara global, menyebabkan semua jalur (lookup, refund, initiate) mengincrement counter yang sama. Solusi yang diadopsi melibatkan pemuatan callback retry sebagai parameter, sehingga statistik menjadi akurat.

Keamanan menjadi top prioritas dengan mencatat kegagalan verifikasi signature pada callback Esewa dan Fonepay. Metrik nepalpay.esewa.callback.signature.failed dan nepalpay.fonepay.callback.signature.failed kini memicu alert Grafana berbasis rate, sehingga tim dapat mempercepat respons terhadap potensi serangan atau konfigurasi yang salah, yang sebelumnya hanya muncul sebagai kegagalan tak terduga.

Health indicator yang otomatis terdaftar untuk setiap gateway menghadirkan endpoint /actuator/health yang melaporkan status komponen seperti nepalpayKhalti dan nepalpayConnectIps, lengkap dengan detail mode sandbox atau status pfxLoaded. Pendekatan ini sengaja menghindari HTTP ping yang berpotensi terhalang oleh rate‑limit sandbox, fokusnya pada verifikasi konfigurasi internal.

Peningkatan starter reaktif pada v1.2.0 menempatkan semua validasi di dalam Mono.defer(), sehingga error dijalankan sebagai alur reaktif yang tidak memblokir. Pattern Timer.Sample yang dipakai menghindari blokade thread dan scheduler switching, memungkinkan pengukuran latensi yang akurat tanpa memengaruhi performa aplikasi yang berbasis Reactor.

Secara keseluruhan, CodeRabbit menemukan 19 masalah pada PR v1.2.0, dari bug perhitungan counter hingga keamanan signature, yang semuanya diperbaiki sebelum rilis. Implementasi metrik dan health indicator ini membuka jalan bagi pengembang untuk membangun sistem pembayaran yang lebih transparan, aman, dan siap skalakan di lingkungan produksi Indonesia.

Mengapa Ini Penting

Peningkatan observabilitas melalui metrik Micrometer memungkinkan pengembang memantau latency, retry, dan kegagalan signature secara real‑time, sehingga sistem pembayaran menjadi lebih stabil dan aman. Penanganan bug peningkatan counter retry yang salah attribuasi memperbaiki akurasi statistik, yang penting bagi operasional produksi yang mengandalkan payment gateway. Integrasi health indicator yang tidak mengandalkan HTTP ping mengurangi risiko rate‑limit pada environment sandbox, memberikan cara lebih aman untuk memverifikasi konfigurasi. Secara keseluruhan, fitur ini memperkuat NepalPay sebagai solusi pembayaran yang siap skalakan di pasar Indonesia.

Sumber Asli
Internasional
Tanggal
12 Juli 2026
Waktu Baca
3 menit