Valide tarjetas de crédito con el cheque Luhn en una llamada API
Detecte errores tipográficos y falsificaciones en los números de tarjetas antes de que lleguen a su procesador de pagos. One POST devuelve la validez de Luhn, la marca (Visa, Mastercard, Amex) y el crédito o débito. Nivel gratuito, sin SDK.
Un número de tarjeta mal escrito le cuesta el doble: el usuario ve un rechazo confuso y su procesador cobra una tarifa por la autorización fallida. Puedes atrapar a la mayoría de ellos antes de que abandonen el navegador. El algoritmo de Luhn es una suma de comprobación que todo número de tarjeta real satisface, por lo que un número que falla, se garantiza que no es válido y nunca necesita llegar a Stripe o Adyen.
Este punto final ejecuta la verificación de Luhn y detecta la marca de la tarjeta en una POST. Aquí está la convocatoria completa.
la solicitud
Envía el número como una cadena. Los espacios y guiones se eliminan automáticamente, por lo que
4111 1111 1111 1111 y 4111-1111-1111-1111 ambos funcionan. la respuesta
te dice tres cosas:
valid: pasa la suma de comprobación de Luhn o no.brand: Visa, Mastercard, Amex, Discover, JCB, Diners Club o UnionPay.type: crédito o débito, a partir del número de identificación del emisor.
Validar al finalizar la compra en Node.js
Llame al punto final antes de enviar algo a su procesador. Una verificación fallida de Luhn devuelve un claro error que puede mostrarle al usuario y se salta la tarifa de autorización que habría costado un número falso:
Bloquear entradas incorrectas en un formulario de React
React Hook Form ejecuta un validador asíncrono antes del envío, por lo que un número no válido nunca activa el
orden. Conecte la llamada directamente a register:
Mantenga su alcance PCI pequeño. El diseño de menor riesgo tokeniza la tarjeta en el navegador a través de su procesador y solo valida los dígitos iniciales del logotipo de la marca. ejecutar un completo validación del lado del servidor cuando realmente la necesita, no en cada pulsación de tecla, y nunca registre el número completo.
Lo que te dice y lo que no te dice
La validación de Luhn es un filtro, no una garantía. Un número que pasa está bien formado; no prueba la tarjeta existe o tiene fondos. Sólo una autorización a través de su procesador lo confirma. uso este punto final para rechazar la basura obvia de forma económica y para controlar la interfaz de usuario de la marca de la tarjeta, luego deje que su El procesador maneja la carga real.
El validador de tarjetas de crédito es uno de los aproximadamente 200 puntos finales de propósito único en botoi, junto con IBAN e IVA validación para el resto de su flujo de facturación. Todos ellos se encuentran detrás de una clave API con 5 requerido/min libre. Pruebe la llamada en el parque infantil interactivo o conectar el servidor MCP para validar tarjetas de Claude.
FAQ
- ¿Qué prueba realmente el cheque de Luhn?
- El algoritmo de Luhn es una suma de verificación que detecta errores tipográficos y falsificaciones generadas aleatoriamente. Se garantiza que un número que falla en Luhn no es válido, por lo que puede rechazarlo antes de que llegue a su procesador de pagos. Un número que pasa Luhn está bien formado, pero eso no significa que la tarjeta exista o tenga fondos. Sólo una autorización a través de su procesador lo confirma. Utilice Luhn para filtrar basura obvia de forma económica y luego deje que Stripe o Adyen hagan la carga real.
- ¿La API almacena o registra los números de tarjeta que envío?
- No. El número se valida en el servidor y nunca se almacena ni se registra. Dicho esto, el patrón inteligente es no enviar nunca un PAN completo a través de la red. Ejecute la detección de marca en los primeros 6 a 8 dígitos del lado del cliente para la interfaz de usuario y reserve una llamada de validación completa para los casos en los que realmente la necesite en el lado del servidor, fuera del alcance de su PCI.
- ¿Qué marcas de tarjetas detecta?
- Visa, Mastercard, American Express, Discover, JCB, Diners Club y UnionPay, según el número de identificación del emisor (los dígitos iniciales). La respuesta también le indica si el número parece un producto de crédito o débito, lo cual es útil para la lógica de enrutamiento o recargo cuando esa distinción es importante.
- ¿Puedo mostrar el logotipo de la marca de la tarjeta mientras el usuario escribe?
- Sí, y este es el uso de mayor valor. Detecte la marca desde los primeros dígitos e intercambie el logotipo correspondiente antes de que el usuario termine de escribir. Le asegura al usuario que el formulario está funcionando y reduce "¿se acepta mi tarjeta?" tickets de soporte. Rechace la llamada o ejecute la detección de marca en el prefijo localmente y reserve la validación completa para enviar.
- ¿Es suficiente realizar una verificación de Luhn para cumplir con PCI?
- No. Una verificación de Luhn es una validación de entrada, no un control de cumplimiento. Si sus servidores tocan un número de tarjeta completo, se encuentra en el alcance de PCI independientemente de la validación. El diseño de menor alcance es tokenizar a través de su procesador en el navegador y solo validar el prefijo para la interfaz de usuario. Esta API ayuda con la capa de validación; no cambia sus obligaciones de alcance.
Empieza a construir con botoi
150+ endpoints de API para consultas, procesamiento de texto, generacion de imagenes y utilidades para desarrolladores. Plan gratuito, sin tarjeta de credito.