繁体   English   中英

如何将Blockchain.info的Receive Payments API与节点JS / Express结合使用?

[英]How do I use Blockchain.info's Receive Payments API with node JS / Express?

他们有很好的PHP文档,但是对于node却一无所有!

这里是否有人在其节点应用程序中使用blockchain.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之后,您应该创建一个新模块来处理Blockchain回调。

创建类似这样的内容,并继续关注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*");
});

希望这可以帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM