npay - API para pagos con móvil, ecommerce y más[Proyecto]

Iniciado por hksck, 28 Junio 2016, 02:29 AM

0 Miembros y 1 Visitante están viendo este tema.

hksck

npay -exponential network payments




1. ¿Qué es npay?

npay nace con la idea de crear un nuevo procesador de pagos, abierto, con el cual, podrás realizar pagos
instantaneos solo usando el número de teléfono.



2. ¿Cómo funciona...funcionará?
El esquema de funcionamiento es sencillo; Antes de explicar nada quiero mencionar que se trata de un proyecto con el cual quiero aprender mientras lo construyo e igual, hacer algo que de pronto, todos podamos dar utilidad...y quién sabe, a lo mejor se convierte en lo que el título dice: "pagos por internet exponenciales".

npay plantea que todos podamos tener acceso a las compras por internet.

Por ello, se basa en la idea de que tu teléfono móvil (el número hablando más claro) sea tu cuenta en la cual depositar fondos (como si de una recarga se tratase) y con este mismo número, poder comprar en cualquier lugar que acepte el método.
Y ante todo, quiero que sea libre, abierto, y que su facilidad sea tajante y sus posibilidades, exponenciales.


3. ¿Pero sigues sin decir como funcionará?  :huh: :silbar:


1. El usuario se registra con su teléfono y se hace una confirmación por SMS.

2. Añadir crédito a tu cuenta se hace mediante transferencia bancaria, ingreso por su cajero o recarga mediante prepaid pins (el mismo proceso que cuando pedimos en una tienda, recargar el móvil).
Al igual que podíamos recargar a movistar con 5 euros, podremos recargar a npay, especificando que se trata de npay más el importe  :huh:. Esto se verá más adelante.

3. Crédito añadido. Y ahora cualquier Item disponible a través de la plataforma, podrá ser comprado de manera instantanea por el usuario.

Por ahora tengo "esquematizado" la base de datos:


Sencilla no¿? :D.


4. Y ahora un poco de código...

Código (python) [Seleccionar]

#  class npay used to create object npay
#  and make easiest to use on further
#  develop needs.
#
# hksck

from bson import json_util
import json
import hashlib
import pymongo


class npay:
 
  def __init__(self, user, password, state = 1):
    """ state arg can be :
        1, a already registred useropen vis
        0, a new account using the args already passed

      Anyway, if state = 0, npay will check if the gived
      user (user), exists.
    """
    self.user = user
    self.password = password
    self.server = pymongo.MongoClient('mlab_uri', port)
    self.db = self.server['mlab_db_name']
    # paypoc is the entire db name on my server
    self.db.authenticate('mlab_db_user', 'mlab_db_password')

    if state == 0:
      if self.db.users.find_one({"user": user}) == None:
        # Create a dict structure of user and password
        dict_user = {
        "user": user,
        "password": password,
        "amount": 0
        }
        self.db.users.insert_one(dict_user)
      else:
        print "User already exist"[/size]


  def get_balance(self):
    x = self.db.users.find_one({"user": self.user,
                  "password": self.password,
                  })

    # This is pretty unknown from me, but, avoid
    # the error JSON serializable and allows
    # search across the documents such as python dictionary
    y = json.dumps(x, default=json_util.default)
    balance = json.loads(y)
    return balance['amount']




El code anterior crea un objeto del tipo npay, con el cual, podemos por el momento crear un usuario (o saber si existe cuando introducimos un usuario que ya existe sin saberlo, el programa nos lo indica), logearse y retornar el balance con el método
Código (python) [Seleccionar]
get_balance().
Nada interesante quizá por el momento  :silbar:

Registraos en https://mlab.com y sustituid los datos por los vuestros, cread una función instanciando el objeto npay y obtendréis esto:




5. ¿Y qué opináis...?