Menu

Apa itu CVV: arti kode tiga dan empat digit di kartu

Apa itu CVV, mengapa kode ini hanya ada di fisik kartu, dan mengapa aturan industri melarang menyimpannya. Panduan singkat untuk pengguna dan pengembang formulir.

Diterbitkan

  • data uji
  • pembayaran
  • keamanan

Apa itu CVV? Itu adalah kode pendek yang tercetak di permukaan kartu dan diminta terpisah dari nomor kartu saat Anda membayar daring. Keberadaannya sengaja menyulitkan siapa pun yang hanya menyalin nomor kartu tanpa memegang fisiknya. Meski hanya terdiri atas tiga atau empat digit, kode ini punya aturan perlakuan yang lebih ketat daripada nomor kartu itu sendiri, dan memahami aturan itu akan menyelamatkan Anda dari kesalahan yang mahal.

Apa itu CVV dan di mana letaknya

CVV adalah singkatan dari nilai verifikasi kartu, sebuah istilah yang dipakai jaringan kartu untuk kode keamanan tambahan. Sebutan lain yang juga populer adalah kode verifikasi kartu, dan keduanya merujuk pada hal yang sama. Kode ini diterbitkan bersama kartu dan tercetak langsung di permukaannya.

Pada sebagian besar kartu, kode ini berada di sisi belakang, di dalam atau di dekat panel tanda tangan. Pada satu jaringan tertentu, kode ini justru tercetak di sisi depan, tepat di atas empat digit terakhir nomor kartu. Kalau Anda tidak menemukannya di belakang, periksa sisi depan sebelum menyimpulkan kartunya rusak.

Karena kode ini hanya muncul di fisik kartu dan tidak ikut tercetak pada struk atau tersimpan di riwayat transaksi, ia berfungsi sebagai bukti sederhana bahwa kartu sedang berada di tangan pengguna.

Perlu dicatat pula bahwa sebagian penerbit menyediakan kartu virtual, yaitu nomor tambahan untuk pemakaian terbatas. Kartu semacam itu umumnya punya kode keamanan sendiri yang bisa berubah atau dibuat ulang, sehingga kode yang Anda lihat kemarin belum tentu masih berlaku hari ini. Prinsipnya tetap sama seperti kartu biasa: kode diminta ulang pada setiap transaksi dan tidak disimpan untuk dipakai lagi.

Berapa digit CVV di setiap jaringan

Panjangnya berbeda antar jaringan, dan perbedaan itu sering menjadi sumber kesalahan pada formulir yang hanya menyediakan satu kolom:

Jaringan Jumlah digit Letak di kartu
Sebagian besar jaringan Tiga digit Sisi belakang
American Express Empat digit Sisi depan

Formulir yang baik menyesuaikan panjang kolom dengan jaringan kartu yang sudah dikenali dari nomor, bukan memaksa semua orang mengisi tiga digit. Kalau sistem Anda menerima American Express, sediakan jalan agar pengguna yang memegang kartu tersebut tidak tersandung saat mengisi kolom keamanan.

Apakah CVV sama dengan PIN?

Tidak, dan membedakan keduanya penting. PIN adalah rahasia yang hanya diketahui pemegang kartu dan dipakai pada mesin pembaca kartu, sedangkan CVV tercetak di permukaan kartu dan bisa dibaca siapa pun yang pernah memegangnya sejenak. PIN juga tidak pernah diminta di formulir pembelian daring mana pun.

Perbedaan lain ada pada siapa yang mengetahuinya. PIN bisa diganti oleh pemegang kartu, sedangkan CVV tetap sampai kartunya diganti. Karena itu, kode ini tidak boleh diperlakukan sebagai kata sandi, dan tidak masuk akal menawarkan opsi “simpan kode untuk pembelian berikutnya” di toko mana pun.

Mengapa CVV tidak boleh disimpan?

Aturan industri pembayaran menempatkan kode keamanan dalam kelompok data autentikasi yang sensitif. Kelompok itu tidak boleh disimpan setelah otorisasi selesai, sekalipun dalam bentuk terenkripsi. Larangan ini berlaku untuk semua sistem yang menyentuh data transaksi, mulai dari basis data sampai berkas catatan sementara.

Alasannya mudah dipahami: kalau kode keamanan disimpan, penyerang yang berhasil membobol satu basis data akan mendapatkan paket lengkap untuk mencoba transaksi baru, bukan hanya nomor yang tidak bisa dipakai sendiri. Larangan itu memutus rantai tersebut di titik yang paling murah. Rincian kewajiban lain di lingkungan pengujian dibahas di halaman data uji PCI DSS.

Nomor uji dan kode keamanan di generator kartu virtual

Untuk keperluan pengembangan, generator kartu virtual di situs ini menampilkan nomor, masa berlaku, dan kode keamanan contoh dalam satu kartu. Semua nilainya bersifat benar secara struktur namun tidak pernah diterbitkan oleh bank mana pun, jadi kode yang terlihat di sana bukan kode nyata siapa pun dan tidak bisa dipakai untuk transaksi apa pun.

Gunakan tampilan itu untuk mengisi kolom di lingkungan uji dan memastikan formulir Anda menerima berapa pun digit yang benar. Untuk memahami urutan pemeriksaan yang sebaiknya berlaku sebelum kolom keamanan diisi, lihat panduan validasi nomor kartu.

Catatan untuk pengembang: menerapkan larangan penyimpanan

Larangan menyimpan kode keamanan sering gagal bukan karena sengaja dilanggar, melainkan karena tanpa disadari. Tiga tempat berikut biasanya menjadi kebocoran:

  1. Basis data. Jangan pernah menyediakan kolom untuk nilai ini, sekalipun namanya terlihat tidak berbahaya dan sekalipun isinya jarang dipakai.
  2. Catatan sistem. Pencatatan permintaan yang mengabadikan seluruh isi formulir akan menyalin kode ke berkas teks. Saring lebih dahulu, jangan andalkan kebiasaan baik setiap orang.
  3. Pesan kesalahan dan alat pemantauan. Nilai yang dikirim ke layanan pemantauan sering bertahan jauh lebih lama daripada yang dibayangkan.

Cara terbaik untuk memastikan aturannya benar-benar dijalankan adalah dengan mengujinya. Kirim satu permintaan lengkap di lingkungan uji, lalu periksa basis data, berkas catatan, dan panel pemantauan untuk mencari jejak nilainya. Kalau ada satu saja yang menyimpannya, perbaiki sebelum menerapkan ke produksi. Skenario lanjutan untuk alur pembayaran bisa dilihat di checklist pengujian formulir pembayaran.

Apakah CVV boleh diminta lewat surel atau telepon?

Tidak ada pihak yang berhak meminta kode keamanan melalui surel, pesan instan, atau sambungan telepon. Layanan yang sah hanya memintanya di halaman pembayaran yang aman, dan hanya saat transaksi sedang berlangsung. Permintaan kode melalui saluran lain adalah ciri khas upaya penipuan, sehingga tim Anda sebaiknya mengajari pengguna untuk menolaknya tanpa ragu.

Bagi tim produk, aturan ini juga berdampak pada desain alur. Jangan membuat formulir layanan pelanggan yang meminta pengguna mengirimkan kodenya, jangan menempatkan kolom itu di halaman yang tidak memproses pembayaran, dan jangan meminta kode itu diulang melalui percakapan dengan petugas. Bila penelusuran masalah memang menuntut verifikasi, pilih cara lain seperti konfirmasi kepemilikan melalui alamat surel yang terdaftar.

Langkah berikutnya

Bila Anda membangun formulir, tentukan lebih dahulu bahwa kolom kode keamanan bersifat sementara: dibaca sekali, dipakai untuk otorisasi, lalu dilupakan. Setelah itu uji dengan nomor contoh dari halaman generator untuk memastikan kolom tersebut menerima jumlah digit yang berbeda antar jaringan. Langkah kecil ini menutup salah satu kebocoran paling umum sebelum ia sempat terjadi.

Lanjut membaca

Artikel tentang Generator nomor kartu kredit palsu