Menu

Nomor kartu uji per jaringan: Visa, Mastercard, dan lainnya

Memilih nomor kartu uji per jaringan berarti memperhatikan panjang, prefiks, dan jumlah digit kode keamanan. Begini cara menyusun matriks pengujian yang rapi.

Diterbitkan

  • data uji
  • pembayaran
  • kartu uji

Menentukan nomor kartu uji per jaringan terdengar seperti pekerjaan sepele, tetapi keputusan itu menentukan seberapa luas pengujian Anda sebenarnya. Setiap jaringan punya panjang nomor, rentang prefiks, dan aturan kode keamanan yang sedikit berbeda. Fixture yang hanya berisi satu jenis kartu akan melewatkan bug yang justru muncul pada jenis lain, dan bug seperti itu biasanya baru terlihat setelah pelanggan mengeluh.

Mengapa setiap jaringan butuh perlakuan berbeda

Perbedaan antar jaringan bukan sekadar soal angka pembuka. Panjang nomor memengaruhi seberapa banyak digit yang harus diterima kolom masukan. Jumlah digit kode keamanan memengaruhi berapa banyak karakter yang boleh diketik pengguna. Ada pula jaringan yang memakai kode keamanan di sisi depan kartu, sehingga pengguna yang memegangnya akan mencari di tempat yang berbeda dari yang diasumsikan formulir Anda.

Menyeragamkan semuanya menjadi satu pola, misalnya selalu enam belas digit dengan kode keamanan tiga digit, memang membuat kode lebih sederhana, tetapi sekaligus membuat sistem Anda tidak siap menerima sebagian kartu yang sah.

Perbedaan yang perlu diperhatikan antar jaringan

Tabel berikut merangkum hal-hal yang paling sering menjadi sumber bug pada formulir:

Jaringan Panjang nomor Digit kode keamanan Hal yang sering terlewat
Visa Bervariasi, termasuk enam belas digit Tiga Panjang lain yang sah ikut ditolak
Mastercard Umumnya enam belas digit Tiga Dua rentang prefiks utama, bukan hanya satu
American Express Lima belas digit Empat, di sisi depan Kolom keamanan yang terlalu pendek
Discover Umumnya enam belas digit Tiga Beberapa rentang prefiks berbeda
UnionPay Enam belas sampai sembilan belas digit Tiga Panjang sembilan belas digit dianggap tidak sah
JCB Umumnya enam belas digit Tiga Prefiks panjang yang dipotong terlalu cepat

Tidak semua jaringan di atas harus Anda dukung. Yang penting adalah kesadaran bahwa pilihan Anda punya konsekuensi pada tata letak formulir dan pada kumpulan kasus uji.

Bagaimana memilih nomor untuk matriks pengujian?

Mulailah dari daftar jaringan yang benar-benar Anda terima di produksi, lalu buat satu baris per jaringan di dalam matriks pengujian. Setiap baris sebaiknya memuat satu nomor yang sah, satu nomor dengan panjang menyimpang, dan satu nomor yang checksum-nya sengaja dirusak.

Setelah matriks itu selesai, tambahkan satu kolom untuk hal yang paling mungkin berbeda antar jaringan, misalnya jumlah digit kode keamanan atau letaknya di kartu. Kolom itu akan langsung menunjukkan kasus mana yang belum pernah Anda coba. Cara paling murah untuk mengisi matriks tersebut adalah menghasilkan nomor sesuai jaringan di generator kartu virtual di situs ini, karena jumlah dan jaringannya bisa ditentukan langsung.

Apakah prefiks menentukan bank penerbit?

Tidak secara pasti. Prefiks memang menunjukkan jaringan dan sering kali juga blok penerbitan, tetapi kesimpulan bahwa sebuah nomor “milik” bank tertentu tidak bisa ditarik hanya dari beberapa digit pertama. Rentang penerbitan berpindah antar lembaga, dan satu lembaga bisa memakai banyak rentang sekaligus.

Karena itu, jangan pernah menampilkan nama bank kepada pengguna berdasarkan prefiks saja. Selain berisiko salah, tampilan seperti itu bisa membuat pengguna mengira sistem Anda mengenali lebih banyak daripada yang sebenarnya. Kalau Anda memang perlu menampilkan merek kartu, batasi pada nama jaringannya saja dan biarkan pengguna memastikan sendiri sisanya.

Mengapa panjang lima belas digit sering jadi masalah

Jaringan dengan nomor lima belas digit adalah kasus uji yang paling sering gagal, karena banyak formulir dibangun dengan asumsi enam belas digit. Gejalanya mudah dikenali: pengguna mengetik sampai selesai, lalu kolom menolak beberapa digit terakhir atau tombol kirim tetap tidak aktif.

Perbaikan yang lazim adalah menghitung panjang yang diharapkan berdasarkan prefiks, bukan menetapkan satu angka tetap. Bila pendekatan itu terlalu rumit untuk tahap awal, setidaknya longgarkan batas bawah agar nomor yang lebih pendek tetap bisa dikirim. Penjelasan tentang bagaimana panjang ditentukan per jaringan ada di uraian format nomor kartu.

Apakah nomor uji satu jaringan bisa dipakai di jaringan lain?

Umumnya tidak. Sistem perutean mengenali jaringan dari beberapa digit pertama, sehingga nomor yang berpola satu jaringan tidak akan diperlakukan sama oleh jalur jaringan lain. Di lingkungan uji, akibatnya bisa bermacam-macam: permintaan ditolak, diabaikan, atau diteruskan ke jalur yang salah, dan ketiganya sama-sama menyulitkan penelusuran masalah.

Karena itu, jangan memakai nomor dari jaringan lain hanya karena kebetulan sudah tersedia di berkas pengujian. Sesuaikan nomor dengan jalur yang sedang diuji, lalu simpan pemetaan itu di dalam matriks agar tidak ada yang menebak-nebak di kemudian hari.

Catatan untuk pengembang: menyusun matriks pengujian

Susun matriks sebagai data, bukan sebagai daftar di dalam kepala seseorang. Satu baris per kombinasi jaringan dan skenario, dengan kolom untuk nomor yang dipakai, panjang yang diharapkan, hasil yang diharapkan, dan pesan galat yang seharusnya muncul.

Simpan matriks itu di dalam kendali versi, bersebelahan dengan berkas pengujiannya. Dengan begitu, perubahan aturan untuk satu jaringan akan muncul sebagai perbedaan yang bisa dibaca dan ditinjau, bukan sebagai keputusan yang hanya diketahui orang yang mengubahnya.

Simpan juga satu kasus untuk jaringan yang tidak Anda dukung, untuk memastikan sistem menolaknya dengan sopan. Perilaku yang diinginkan mungkin bukan pesan galat keras, melainkan penjelasan bahwa kartu tersebut belum bisa diproses. Sekali Anda memutuskan perilakunya, tuliskan sebagai kasus uji agar keputusan itu tidak hilang saat ada orang baru mengambil alih kode.

Pisahkan pula pengujian tampilan dari pengujian jaringan. Yang pertama bisa dijalankan setiap kali kode berubah karena tidak memerlukan sambungan ke mana pun, sedangkan yang kedua baru perlu dijalankan ketika alur pembayaran atau konfigurasi penyedia ikut berubah. Pemisahan ini menjaga rangkaian pengujian tetap cepat tanpa mengorbankan cakupan.

Ingat juga bahwa semua nomor buatan sendiri bersifat sah secara struktur namun tidak pernah diterbitkan, sehingga hasilnya hanya berlaku untuk pengujian bentuk dan tampilan. Untuk respons jaringan yang sebenarnya, gunakan nomor sandbox dari penyedia, sebagaimana dijelaskan di halaman kartu uji Stripe. Perbedaan jumlah digit kode keamanan antar jaringan dibahas tersendiri di halaman penjelasan CVV.

Langkah berikutnya

Ambil daftar jaringan yang Anda dukung, lalu buat satu baris matriks untuk masing-masing hari ini. Setelah itu isi nomornya dari halaman generator dan jalankan seluruh baris sebagai satu rangkaian pengujian. Bila ada baris yang belum pernah Anda coba, di situlah kemungkinan besar bug berikutnya bersembunyi.

Lanjut membaca

Artikel tentang Generator nomor kartu kredit palsu