如何将Blockchain.info的接收付款API与Node JS / Express一起使用?



他们有很好的PHP文档,但是没有真正的node!

这里有人有任何项目,在他们的节点应用程序中使用区块链.info接收支付API来接收资金/检查确认吗?

我通过查看/重新创建示例代码学得更好,所以任何你有会帮助我吨!

-谢谢你的时间

要创建地址,可以使用如下命令:

app.js:

api = require('blockchain')
app.post('/api/blockchain/createAddress', api.blockchainCreateAddress);

blockchain.js:

exports.blockchainCreateAddress = function(req, res) {
    var btc_address = '<you-destination-btc-address>';
    var api_url = 'https://blockchain.info/api/receive';
    var callback_url = '<your-callback-url>';
    var url = api_url + '?method=create&address=' + btc_address + '&callback=' + encodeURIComponent(callback_url);
    if (btc_address)
    {
        https.get(url, function(resp) {
            console.log("Calling Blockchain API at " + url)
            var body = '';
            resp.on('data', function(chunk) {
                body += chunk;
            });
            resp.on('end', function() {
                try
                {
                    console.log('Blockchain returns: ' + body);
                    res.json(JSON.parse(body));
                }
                catch(e)
                {
                    msg.error = e;
                }           
            });
        }).on('error', function(e) {
            msg.error = e;
        });
    }
};

这是第一部分,区块链将用一些数据响应您,您应该存储返回的input_address并向其发送付款(将其公开)。

在你向input_address发送支付后,你应该创建一个新的模块来处理区块链回调。

创建这样的东西,并继续按照https://blockchain.info/api/api_receive(实现回调)的文档

app.js

[...]
app.get('<your-callback-path>/:value/:input_address/:confirmations/:transaction_hash/:input_transaction_hash/:destination_address', api.blockchainCallback);
[...]

blockchain.js:

exports.blockchainCallback = function(req, res) {
   // Go on and save/store the payment
   // remember to send *ok* result string when you are done
   res.send("*ok*");
});

最新更新