elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / npay - API para pagos con móvil, ecommerce y más[Proyecto] en: 28 Junio 2016, 02:29 am
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
  1. #  class npay used to create object npay
  2. #  and make easiest to use on further
  3. #  develop needs.
  4. #
  5. # hksck
  6.  
  7. from bson import json_util
  8. import json
  9. import hashlib
  10. import pymongo
  11.  
  12.  
  13. class npay:
  14.  
  15.  def __init__(self, user, password, state = 1):
  16.    """ state arg can be :
  17.        1, a already registred useropen vis
  18.        0, a new account using the args already passed
  19.  
  20.      Anyway, if state = 0, npay will check if the gived
  21.      user (user), exists.
  22.    """
  23.    self.user = user
  24.    self.password = password
  25.    self.server = pymongo.MongoClient('mlab_uri', port)
  26.    self.db = self.server['mlab_db_name']
  27.    # paypoc is the entire db name on my server
  28.    self.db.authenticate('mlab_db_user', 'mlab_db_password')
  29.  
  30.    if state == 0:
  31.      if self.db.users.find_one({"user": user}) == None:
  32.        # Create a dict structure of user and password
  33.        dict_user = {
  34.        "user": user,
  35.        "password": password,
  36.        "amount": 0
  37.        }
  38.        self.db.users.insert_one(dict_user)
  39.      else:
  40.        print "User already exist"[/size]
  41.  
  42.  
  43.  def get_balance(self):
  44.    x = self.db.users.find_one({"user": self.user,
  45.                  "password": self.password,
  46.                  })
  47.  
  48.    # This is pretty unknown from me, but, avoid
  49.    # the error JSON serializable and allows
  50.    # search across the documents such as python dictionary
  51.    y = json.dumps(x, default=json_util.default)
  52.    balance = json.loads(y)
  53.    return balance['amount']
  54.  
  55.  


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
  1. 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...?
2  Foros Generales / Foro Libre / crear un monedero electrónico en: 1 Junio 2016, 23:15 pm
Saludos chic@s.

Vengo dándole vuelta mucho a este tema...
Creo con mucho furor, que la siguiente startup de éxito (de las muchas que ya hay y siguen apareciendo), puede ser otro tipo de monedero electrónico.

Quizá me equivoque, quizá no, pero me gustaría saber si hay documentación de cómo son, como funcionan a nivel interno o más aun, cuales son las bases de la legalidad que los rigen.

Esta última pregunta es la que más me interesa, cómo y dónde he de ir por ejemplo, al fundar uno para que sea reconocido como tal, o hasta que punto o con qué volumen de dinero o transacciones se considera al mismo sistema, monedero electrónico :huh: .

Conozco bitcoin y sus monederos, pero no es del tipo del que yo hablo, sino por ejemplo Skrill, Netller o incluso Pay Pal.


Espero alguien me pueda orientar sobre el tema :D

Thanks!!
3  Foros Generales / Foro Libre / ¿Qué script / programa / tool, del foro has o seguís usando? en: 11 Enero 2016, 12:04 pm
Hola chic@s.

Con la reciente salida del ElektroKit



me surgió esta duda.

¿Qué programa / script o herramienta ESCRITA por algún user de aquí usais en la actualidad o habeis usado?


Para contestar estaría bien que dieseis un enlace del post donde esté publicada la tool
4  Media / Multimedia / que es lo que sucede al deshabilitar el vídeo y reproducir solo audio? en: 25 Diciembre 2015, 23:46 pm
Hola chic@s.

Parecerá una pregunta algo tonta, sin embargo, no la comprendo del todo...¿Qué es lo que realmente sucede y cómo, cuando tenemos un archivo de vídeo y solo queremos reproducir el audio de ese archivo?.

Es decir, cómo separa el programa el audio del vídeo?...Entiendo que lo haga, pero el archivo sigue alguna estructura en concreto desde la cual un programa, por ejemplo mplayer sepa cómo separa el audio de lo que es la imagen del vídeo...?

5  Foros Generales / Sugerencias y dudas sobre el Foro / Poder usar markdown en los posts. en: 5 Diciembre 2015, 20:28 pm
Hola chic@s!

El título ya lo explica en si. Creo que sería una gran funcionalidad además de que los posts adquirirían sin mucha dificultad un gran vistazo estético (excluyendo las personas que se esfuerzan para darles una vista más que llamativa usando los bbcodes).

En la web hay conversores de markdown a bbcode pero son poco funcionales a mi parecer, aunque lo pases primero a HTML y luego a bbcode no son muy buenos parseando.

Además la sintaxis markdown veo que es el próximo futuro en cuanto redacción de textos de caracter técnico por su rapidez y versatilidad.

Recalco que desconozco si existe mucha carga para el foro en cuestión de integrar este tipo de sintaxis, quizá temas de seguridad o similares.
Sin embargo creo que sería una gran funcionalidad que (a mi parecer) encantará a muchos usuarios.

Aunque ya lo comenté en otro hilo, no sé si integrar el code folding cuando se publica código, sea posible. Defiendo el code folding como algo que en codes largos por ejemplo, podamos desplegar y cerrar unicamente los trozos que deseamos ver o revisar de un code.
6  Programación / PHP / Ganar dinero con PHP y Fortumo (SMS Premiums) en: 4 Diciembre 2015, 22:29 pm
Hola chi@s.

He redactado este pdf y me gustaría compartirlo sobre Fortumo y PHP. Os dejo el código PHP y este, el pdf https://drive.google.com/file/d/0B0T63NuiX4qFUnhQaVVBVWxlNzA/view?usp=sharing.

Código
  1. <?php
  2.  
  3. /*
  4. Script para procesar las peticiones de Fortumo.
  5.  
  6. Estructura del código:
  7. 1. Primero comprobamos que la petición provenga de una IP de Fortumo.
  8. 2. Comprobamos que la firma sea la misma que la que obtenemos al crear nuestro servicio
  9. de Fortumo.
  10. 3. Comprobamos el estado del pago (leerse los guidelines en ) y solo si este es
  11. satisfactorio continuamos.
  12. 4. Creamos un array con los links de los programas que enviaremos a las personas que soliciten
  13. nuestro servicio.
  14. 5. Comprobamos que el programa que nos pide el cliente este entre los que ofrecemos y además
  15. nos aseguramos de que aunque escriba el nombre del programa en minúscula o deje espacios
  16. sea igual de válido el mensaje.
  17. 6. Enviamos el link al teléfono desde el cual podrá descargar lo solicitado.
  18.  
  19. Las funciones están al final del código.
  20.  
  21. Dado que no es un foro Warez, al probar mi servicio el enlace que te llegará
  22. no será de la descarga de estos programas sino de una imagen en concreto.
  23.  
  24. Para probarlo (si quereis gastar 1,45 :P) podeis enviar un mensaje al 27992 con TXT DOWN PHOTOSHOP
  25. o TXT DOWN VEGAS o TXT DOWN OFFICE32 o TXT DOWN OFFICE64 solo para España dado que estaba probando.
  26.  
  27. */
  28.  
  29.  
  30. //Comprobar si la IP viene de Fortumo
  31. $ips_fortumo = array(
  32. '54.72.6.126',
  33. '54.72.6.27',
  34. '54.72.6.17',
  35. '54.72.6.23',
  36. '79.125.125.1',
  37. '79.125.5.95',
  38. '79.125.5.205'
  39. );
  40. if(!in_array($_SERVER['REMOTE_ADDR'], $ips_fortumo)) {
  41. die("Unknow IP");
  42. }
  43.  
  44.  
  45. //Comprobar la firma con nuestro secreto.
  46. $sig_fortumo = ''; // Introducir vuestra firma aquí.
  47. if(empty($sig_fortumo) || !check_signature($_GET, $sig_fortumo)) {
  48.    die("Error: Invalid signature");
  49.  }
  50.  
  51. //Los enlaces que enviaremos a las personas.
  52. $keys_message = array(
  53. 'PHOTOSHOP',
  54. 'VEGAS',
  55. 'OFFICE32',
  56. 'OFFICE64',
  57. );
  58. $download_Links = array(
  59. 'PHOTOSHOP' => 'https://goo.gl/lxqs5Q',
  60. 'VEGAS' => 'https://goo.gl/hrCU67',
  61. 'OFFICE32' => 'https://goo.gl/oVmijS',
  62. 'OFFICE64' => 'https://goo.gl/oVmijs',
  63. );
  64.  
  65.  
  66. //Comprobar el estado del pago, solo continuará si el pago ha sido efectivo.
  67.  
  68.  if(preg_match("/OK/i", $_GET['status'])
  69.    || (preg_match("/MO/i", $_GET['billing_type']) && preg_match("/pending/i", $_GET['status'])))
  70. {
  71.  
  72. //Apartir de aquí, do whatever you want
  73.  
  74. /* Comprobar si el programa que el cliente solicita lo tenemos disponible y corregir
  75. posibles errores de espacios o letras minúsculas*/
  76. $keyword = $_GET['message']; //Obtener la keyword del programa a descargar.
  77.   str_replace(' ', '', $keyword); //Quitar espacios en blanco si los hay
  78. $keyword = strtoupper($keyword);//Convertir todo a mayúsculas si es que se ha escrito en minúsculas.
  79.  
  80. if(!in_array($keyword, $keys_message)) {
  81. echo("No se reconoce el programa solicitado. Por favor, escribirlo
  82. tal como se muestra en la imagen del anuncio.");
  83. die;
  84. }
  85.  
  86.  
  87. //Enviar el link del programa al teléfono del cliente
  88.  
  89.   echo("Gracias por descargar $keyword.
  90.   Este es el enlace de descarga: {$download_Links[$keyword]}.");
  91.  
  92. }else{
  93. die;
  94. } //Fin de la comprobación de pago
  95.  
  96. //Función -  check_signature()
  97. function check_signature($params_array, $sig_fortumo) {
  98.    ksort($params_array);
  99.  
  100.    $str = '';
  101.    foreach ($params_array as $k=>$v) {
  102.      if($k != 'sig') {
  103.        $str .= "$k=$v";
  104.      }
  105.    }
  106.    $str .= $sig_fortumo;
  107.    $signature = md5($str);
  108.  
  109.    return ($params_array['sig'] == $signature);
  110.  }
  111.  
  112.  
  113.  
  114. ?>
  115.  


Espero que os sea buena y amena la lectura y cualquier sugerencia o duda, feel free to comment :D
7  Programación / Programación General / Programación para cajeros ATM en: 20 Noviembre 2015, 23:44 pm
Hola equipo!

últimamente he estado buscando por la red información para los estudios necesarios para la programación de cajeros automatizados, sin embargo encuentro muy poca información relativa al asunto. Mi pregunta es si existe algún tipo de estudios en concreto que realizar (véase lenguaje de programación, supongo que Java muchos) para poder optar a la programación de los mismos  :huh:

Gracias de antemano
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines