Validasi kartu kredit dengan cek Luhn dalam satu panggilan API
Tangkap kesalahan ketik dan nomor kartu palsu sebelum sampai ke pemroses pembayaran Anda. Satu POST mengembalikan validitas Luhn, merek (Visa, Mastercard, Amex), dan kredit atau debit. Tingkat gratis, tanpa SDK.
Nomor kartu yang salah ketik dikenakan biaya dua kali lipat: pengguna melihat penolakan yang membingungkan, dan prosesor Anda membebankan biaya untuk otorisasi yang gagal. Anda dapat menangkap sebagian besar dari mereka sebelum mereka meninggalkannya peramban. Algoritma Luhn adalah checksum yang dipenuhi setiap nomor kartu asli, jadi nomor itu gagal dijamin tidak valid dan tidak perlu menghubungi Stripe atau Adyen.
Titik akhir ini menjalankan pemeriksaan Luhn dan mendeteksi merek kartu dalam satu POST. Berikut panggilan lengkapnya.
Permintaan
Kirim nomor sebagai string. Spasi dan tanda hubung dihilangkan secara otomatis
4111 1111 1111 1111 Dan 4111-1111-1111-1111 keduanya bekerja. Responsnya
memberi tahu Anda tiga hal:
valid: lolos checksum Luhn atau tidak.brand: Visa, Mastercard, Amex, Discover, JCB, Diners Club, atau UnionPay.type: kredit atau debit, dari nomor identifikasi penerbit.
Validasi saat checkout di Node.js
Hubungi titik akhir sebelum Anda mengirim apa pun ke prosesor Anda. Pemeriksaan Luhn yang gagal menghasilkan hasil yang jelas kesalahan yang dapat Anda tunjukkan kepada pengguna, dan Anda melewatkan biaya otorisasi yang dikenakan pada nomor palsu:
Blokir input yang buruk dalam formulir React
React Hook Form menjalankan validator asinkron sebelum dikirimkan, sehingga nomor yang tidak valid tidak akan pernah mengaktifkannya
memesan. Sambungkan panggilan langsung ke register:
Jaga agar cakupan PCI Anda tetap kecil. Desain dengan risiko terendah memberi token pada kartu di browser prosesor Anda dan hanya memvalidasi digit terdepan untuk logo merek. Jalankan penuh validasi sisi server saat Anda benar-benar membutuhkannya, tidak pada setiap penekanan tombol, dan jangan pernah mencatatnya nomor penuh.
Apa yang dilakukan dan tidak diberitahukannya kepada Anda
Validasi Luhn adalah filter, bukan jaminan. Nomor passing terbentuk dengan baik; itu tidak membuktikan kartu tersebut ada atau mempunyai dana. Hanya otorisasi melalui prosesor Anda yang mengonfirmasi hal itu. Gunakan titik akhir ini untuk menolak sampah yang terlihat jelas dengan harga murah dan untuk menggerakkan UI merek kartu, lalu biarkan prosesor menangani muatan sebenarnya.
Validator kartu kredit adalah salah satu dari sekitar 200 titik akhir tujuan tunggal di botoi IBAN dan PPN validasi untuk sisa aliran penagihan Anda. Semuanya berada di belakang satu kunci API dengan 5 kebutuhan/mnt gratis. Coba telepon di taman bermain interaktif atau menghubungkan server MCP untuk memvalidasi kartu dari Claude.
FAQ
- Apa sebenarnya yang dibuktikan oleh pemeriksaan Luhn?
- Algoritme Luhn adalah checksum yang menangkap kesalahan ketik dan menghasilkan kesalahan secara acak. Nomor yang gagal Luhn dijamin tidak valid, sehingga Anda dapat menolaknya sebelum mencapai pemroses pembayaran Anda. Nomor yang melewati Luhn memang berbentuk baik, namun bukan berarti kartu tersebut ada atau memiliki dana. Hanya otorisasi melalui prosesor Anda yang mengonfirmasi hal itu. Gunakan Luhn untuk memfilter sampah yang terlihat jelas dengan harga murah, lalu biarkan Stripe atau Adyen yang melakukan tugasnya.
- Apakah API menyimpan atau mencatat nomor kartu yang saya kirim?
- Tidak. Nomor tersebut divalidasi di sisi server dan tidak pernah disimpan atau dicatat. Meskipun demikian, pola cerdasnya adalah jangan pernah mengirim PAN lengkap melalui jaringan sama sekali. Jalankan deteksi merek pada 6 hingga 8 digit pertama di sisi klien untuk UI, dan pesan panggilan validasi penuh jika Anda benar-benar membutuhkannya di sisi server, jauh dari cakupan PCI Anda.
- Merek kartu apa yang dideteksinya?
- Visa, Mastercard, American Express, Discover, JCB, Diners Club, dan UnionPay, berdasarkan nomor identifikasi penerbit (digit terdepan). Responsnya juga memberi tahu Anda apakah nomor tersebut terlihat seperti produk kredit atau debit, yang berguna untuk logika perutean atau biaya tambahan jika perbedaan tersebut penting.
- Bisakah saya menampilkan logo merek kartu saat pengguna mengetik?
- Ya, dan ini adalah penggunaan dengan nilai tertinggi. Deteksi merek dari beberapa digit pertama dan tukar logo yang cocok sebelum pengguna selesai mengetik. Ini meyakinkan pengguna bahwa formulir berfungsi dan mengurangi "apakah kartu saya diterima?" tiket dukungan. Batalkan panggilan atau jalankan deteksi merek pada awalan secara lokal dan pesan validasi penuh untuk pengiriman.
- Apakah menjalankan pemeriksaan Luhn cukup untuk kepatuhan PCI?
- Tidak. Pemeriksaan Luhn adalah validasi masukan, bukan kontrol kepatuhan. Jika server Anda menyentuh nomor kartu lengkap, Anda berada dalam cakupan PCI terlepas dari validasinya. Desain cakupan terendah adalah melakukan tokenisasi melalui prosesor Anda di browser dan hanya memvalidasi awalan untuk UI. API ini membantu lapisan validasi; itu tidak mengubah kewajiban cakupan Anda.
Mulai membangun dengan botoi
150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.