Skip to content

Proyecto en python-django para verificar la validez de números de tarjetas de crédito, e identificar el emisor.

Notifications You must be signed in to change notification settings

Jcmantillam/credit_card_validator

Repository files navigation

Validador de números de tarjetas de crédito

Proyecto en python-django para verificar la validez de números de tarjetas de crédito, e identificar el emisor.

Instalación

Se recomienda el uso de Docker, con Docker activo, ejecutar los siguientes comandos:

git clone https://github.com/Jcmantillam/credit_card_validator.git
cd card_validator
docker-compose build
docker-compose up

Tarjetas soportadas

Para realizar la validación, se ha utiilizado como base el artículo: https://es.wikipedia.org/wiki/N%C3%BAmero_de_tarjeta_bancaria. Con base a este artículo, las siguientes tarjetas se encuentran soportadas:

  • American Express
  • Diners Club
  • Discover
  • JCB
  • MasterCard
  • Visa

Tests

Las pruebas realizadas se encuentran en /cardverifier/tests:

docker-compose run web python3 manage.py test

Servicios

El servicio habilitado, permite que dado un número de tarjeta de crédito, se verifique su validez y su entidad emisora.

  • /verify_card

verify_card

  • URL: <api/v1/verify_card/>

  • Métodos soportados: POST

  • Parámetros de datos (POST) Requeridos:
    card_number=[String]

  • Respuesta:

    • Código: 201
    • Contenido:

    {
      "valid": true,
      "emisor": "Visa"
    }
    

Ejemplos

  • Entradas válidas

    Entrada:
    {
      "card_number": "4013021266290"
    }
    
    • Respuesta:
    {
      "valid": true,
      "emisor": "Visa"
    }
    


    Entrada:
    {
      "card_number": "370485935825278"
    }
    
    • Respuesta:
    {
      "valid": true,
      "emisor": "American Express"
    }
    


    Entrada:
    {
      "card_number": "6011 5947 8671 7005"
    }
    
    • Respuesta:
    {
      "valid": true,
      "emisor": "Discover"
    }
    


  • Entradas inválidas o erróneas

    Entrada:
    {
      "card_number": "123456789"
    }
    
    • Respuesta:
    {
      "valid": false
    }
    


    Entrada:
    {
      "card_number": "a370485935825278"
    }
    
    • Respuesta:
    {
      "not_digit": [
          "'a' is not a digit."
      ]
    }
    

About

Proyecto en python-django para verificar la validez de números de tarjetas de crédito, e identificar el emisor.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published