¿Qué información necesito en un formulario donde las personas pueden pagar/donar con Bitcoin?

Soy desarrollador y busco crear un formulario donde las personas puedan pagar/donar dinero en Bitcoin. Muchos han sugerido simplemente publicar la dirección de la billetera del destinatario y dejar que la gente la tome y pague por su cuenta. Sin embargo, no quiero eso. Me gustaría crear un formulario que recopile la información necesaria para la liquidación y luego realice el cobro del pago, de la misma manera que alguien que acepta tarjetas de crédito recopilará un número de tarjeta de crédito, un código de seguridad y una fecha de vencimiento antes de transferirlo a un pago. procesador.

Mi pregunta es, ¿es posible recopilar dicha información para un pago? Si es así, ¿cuál es la información que necesitaría recopilar?

Si simplifica las cosas, estábamos pensando en usar la API de Coinbase para que esto suceda.

Respuestas (1)

Este modelo fundamentalmente no funcionará.

En el caso de una transacción con tarjeta de crédito, los fondos están realmente en manos de un tercero: el banco del cliente. Recopila información del cliente (su número de tarjeta, etc.) y la presenta al banco (a través de la red Visa o similar), para convencerlos de que su cliente ha autorizado la transacción. Luego, el banco te transfiere los fondos.

Con Bitcoin, es muy diferente. Los fondos son retenidos por el propio cliente. No hay nadie que pueda realizar la transferencia excepto ella (¡eso es lo que mantiene sus fondos seguros!). No puede hacerlo unilateralmente en su nombre, y no hay ningún banco que tenga los fondos que pueda hacerlo.

En rigor, la "información necesaria" para ejecutar una transferencia es la clave privada del cliente. Pero el cliente es el único que lo tiene, y no lo va a compartir contigo (ni siquiera preguntes). Entonces ella tiene que ejecutar la transferencia ella misma.

La única forma de cobrar un pago a través de Bitcoin es darle una dirección al cliente y esperar a que haga una transferencia a esa dirección, firmada con su propia clave privada a través de su propio software de billetera. Puede hacer que un procesador de terceros como Coinbase se encargue de eso por usted, pero eso no cambia el hecho de que el cliente realmente tiene que hacer algo además de brindarle información.

Sí, pero si deja que ellos paguen, ¿está esperando que el pago aparezca en su cuenta bancaria antes de enviarles el bien o servicio? Además, cuando finalmente aparece ese pago, ¿cómo sabe para qué es?
@Dave: Básicamente, sí, aunque aparece en su dirección de Bitcoin en lugar de en su cuenta bancaria. Deberá tener un software que controle las transacciones de Bitcoin y le notifique (o envíe automáticamente los productos) cuando se realice el pago. Debe dar a cada cliente una nueva dirección única y mantener un registro de con qué pedido va; luego, cuando se realice el pago a esa dirección, sabrá quién le pagó y para qué es.
(Tenga en cuenta que aquí "usted" me refiero a "usted o su procesador de pagos").
Bueno, gracias. El último: en su opinión, ¿debería generar una dirección diferente por transacción para poder rastrear mejor a dónde envían los pagos las personas?
@Dave: Sí, deberías. No puedo ver cómo funcionarían las cosas en absoluto si no lo haces.