Langsung ke konten
Tutorial

Validasi nomor IBAN dengan satu panggilan API

| 5 min read

Validasi IBAN apa pun, ekstrak kode negara dan periksa digitnya, dan dapatkan kembali string yang diformat. Satu permintaan POST, 80+ negara, tidak memerlukan SDK perbankan.

International bank building facade
Photo by Sean Pollock on Unsplash

Formulir pembayaran Anda menerima transfer bank internasional. Pengguna mengetikkan IBAN 22 karakter. Sebelum Anda mengirimkannya ke pemroses pembayaran dan menunggu kegagalan, Anda ingin mengetahui adanya kesalahan ketik pada tingkat formulir. Validasi IBAN melibatkan algoritma digit pemeriksaan modulo-97, khusus negara aturan panjang, dan penguraian struktur BBAN. Anda bisa menulisnya sendiri, menariknya ke perpustakaan, atau membiarkannya API menanganinya.

milik Botoi /v1/validate/iban titik akhir mengambil string IBAN dan mengembalikan apakah itu valid, kode negara, nama negara, dan versi nomor yang diformat. Satu POSTING permintaan, tidak ada SDK perbankan, tidak ada koleksi regex yang harus dikelola.

Panggilan API

Tanggapan:

Responsnya memberi Anda empat bidang. valid adalah boolean yang Anda perlukan gerbang tingkat bentuk. country_code Dan country memungkinkan Anda mendeteksi secara otomatis negara bank pengguna untuk logika hilir seperti pemilihan mata uang atau aturan pajak. formatted mengembalikan IBAN dalam pengelompokan empat karakter standar manusia harapkan untuk dilihat pada faktur dan laporan bank.

Ketika IBAN gagal dalam verifikasi digit cek, Anda masih mendapatkan bidang yang diurai:

Itu valid: false bendera adalah semua yang Anda butuhkan. Tidak ada pengecualian untuk ditangkap, tidak ada kode kesalahan untuk melihat ke atas. Periksa boolean dan tampilkan pesan kesalahan.

Node.js

ular piton

Format IBAN menurut negara

Panjang IBAN bervariasi menurut negara. Dua karakter pertama selalu berupa kode negara ISO 3166-1, diikuti dua digit cek, lalu Nomor Rekening Dasar Bank (BBAN). Inilah lima yang terbanyak format umum dalam pembayaran Eropa:

Negara Kode Panjang Format Contoh
Jerman DARI 22 DE + 2 digit cek + 8 kode bank + 10 rekening DE89 3704 0044 0532 0130 00
Inggris Raya GB 22 GB + 2 digit cek + 4 bank + 6 kode urut + 8 rekening GB29 NWBK 6016 1331 9268 19
Perancis Perancis 27 FR + 2 digit cek + 10 bank + 11 rekening + 2 kunci FR76 3000 6000 0112 3456 7890 189
Spanyol ITU 24 ES + 2 digit cek + 4 bank + 4 cabang + 2 kontrol + 10 rekening ES91 2100 0418 4502 0005 1332
Belanda tidak 18 NL + 2 digit cek + 4 bank + 10 rekening NL91 ABNA 0417 1643 00

API ini menangani 80+ negara di registri SWIFT IBAN. Anda tidak perlu mempertahankan a tabel pencarian panjang dan format; titik akhir memvalidasi terhadap aturan yang benar setiap kode negara.

Validasi formulir React/Preact pada blur

Integrasi yang paling umum: memvalidasi IBAN ketika pengguna keluar dari kolom input. Memanggil blur (bukan pada setiap penekanan tombol) menjaga penggunaan API tetap rendah dan menghindari flashing pesan kesalahan saat pengguna masih mengetik.

Komponen memanggil API ketika bidang kehilangan fokus. Jika IBAN valid, ia lolos data yang diurai (kode negara, string yang diformat) hingga formulir induk melalui onValidated. Orang tua kemudian dapat mengisi mata uang secara otomatis, menyesuaikan perutean, atau menampilkan IBAN yang diformat sebagai konfirmasi.

Batch memvalidasi IBAN dari CSV

Tim keuangan sering kali perlu memvalidasi daftar IBAN pemasok atau karyawan sebelum menjalankan a pembayaran batch. Skrip ini membaca CSV, memvalidasi setiap IBAN, dan menandai entri yang tidak valid.

Skrip keluar dengan kode 1 jika ada IBAN yang tidak valid, sehingga dapat digunakan sebagai langkah CI atau pemeriksaan pra-unggah. Untuk file besar (1.000+ baris), tambahkan sedikit jeda antar permintaan atau gunakan kunci API untuk mendapatkan batas kecepatan yang lebih tinggi.

Orientasi Stripe Connect

Saat melakukan orientasi penjual atau pekerja lepas melalui Stripe Connect, Anda mengumpulkan detail bank mereka mengatur pembayaran. Memvalidasi IBAN sebelum menelepon stripe.accounts.createExternalAccount menghindari perjalanan bolak-balik ke API Stripe yang akan tetap gagal. Ini juga memungkinkan Anda mengekstraknya kode negara untuk mengatur mata uang pembayaran yang benar.

Alurnya mudah: validasi dulu, ekstrak negaranya, petakan ke mata uang, lalu buat akun eksternal. Jika IBAN tidak valid, pengguna akan langsung melihat kesalahan menunggu Stripe menolaknya beberapa detik kemudian.

Poin-poin penting

  • Satu POST, empat bidang. Kirim string IBAN ke /v1/validate/iban dan dapatkan kembali validitas, kode negara, nama negara, dan nomor yang diformat.
  • 80+ negara. Titik akhir mencakup setiap negara di registri SWIFT IBAN. Tidak ada logika khusus negara di pihak Anda.
  • Tangkap kesalahan di tingkat formulir. Validasi blur dalam formulir pembayaran Anda ke mencegah IBAN yang tidak valid mencapai bank atau pemroses pembayaran Anda.
  • Tanpa penyimpanan, tanpa pencatatan. IBAN diproses di memori dan dibuang. Tidak ada yang bertahan.
  • Tersedia tingkat gratis. Akses anonim dengan 5 permintaan per menit, 100 per hari. Tidak diperlukan kunci API untuk pengembangan dan pengujian.

FAQ

Apakah API ini memverifikasi keberadaan rekening bank?
Tidak. Ini memvalidasi struktur IBAN dan checksum modulo-97. Ini mengonfirmasi bahwa nomor tersebut diformat dengan benar tetapi tidak menghubungi bank mana pun atau memeriksa apakah rekening dibuka atau didanai.
Berapa banyak negara yang didukung validasi IBAN?
Lebih dari 80 negara yang telah mengadopsi standar IBAN, termasuk seluruh negara anggota EU/EEA, Inggris, Swiss, Arab Saudi, dan Brasil. Daftar lengkapnya mengikuti registri SWIFT IBAN.
Bisakah saya mengirim IBAN dengan spasi di dalamnya?
Ya. Spasi dihapus secara otomatis sebelum validasi. "DE89 3704 0044 0532 0130 00" dan "DE89370400440532013000" keduanya memberikan hasil yang sama.
Apakah saya memerlukan kunci API untuk memvalidasi IBAN?
Tidak. Akses anonim memungkinkan 5 permintaan per menit dengan pembatasan tarif berbasis IP dan 100 permintaan per hari. Untuk throughput yang lebih tinggi, daftar untuk mendapatkan kunci API di botoi.com/api.
Apakah IBAN yang saya kirim disimpan atau dicatat?
Tidak. IBAN divalidasi dalam memori dan segera dibuang. Tidak ada yang disimpan atau ditulis ke log mana pun.

Mulai membangun dengan botoi

150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.