OTP tidak tiba
Shopee: kode ditahan diam-diam
BilarequestOtp melaporkan sukses tetapi tidak ada kode yang tiba, dua penyebab paling umum:
- Password tidak diberikan pada akun berpassword. Shopee hanya mengirim OTP setelah langkah password diterima. Berikan
passwordpadarequestOtp. - Device report tidak dikenali. Laporan device-risk yang degraded membuat Shopee menahan pengiriman meski endpoint melaporkan sukses. Tangkap laporan dari browser Anda sendiri dan berikan lewat
deviceReport. Lihat Device risk.
GoPay: tidak ada otpToken
BilarequestOtp GoPay mengembalikan hasil tanpa otpToken, login tidak dapat lanjut. Periksa format nomor telepon dan coba lagi. requestOtp menerima format Indonesia apa pun (62/+62/08/8).
CAPTCHA diminta
BilaCaptchaRequiredError (code CAPTCHA_REQUIRED) dilempar, hentikan otomasi dan selesaikan verifikasi lewat alur resmi provider. Library tidak membypass CAPTCHA. Retry agresif atau mengubah fingerprint untuk menghindari challenge tidak didukung. Lihat Login Shopee.
Sesi mati
GoPay: AUTH_FAILED saat polling
Login dari perangkat lain dapat mencabut sesi GoPay. Polling akan surfaceAuthError dengan code AUTH_FAILED. Perlakukan sebagai kebutuhan login ulang, bukan status belum dibayar. Lihat Login GoPay.
Shopee: AUTH_REQUIRED saat refresh
refreshSession melempar AUTH_REQUIRED bila sesi akun sudah mati - hanya login OTP baru yang memulihkan. Jangan retry diam-diam. Ingat: exp cookie dashboard (~1000 hari) tidak mencerminkan sesi server; jangan memakainya untuk menilai liveness. Lihat Sesi Shopee.
Shopee: sesi lama tak bisa refresh/switch
Sesi tanpaswitchCredential (dibuat sebelum dukungan renewal atau diimpor dari cookie mentah) menolak refreshSession dan selectMerchant dengan AUTH_REQUIRED. Login OTP baru untuk mendapatkan sesi yang mendukung renewal.
Pembayaran tak terdeteksi
Feed terlambat mengindeks
Default masa berlaku 5 menit sering terlalu pendek untuk scheduler lambat. Naikkanpayment.defaultExpiryMs agar mencakup interval scheduler dan keterlambatan feed. Rekonsiliasi berjalan sebelum expiry, dan grace window clockSkewMs menahan jeda indexing - tetapi hanya sampai batas masa berlaku + skew. Lihat Model pembayaran.
Nominal tidak cocok
- GoPay: feed mengirim satuan minor (Rp 3.001 =
300100), dibagi tepat 100. Jangan menerima kedua skala di matcher. - Shopee: nominal seperti
"30.000"diparse ketat. Bentuk ambigu ("30.00", desimal, simbol) ditolak.parseFloatsalah di sini.
QRIS Shopee tidak aktif
QRIS Shopee hanya aktif bilastaticQrisScope cocok dengan merchant/store aktif. Setelah berpindah store, ikat QRIS baru dengan set-qris shopee atau setStaticQris(). Store lain tidak mewarisi QRIS lama. Lihat Pembayaran Shopee.
AMOUNT_POOL_EXHAUSTED
Semua offset dalam jendela (1..maxUniqueOffset, default 999) untuk suatu base amount sedang terpakai. Pendekkan masa berlaku pembayaran agar slot lebih cepat bebas, atau naikkan payment.maxUniqueOffset. Ingat karantina 2 x clockSkewMs menahan nominal bekas sementara.
Dukungan runtime
CI menjalankan Node 18 dan 24 di Linux serta Node 24 di Windows. Runtime lain diharapkan bekerja tetapi belum diverifikasi: core dan API publik tidak mengimpor satu pun Node builtin - kriptografi memakai
globalThis.crypto dengan fallback, dan node:fs, node:os, node:path, serta node:readline/promises hanya dipakai CLI.
Tidak ada fetch global
Bila runtime tidak menyediakanfetch global, konstruksi provider melempar ConfigError. Injeksikan implementasi lewat opsi fetch. Lihat Instalasi.