Krako (OP)
|
|
April 27, 2013, 07:27:12 AM |
|
Bueno, la pregunta es clara.
¿Cual creeis que es la mejor forma de aceptar btc en una tienda física disponiendo de conexion a internet un PC y varias dependientas que nunca han oido hablar de bitcoin?
Espero vuestras ideas
Saludos
|
|
|
|
|
|
Krako (OP)
|
|
April 27, 2013, 01:04:27 PM Last edit: January 31, 2014, 02:05:41 AM by Krako |
|
Esas plataformas de pago cobran... y mira ya que estamos con BTC no tengo ganas de pagar comisiones. Voy a implementar un sistema de pago propio con la API de blockchain. Sería algo así: una página alojada en el servidor de mi tienda online que mi dependienta carga con la tablet y muestra un formulario donde la dependienta mete el importe en euros y el nº de ticket. Esa página llama al script de pago en el mismo servidor donde convierte los € a BTC automáticamente y muestra el cógido QR junto con el importe para que el cliente lo escanee con su movil. Ya lo tengo casi, la verdad es que es más facil de lo que parece. OS pongo lo que he hecho hasta ahora a ver que os parece.cuando el cliente realiza el pago con su movil la página se refresca mostrando el resultado de la transaccion.:
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
April 27, 2013, 01:18:16 PM Last edit: January 31, 2014, 05:12:54 PM by Shawshank |
|
Esas plataformas de pago cobran... y mira ya que estamos con BTC no tengo ganas de pagar comisiones. Voy a implementar un sistema de pago propio con la API de blockchain. Sería algo así: una página alojada en el servidor de mi tienda online que mi dependienta carga con la tablet y muestra un formulario donde la dependienta mete el importe en euros y el nº de ticket. Esa página llama al script de pago en el mismo servidor donde convierte los € a BTC automáticamente y muestra el cógido QR junto con el importe para que el cliente lo escanee con su movil. Ya lo tengo casi, la verdad es que es más facil de lo que parece. OS pongo lo que he hecho hasta ahora a ver que os parece.cuando el cliente realiza el pago con su movil la página se refresca mostrando el resultado de la transaccion.: Está genial. Sencillo y funcional. Como a mí me gusta.
|
|
|
|
LuisCar
Legendary
Offline
Activity: 1820
Merit: 1017
|
|
April 27, 2013, 02:15:55 PM |
|
En la prueba que yo he hecho, el código QR solamente se corresponde con la dirección de pago, sería muy interesante que éste incluyera también el importe en bitcoins de modo que el comprador no tenga que introducir la cantidad de bitcoins a pagar manualmente.
|
|
|
|
yacare
|
|
April 27, 2013, 09:22:19 PM |
|
Muy bueno. Yo pensaba hacer algo similar en perl. Generas un nuevo address para cada ticket? (eso pensaba hacer yo) Es relativamente sencillo de implementar, y no tenemos que andar pagando comisiones
|
|
|
|
Krako (OP)
|
|
April 27, 2013, 09:51:52 PM |
|
En la prueba que yo he hecho, el código QR solamente se corresponde con la dirección de pago, sería muy interesante que éste incluyera también el importe en bitcoins de modo que el comprador no tenga que introducir la cantidad de bitcoins a pagar manualmente.
Ahí me has dado, estaba pensando lo mismo y de hecho iba a preguntar si alguien sabía como se hace... Eso sería percecto ya que 8 decimales a mano se puede prestar a errores. Yacare, si se genera una nueva dirección por cada venta. Una variación de este sistema la estoy usando para los pagos online en los que se solicita el pago por email una vez hecha factura y comprobado que esta todo el pedido disponible.
|
|
|
|
LuisCar
Legendary
Offline
Activity: 1820
Merit: 1017
|
|
April 27, 2013, 10:32:51 PM Last edit: April 28, 2013, 10:27:14 AM by LuisCar |
|
En el cliente Bitcoin-Qt tienes una opción para recibir pagos [Recibir monedas > Seleccionas una dirección de pago > Mostrar código QR] ―hablo de la versión v0.8.1.0― que te muestra el código QR de la dirección bitcoin. Allí tienes una casilla llamada "Solicitud de pago" que si la activas puedes introducir el importe (y si quieres una etiqueta también) y que te genera el código QR correspondiente junto con la salida en texto plano del mismo. Las salidas tienen esta estructura: bitcoin:1B4e2ZJmRSxDZXQmKN8CqEjxUyvC7AtgGz?amount=0.25 bitcoin:1B4e2ZJmRSxDZXQmKN8CqEjxUyvC7AtgGz?amount=0.25&label=PerfumeX
Tienes un ejemplo sin etiqueta y con ella (aunque en las pruebas que he hecho con el monedero de blockchain en el móvil, éste ignora la etiqueta). De modo que solamente deberías tener que pasarle una cadena de texto de ese tipo a un generador de códigos QR para que produzca uno con esa estructura, de forma tal que los monederos de pago de bitcoin en móviles reconocerán y completarán todos los campos de la ventana de pago sin que el cliente tenga que hacer nada más que aceptar la transacción.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
April 28, 2013, 06:24:50 AM |
|
Las salidas tienen esta estructura: bitcoin:1B4e2ZJmRSxDZXQmKN8CqEjxUyvC7AtgGz?amount=0.25 bitcoin:1B4e2ZJmRSxDZXQmKN8CqEjxUyvC7AtgGz?amount=0.25&label=PerfumeX
En el URI scheme de IANA para Bitcoin se indica que también se puede utilizar el atributo message: http://www.iana.org/assignments/uri-schemes/prov/bitcoin
|
|
|
|
Krako (OP)
|
|
April 28, 2013, 07:46:07 AM |
|
Tengo que investigar a ver como se genera la imagen, me he basado en el ejemplo de la sección de desarrolladores de blockchain http://blockchain.info/es/api/api_receive y me da la sensación de que el código se genera en el servidor de Blockchain. Lo miraré a ver si se puede construir el qr de esa manera, cualquier ayuda es bienvenida. Saludos
|
|
|
|
KEMP RASS
|
|
April 28, 2013, 10:01:04 AM |
|
Luiscar,no tendras tu una guia a fondo de todas las opciones del cliente original de bitcoin y posibilidades totales?
|
|
|
|
LuisCar
Legendary
Offline
Activity: 1820
Merit: 1017
|
|
April 28, 2013, 10:39:35 AM Last edit: April 28, 2013, 10:53:41 AM by LuisCar |
|
Pues no, pero claro tenemos la ayuda del programa que nos aporta la siguiente información: Bitcoin-Qt versión v0.8.1.0-g34d62a8-beta
Uso: bitcoin-qt [opciones de la línea de órdenes]
Opciones:
-? Este mensaje de ayuda
-conf=<file> Especificar archivo de configuración (predeterminado: bitcoin.conf)
-pid=<file> Especificar archivo pid (predeterminado: bitcoin.pid)
-gen Generar monedas -gen=0 No generar monedas -datadir=<dir> Especificar directorio para los datos -dbcache=<n> Establecer el tamaño de caché de la base de datos en megabytes (predeterminado: 25) -timeout=<n> Especificar el tiempo máximo de conexión en milisegundos (predeterminado: 5000) -proxy=<ip:port> Conectar mediante proxy socks -socks=<n> Elija la versión del proxy socks a usar (4-5, predetermiando: 5) -tor=<ip:port> Utilizar proxy para conectar a servicios ocultos (predeterminado: igual que -proxy) -dns Permitir búsquedas DNS para -addnode, -seednode y -connect -port=<port> Escuchar conexiones en <puerto> (predeterminado: 8333 o testnet: 18333) -maxconnections=<n> Mantener como máximo <n> conexiones a pares (predeterminado: 125) -addnode=<ip> Añadir un nodo al que conectarse y tratar de mantener la conexión abierta -connect=<ip> Conectar sólo a los nodos (o nodo) especificados -seednode=<ip> Conectar a un nodo para obtener direcciones de pares y desconectar -externalip=<ip> Especifique su propia dirección pública -onlynet=<net> Conectarse solo a nodos de la red <net> (IPv4, IPv6 o Tor) -discover Descubrir dirección IP propia (predeterminado: 1 al escuchar sin -externalip) -irc Encontrar los pares utilizando Internet Relay Chat (predeterminado: 0) -checkpoints Aceptar solamente cadena de bloques que concuerde con los puntos de control internos (predeterminado: 1) -listen Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect) -bind=<addr> Vincular a la dirección dada y escuchar siempre en ella. Utilice la notación [host]:port para IPv6 -dnsseed Encontrar pares mediante búsqueda de DNS (predeterminado: 1 salvo con -connect) -banscore=<n> Umbral para la desconexión de pares con mal comportamiento (predeterminado: 100) -bantime=<n> Número de segundos en que se evita la reconexión de pares con mal comportamiento (predeterminado: 86400) -maxreceivebuffer=<n> Búfer de recepción máximo por conexión, <n>*1000 bytes (predeterminado: 5000) -maxsendbuffer=<n> Búfer de recepción máximo por conexión, , <n>*1000 bytes (predeterminado: 1000) -upnp Usar UPnP para asignar el puerto de escucha (predeterminado: 1 al escuchar) -paytxfee=<amt> Tarifa por KB que añadir a las transacciones que envíe -server Aceptar comandos consola y JSON-RPC
-testnet Usar la red de pruebas
-debug Mostrar información de depuración adicional. Abarca todas las demás opciones -debug* -debugnet Mostrar información de depuración adicional -logtimestamps Anteponer marca temporal a la información de depuración -shrinkdebugfile Reducir el archivo debug.log al iniciar el cliente (predeterminado: 1 sin -debug) -printtoconsole Enviar información de trazas/depuración a la consola en lugar de al archivo debug.log -rpcuser=<user> Nombre de usuario para las conexiones JSON-RPC
-rpcpassword=<pw> Contraseña para las conexiones JSON-RPC
-rpcport=<port> Escuchar conexiones JSON-RPC en <puerto> (predeterminado: 8332 o testnet:18332) -rpcallowip=<ip> Permitir conexiones JSON-RPC desde la dirección IP especificada
-rpcconnect=<ip> Enviar comando al nodo situado en <ip> (predeterminado: 127.0.0.1)
-blocknotify=<cmd> Ejecutar un comando cuando cambia el mejor bloque (%s en cmd se sustituye por el hash de bloque) -upgradewallet Actualizar el monedero al último formato -keypool=<n> Ajustar el número de claves en reserva <n> (predeterminado: 100)
-rescan Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas -salvagewallet Intento de recuperar claves privadas de un wallet.dat corrupto -checkblocks=<n> How many blocks to check at startup (default: 288, 0 = all) -checklevel=<n> Como es de exhaustiva la verificació de bloques (0-4, por defecto 3) -txindex Maintain a full transaction index (default: 0) -loadblock=<file> Importa los bloques desde un archivo blk000??.dat externo -reindex Reconstruir el índice de la cadena de bloques a partir de los archivos blk000??.dat actuales -par=N Set the number of script verification threads (1-16, 0=auto, default: 0)
Opciones de creación de bloques: -blockminsize=<n> Establecer tamaño mínimo de bloque en bytes (predeterminado: 0) -blockmaxsize=<n> Establecer tamaño máximo de bloque en bytes (predeterminado: 250000) -blockprioritysize=<n> Establecer el tamaño máximo de las transacciones de alta prioridad/comisión baja en bytes (predeterminado:27000)
Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL) -rpcssl Usar OpenSSL (https) para las conexiones JSON-RPC
-rpcsslcertificatechainfile=<file.cert> Certificado del servidor (predeterminado: server.cert)
-rpcsslprivatekeyfile=<file.pem> Clave privada del servidor (predeterminado: server.pem)
-rpcsslciphers=<ciphers> Cifrados aceptados (predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
Opciones GUI: -lang=<lang> Establecer el idioma, por ejemplo, "es_ES" (predeterminado: configuración regional del sistema) -min Arrancar minimizado -splash Mostrar pantalla de bienvenida en el inicio (predeterminado: 1)
Mientras que los operadores de la consola son: Bienvenido a la consola RPC de Bitcoin Use las flechas arriba y abajo para navegar por el historial y Control+L para limpiar la pantalla. Escriba help para ver un resumen de los comandos disponibles.
help
addmultisigaddress <nrequired> <'["key","key"]'> [account] addnode <node> <add|remove|onetry> backupwallet <destination> createmultisig <nrequired> <'["key","key"]'> createrawtransaction [{"txid":txid,"vout":n},...] {address:amount,...} decoderawtransaction <hex string> dumpprivkey <bitcoinaddress> getaccount <bitcoinaddress> getaccountaddress <account> getaddednodeinfo <dns> [node] getaddressesbyaccount <account> getbalance [account] [minconf=1] getblock <hash> getblockcount getblockhash <index> getblocktemplate [params] getconnectioncount getdifficulty getgenerate gethashespersec getinfo getmininginfo getnewaddress [account] getpeerinfo getrawmempool getrawtransaction <txid> [verbose=0] getreceivedbyaccount <account> [minconf=1] getreceivedbyaddress <bitcoinaddress> [minconf=1] gettransaction <txid> gettxout <txid> <n> [includemempool=true] gettxoutsetinfo getwork [data] help [command] importprivkey <bitcoinprivkey> [label] [rescan=true] keypoolrefill listaccounts [minconf=1] listaddressgroupings listlockunspent listreceivedbyaccount [minconf=1] [includeempty=false] listreceivedbyaddress [minconf=1] [includeempty=false] listsinceblock [blockhash] [target-confirmations] listtransactions [account] [count=10] [from=0] listunspent [minconf=1] [maxconf=9999999] ["address",...] lockunspent unlock? [array-of-Objects] move <fromaccount> <toaccount> <amount> [minconf=1] [comment] sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to] sendmany <fromaccount> {address:amount,...} [minconf=1] [comment] sendrawtransaction <hex string> sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to] setaccount <bitcoinaddress> <account> setgenerate <generate> [genproclimit] settxfee <amount> signmessage <bitcoinaddress> <message> signrawtransaction <hex string> [{"txid":txid,"vout":n,"scriptPubKey":hex,"redeemScript":hex},...] [<privatekey1>,...] [sighashtype="ALL"] stop submitblock <hex data> [optional-params-obj] validateaddress <bitcoinaddress> verifymessage <bitcoinaddress> <signature> <message> walletlock walletpassphrase <passphrase> <timeout> walletpassphrasechange <oldpassphrase> <newpassphrase>
Si lo que buscas es una guía de uso básica en español con capturas de las acciones para que sirva de guía en comercios que quieren comenzar aceptar bitcoins, habría que currársela. Aunque pienso que el cliente Qt no es el más indicado para un negocio. Éstos necesitan un sistema que les proporcione automáticamente una nueva dirección de pago para cada venta con el fin de mantener la privacidad sobre su volumen de facturación por lo que se necesitaría utilizar un cliente que tire de carteras deteminísticas para tener siempre el control de la generación de todas las claves privadas correspondientes y con el wallet funcionando en modo desconectado (en bitcoin no necesitas devolver cambios por lo que los dependientes no tendrían que tocar el monedero).
|
|
|
|
LuisCar
Legendary
Offline
Activity: 1820
Merit: 1017
|
|
April 28, 2013, 10:55:15 AM |
|
|
|
|
|
Twerka
|
|
April 29, 2013, 05:42:38 AM |
|
Te felicito, primero por aceptar bitcoin en tu comercio. Segundo por no querer dejarte estafar por terceros que cobran por servicios innecesarios.
El cliente de Bitcoin te permite completamente aceptar los pagos.
|
The worst enemy of Bitcoin is Mt.Gox exchange.
|
|
|
sysmenet
Newbie
Offline
Activity: 32
Merit: 0
|
|
May 22, 2013, 08:23:07 AM |
|
Bueno, nosotros ya estamos en desarrollo y pruebas para que nuestro software Tpv conecte con el cliente bitcoin, genere una nueva dirección para cada pago con su etiqueta e importe, y muestre en pantalla y/o imprima un ticket con el código QR (depende de si el empleado dispone de móvil/tablet o no). Y luego, claro, comprobar si la transacción se ha recibido y número de confirmaciones.
Ahora tenemos que buscar la mejor forma de obtener en tiempo real el cambio de moneda, puesto que, lógicamente los comercios compran la mercancía en euros y/o dolares y por tanto no deben poner precios fijos en bitcoins, por tanto, o bien en cada transacción o bien cada X minutos tendremos que comprobar el cambio actual.
A ver si esta actualización anima a la multitud de comercios que usan nuestro software tpv a operar y aceptar el bitcoin en sus puntos de venta físicos, sería un gran paso adelante.
PD: si alguien sabe cual es el servicio-API más fiable para obtener el cambio en tiempo real se lo agradecería.
|
|
|
|
Tximino Art
Newbie
Offline
Activity: 33
Merit: 0
|
|
May 22, 2013, 09:16:58 AM |
|
La tienda con la tablet utilizando Bitpay o mostrando el código QR de su monedero lo entiendo, pero ¿que aplicación utiliza el cliente en el móvil? Cuál recomendais?
|
|
|
|
sysmenet
Newbie
Offline
Activity: 32
Merit: 0
|
|
May 22, 2013, 09:23:57 AM |
|
La tienda con la tablet utilizando Bitpay o mostrando el código QR de su monedero lo entiendo, pero ¿que aplicación utiliza el cliente en el móvil? Cuál recomendais?
Hombre, el cliente elegirá la aplicación que le de la gana no? ahí no tienes nada que hacer, digo yo.
|
|
|
|
Tximino Art
Newbie
Offline
Activity: 33
Merit: 0
|
|
May 22, 2013, 09:27:24 AM |
|
OK, me refiero a cuál utilizais vosotros Cuál recomendais para tener en el movil.
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
May 22, 2013, 11:10:39 AM |
|
Tengo que investigar a ver como se genera la imagen, me he basado en el ejemplo de la sección de desarrolladores de blockchain http://blockchain.info/es/api/api_receive y me da la sensación de que el código se genera en el servidor de Blockchain. Lo miraré a ver si se puede construir el qr de esa manera, cualquier ayuda es bienvenida.
|
|
|
|
|