请问比特币支付是怎么实现的?

2017-01-04 00:12:50 +08:00
 adkudao

发现国外有些网站, 支持比特币支付, 只要往指定的比特币钱包打入特定数额的比特币, 立马就可以完成[充值 /购买]

请问, 他们是如何实现这个功能的呢?


PS: 我对 PHP 比较熟悉, 很熟悉支付宝支付 /微信支付的支付接口开发

但是像这种比特币支付接口我尝试着 Google 一下, 没有找到相关的资料, 不知道用哪个网站, 也不知道实现的原理

还请诸位大神不吝赐教, 在此谢谢了~

7637 次点击
所在节点    Bitcoin
15 条回复
lgn21st
2017-01-04 00:34:56 +08:00
比特币背后的技术叫做区块链技术,你可以抽象成一个公共数据库(另外一种抽象是公共账本),然后通过向某个地址打一笔钱就是向这个数据库插入一条记录,然后下一步就是不停的查询数据库,找出这个这条最新插入的数据。

关于如何访问这个公共数据库?
你需要安装一个公共数据库的本地客户端,也通过第三方 API 来查询,这样缺点是依赖第三方提供服务,但是不用下载(同步)整个区块链数据到本地,具体看这里 https://blockchain.info/api

如果你安装客户端 https://github.com/bitcoin/bitcoin 的话,则可以通过 JSONAPI 来访问公共数据库 https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
sneezry
2017-01-04 00:35:15 +08:00
和交易所合作的吧,支持比特币支付的平台往往都是立马变现的
adkudao
2017-01-04 00:46:52 +08:00
@lgn21st
我明白了, 国外那些 PHP 网站的实现流程, 我是否可以理解为:
1. 创建一个订单, 要求客户在指定时间内,比如 15 分钟内, 往收款地址打款;
2. 服务器创建完订单后, 在 15 分钟内, 不停通过 api 来查询该地址有没有收到这笔款项;
3. 如果没查到, 就取消订单, 如果查到了, 就给会员[充值 /购买成功]
adkudao
2017-01-04 00:47:42 +08:00
@sneezry
哈哈, 跟交易所合作没有必要吧, 太麻烦了, 个人开发者也没那个能力;
sneezry
2017-01-04 01:03:28 +08:00
@adkudao 我懂你意思了,那是你举的例子不合适。你举的比特币支付的例子大部分真的是和交易所合作,没记错的话 coinbase 就支持支付接口,好像新蛋和维基都用的那个,商家拿到的就是法币。

如果你就是想用一个程序获知比特币钱包收款状态应该有很多现成的项目可以参考。
adkudao
2017-01-04 01:15:44 +08:00
@sneezry 其实就是想做个网站, 然后用比特币做支付接口, 面向老外, 这个在国外貌似挺成熟的, 但是国内好像相关的中文资料特别少, 我搜了一大圈, 很难有什么收获; 不过找到了一个叫"付钱啦"的网站, 准备试试里面的比特币支付接口
http://fuqianla.net
boter
2017-01-04 01:35:35 +08:00
@adkudao 直接拿 coinbase 或者 bitpay 的接口就行了
yun
2017-01-04 02:55:55 +08:00
@boter 没有用别人接口做比特币支付的。
比特币支付是基于 bitcoind(bitcoin core)的,自己搭建 bitcoind 服务器,支付时候随机获取一个收款地址,当比特币支付到此地址(0 确认即可,基本达到实时,这也是不能用别人接口的原因),即完成交易。
frienmo
2017-01-04 04:01:12 +08:00
@yun 很多都用接口,接口的目的不是判断支付与否而是已实时价格转换成法币。
cctvsmg
2017-01-04 04:17:30 +08:00
2333 果然 V2EX 都是 web 码农,连比特币方面的人才都没有的
我来回答下,楼主如果只是想接受比特币付款,那有集中方式:
1.如果你有 stripe 账号,可以增加 bitcoin 支付的 method ,但是需要美国税号,不然美帝会怀疑你用比特币偷税漏税,这个是比较麻烦的;
2.比特币界也有那种,别人发送比特币,你接受到的是美元的第三方支付公司,典型的有两家,一家叫 bitpay ,李嘉诚投资,一家叫 coinbase ,这两家都提供完善的 sdk , namecheap 就使用了 bitpay 的 sdk ,充值还是非常迅速的;
3.如果是只是单纯想接收比特币,并不想做任何转换,那推荐用 blockchain.info 的 api ,你只需要一个你的比特币地址, blockchain.info 对你的比特币没有任何控制权,他只是通过公开区块链信息去查询,是否有一笔钱转账到你的地址成功;
4.国内也有同类的企业,比如 okcoin 旗下的币行钱包,也有商家功能,之前 oklink 做的更多一些,但是 oklink 现在转型做基于比特币的全世界货币自由兑换去了;

强烈不建议自己实现支付接口,那样浪费时间也不专业,现有的 sdk ,只有自动转成法币的才收你钱,其他的都是免费的。

v2ex 总说什么比特币没价值,代码不就是价值,以比特币为核心的一整套支付和转账体系就是其价值(当然这个价值更多建立在比特币的垄断之上), site:github.com bitcoin 看下比特币相关项目总代码量,就知道价值在哪儿了。
boter
2017-01-04 10:37:00 +08:00
@yun 你没看懂楼主的意思,楼主是做个网站卖东西,用比特币收款
adkudao
2017-01-04 11:20:33 +08:00
@boter
@cctvsmg
@yun
@cctvsmg

谢谢, 我的目的确实是想做个国外网站, 卖东西, 然后用比特币做支付接口

@boter 和 @cctvsmg 两位大神提到的 bitpay 和 okcoin 不错, 我刚查了一下, 尤其是 okcoin, 还有中文文档, 值得大家试试
PaulPeng
2017-01-04 12:06:31 +08:00
@cctvsmg 涨姿势了…
lgn21st
2017-01-04 18:23:44 +08:00
@cctvsmg 戾气好重啊, V2EX 卧虎藏龙,另外也不要看不起 web 码农可以么?
buseni
2017-10-31 21:41:15 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/332043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX