Estoy tratando de configurar una especie de sistema BitPay donde
1) Un usuario selecciona cuánto dinero quiere enviar (precio en BTC).
2) El sistema le da al usuario una cantidad de dinero que debe pagar y la dirección a la que debe enviar.
3) El sistema verifica si el dinero se envía desde la dirección de Bitcoin del usuario a la dirección de recepción con la cantidad de bitcoins especificada
4) Si todo está bien, muestra un mensaje o lo que sea, si no muestra un error
¿Cómo puedo hacer esto?
Como dices "una especie de sistema BitPay", asumo que no quieres usar BitPay.
Puede comenzar analizando algunos de los trabajos que la gente ha realizado en el espacio en repositorios como bitwasp o bitcoin-php . Esto es probablemente más de lo que necesita, sin embargo, los componentes básicos están ahí para lo que quiere hacer si desea que toda la lógica viva en php.
Si realmente desea generar direcciones, este es un buen lugar para comenzar .
Aquí hay una puñalada rápida en un flujo de trabajo que creo que sería bastante sencillo de desarrollar.
El usuario ingresa el valor en su moneda. Al consultar una tabla de tipos de cambio como la de Blockchain.info , muestre la cantidad en Bitcoin. Puede generar un código QR usando PHP QR , así como mostrar un enlace para hacer clic/dirección para copiar/pegar, luego verificar que la transacción se completó usando Blockchain.info o algo más.
O... podría usar la herramienta gratuita de Blockchain.info , pero supongo que tiene una razón por la que desea crear su propia solución.
En el caso de que me equivoque y realmente quiera usar BitPay, probablemente usaría el método Bill o Invoice de la API de BitPay .
Puede usar GoUrl.io PHP Bitcoin Clase de pago de código abierto.
Github - https://github.com/cryptoapi/Payment-Gateway
Ejemplos de PHP: https://gourl.io/bitcoin-payment-gateway-api.html
Prefiero www.payb.tc , esto solo obtiene un pequeño porcentaje. Sin cargos adicionales.
En primer lugar, no necesita terceros para aceptar Bitcoin. De alguna manera anula el propósito de la criptomoneda. En segundo lugar, usar una API y almacenar cualquier clave secreta en su servidor creará riesgos potenciales. Todas las claves privadas deben almacenarse sin conexión, no las necesita para aceptar el pago.
Todas las transacciones de BTC son públicas. Todo lo que necesita es almacenar algunas claves públicas generadas previamente para la rotación, una vez que se haya realizado el pago, tiene 2 opciones:
https://blockchain.info/rawaddr/{$TU_CLAVE_PÚBLICA}
https://blockchain.info/rawtx/{$PAYER_PROVIDED_TRANSACTION_HASH}
Este devuelve JSON con todos los detalles que necesita. También puede utilizar otro proveedor de datos.
¡Espero eso ayude!
muro
muro