Nomor Kartu Kredit Dummy untuk Testing

Generate nomor kartu dummy valid Luhn, cek nomor kartu, dan salin nomor uji resmi payment gateway.

Hanya untuk pengujian software. Nomor dummy cuma lolos cek format dan Luhn; tidak terhubung ke rekening mana pun dan pasti ditolak kalau dipakai bertransaksi. Memakai nomor kartu untuk menipu atau mengakali uji coba gratis adalah tindak pidana.

Generator nomor kartu dummy

Untuk menguji validasi form, deteksi jenis kartu, format input, dan data fixture. Semua dibuat di browser.

Jaringan kartu
10

Cek nomor kartu (validator Luhn)

Tempel nomor untuk melihat jaringannya, apakah lolos Luhn, dan apakah termasuk nomor uji resmi. Tidak ada yang dikirim ke server.

Nomor kartu uji resmi Midtrans, Xendit, dan Stripe

Untuk menguji alur pembayaran sampai selesai, pakai nomor dari penyedia sendiri di mode sandbox/test. Klik nomor untuk menyalin. Diperiksa terhadap dokumentasi resmi pada 21 Oktober 2026.

CVV 123OTP / 3DS 112233Kedaluwarsa: bulan apa saja, tahun di masa depan, misalnya 01/30Hanya untuk Sandbox, tidak berlaku di Production
JaringanNomorHasil yang disimulasikan
Umum (3DS)
Visa Diterima, autentikasi penuh
Visa Ditolak bank, autentikasi penuh
Visa Diterima, attempted authentication
Visa Ditolak FDS (fraud detection)
Visa Ditolak bank, attempted authentication
Mastercard Diterima, autentikasi penuh
Mastercard Ditolak bank, autentikasi penuh
Mastercard Diterima, attempted authentication
Mastercard Ditolak FDS (fraud detection)
Mastercard Ditolak bank, attempted authentication
JCB Diterima, autentikasi penuh
JCB Ditolak bank, autentikasi penuh
American Express Diterima, autentikasi penuh
American Express Ditolak bank, autentikasi penuh
UnionPay Diterima, autentikasi penuh
3DS 2
Visa Diterima, frictionless (tanpa OTP)
Visa Diterima, challenge (minta OTP)
Visa Ditolak, challenge
Mastercard Diterima, frictionless (tanpa OTP)
Mastercard Diterima, challenge (minta OTP)
Mastercard Ditolak, challenge

Sumber: dokumentasi resmi Midtrans. Penyedia bisa mengubah daftarnya sewaktu-waktu, jadi cocokkan lagi kalau hasil tesnya tidak sesuai.

Apa itu nomor kartu kredit dummy?

Nomor kartu kredit dummy adalah nomor yang formatnya benar dan lolos algoritma Luhn, tapi tidak terdaftar di bank mana pun. Pengembang memakainya untuk menguji formulir pembayaran: validasi input, deteksi jenis kartu dari digit awal, format tampilan, dan pesan error. Nomor ini tidak punya dana dan pasti ditolak kalau dipakai bertransaksi.

Halaman ini punya tiga alat: generator untuk tujuh jaringan kartu lengkap dengan CVV, kedaluwarsa, dan ekspor JSON/CSV; validator Luhn yang memperlihatkan langkah hitungnya; dan daftar nomor uji resmi Midtrans, Xendit, dan Stripe untuk menguji alur pembayaran sampai selesai di sandbox.

Nomor dummy atau nomor uji resmi: pakai yang mana?

Yang mau diujiPakaiKenapa
Validasi format dan Luhn di form, sebelum dikirim ke serverNomor dummy dari generatorCukup lolos format; jumlah dan variasinya bebas
Deteksi jenis kartu dan ikon Visa/Mastercard/JCBNomor dummy, mode CampurMencakup semua rentang awalan, termasuk Mastercard 2-series
Data fixture untuk unit test atau seed databaseNomor dummy, ekspor JSON/CSVTidak ada data kartu asli di repository
Pembayaran berhasil, ditolak, 3DS/OTP di sandboxNomor uji resmi gatewayGateway hanya mengenali nomor dari daftarnya sendiri; nomor dummy akan ditolak
Pembayaran di ProductionKartu asli milikmu sendiriNomor uji dan dummy tidak berlaku di Production

Cara kerja algoritma Luhn, dengan contoh

Algoritma Luhn (mod 10) adalah rumus checksum untuk menangkap salah ketik. Satu digit salah, atau dua digit bersebelahan yang tertukar, hampir selalu membuat nomor gagal. Cara menghitungnya, misalnya untuk 4539 1488 0343 6467:

  1. Mulai dari digit kedua dari kanan, kalikan 2 setiap digit secara selang-seling: 6, 6, 4, 0, 8, 1, 3, 4 berturut-turut menjadi 12, 12, 8, 0, 16, 2, 6, 8.
  2. Hasil yang lebih dari 9 dikurangi 9: 12 menjadi 3 dan 16 menjadi 7.
  3. Jumlahkan semuanya bersama digit yang tidak dikali: (3 + 3 + 8 + 0 + 7 + 2 + 6 + 8) + (7 + 4 + 3 + 3 + 8 + 4 + 9 + 5) = 37 + 43 = 80.
  4. 80 habis dibagi 10, jadi nomor ini lolos. Kalau tidak habis dibagi, nomornya pasti salah ketik.

Generator di atas bekerja terbalik: digit-digit awal dibuat acak, lalu digit terakhir (check digit) dihitung supaya totalnya habis dibagi 10. Validator di atas memperlihatkan langkah ini untuk nomor yang kamu tempel.

Lolos Luhn tidak berarti kartunya ada. Luhn hanya mengecek susunan digit; keberadaan kartu, saldo, dan status hanya bisa dicek bank penerbit saat otorisasi.

Awalan (IIN) dan panjang nomor tiap jaringan kartu

Enam digit pertama nomor kartu disebut IIN atau BIN. Digit-digit awalnya menentukan jaringan kartu, dan rentang inilah yang dipakai generator serta pendeteksi jenis kartu di halaman ini:

JaringanDiawaliPanjangKode keamanan
Visa416 (ada juga 13 dan 19)3 digit
Mastercard51–55 dan 2221–2720163 digit
American Express34, 37154 digit
JCB3528–358916 (sampai 19)3 digit
Discover6011, 644–649, 6516 (sampai 19)3 digit
Diners Club300–305, 36, 38, 3914 (ada juga 16)3 digit
UnionPay6216 (sampai 19)3 digit

Di form pembayaran, jangan membatasi panjang nomor hanya 16 digit. Amex memakai 15 digit dan Diners 14, sedangkan Visa, JCB, dan UnionPay bisa sampai 19. Mastercard yang diawali 2 (2221–2720) juga sering terlewat oleh validasi lama yang hanya mengecek awalan 5.

Menyimpan data kartu di aplikasi dengan aman

  • Jangan pernah menyimpan nomor kartu asli di database, log, atau file test. Biarkan payment gateway yang menyimpan, lalu pakai token yang mereka berikan.
  • CVV tidak boleh disimpan sama sekali, bahkan terenkripsi. Ini salah satu aturan dasar PCI DSS.
  • Tampilkan nomor yang disamarkan, misalnya •••• •••• •••• 4242. Empat digit terakhir dan jaringan kartu sudah cukup untuk pengguna mengenali kartunya.
  • Bersihkan log request. Pastikan body request ke endpoint pembayaran tidak tercatat utuh di log server atau alat monitoring.
  • Pakai nomor dummy atau nomor uji di fixture dan seed database, dan beri nama yang jelas, misalnya kartu-dummy-testing.json, supaya tidak tertukar dengan data produksi.

Pertanyaan Umum (FAQ)

Tidak. Nomor dummy hanya lolos cek format dan Luhn; tidak terdaftar di jaringan penerbit mana pun, jadi setiap upaya transaksi atau verifikasi kartu pasti ditolak. Memakai nomor kartu untuk menipu adalah tindak pidana.

Karena sandbox payment gateway hanya mengenali nomor dari daftar uji mereka sendiri. Untuk menguji alur pembayaran, pakai nomor di tabel nomor kartu uji resmi di atas, misalnya 4811 1111 1111 1114 untuk transaksi berhasil di Midtrans.

Menurut dokumentasi Midtrans, CVV-nya 123 dan OTP/3DS-nya 112233, dengan bulan kedaluwarsa apa saja dan tahun di masa depan. Nomor uji ini hanya berlaku di Sandbox.

Rumus checksum mod 10 untuk mendeteksi salah ketik pada nomor kartu. Form pembayaran memakainya sebagai penyaring awal sebelum data dikirim ke bank, karena itu nomor uji perlu lolos Luhn supaya alur validasinya bisa diuji. Langkah hitungnya ada di bagian Cara kerja algoritma Luhn.

Digitnya acak, jadi secara teori bisa beririsan dengan rentang yang dipakai bank. Karena itu nomor ini hanya untuk pengujian teknis di aplikasimu sendiri, tidak untuk dimasukkan ke situs lain.

Tidak. Generator dan validator berjalan sepenuhnya di browser. Meski begitu, jangan menempel nomor kartu asli di situs mana pun yang tidak kamu percaya.