首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用PHP编写一个以太坊支付系统

当我第一次考虑通过加密货币实施支付时,我查看了像Stripe这样的可用解决方案。我觉得Stripe的问题在于,它只允许使用美国商家帐户进行比特币支付,所以这对我来说不是一个选择。在以太坊世界,它看起来更糟糕。有一些较新的服务,但他们都想要分享蛋糕。

那么从头开始构建以太坊支付系统,我们需要什么?

运行PHP的Web服务器。

启用了RPC的专用网络中至少有一个Parity节点。

网络服务器上的虚拟地址生成器,如vanity-eth。

那它是如何工作的?

使用coinbase或kraken API中的当前价格计算ETH的价格。

使用虚拟生成器生成地址对,并将私钥加密或转移到另一个服务器。

显示生成的地址给客户,如果收到付款,则每隔几秒检查一次地址。

理论上似乎是没有问题的,那让我们构建它。

第1步:设置服务器

我们将使用nodejs中的vanity-eth来生成地址。

在Windows上安装vanity-eth后:

还需要一些Etherum节点。我正在使用Parity,因为它快速可靠。

使用这些参数启动它,但不要将节点直接暴露给Internet,将它们保留在防火墙后面而不进行端口转发。

完成同步的Parity日志:

为了更快地部署,您可以使用Parity Docker容器。还可以保存数据,这样每次重新制作容器时都不必重新同步。

第2步:编写付款类

首先创建一个名为的文件夹,然后将php-ethereum repo克隆到其中。ethereum-php项目是json-rpc类的一个很好的封装。

然后我们使用以下类并将其另存为ethpay.php。这是支付处理的主要逻辑。你可以用它来:

生成地址对

检查余额(待定的和已完成的)

从WEI转换为ETH

最后一步:与您的网站集成

根据您的服务,有多种方法可以执行此操作。

在API Heaven,我们为每位客户提供一个可以存入资金的ETH地址。cronjob每分钟检查所有客户地址以检测更改。如果他们将ETH添加到地址,则余额将转换为API配额,因此我们的客户甚至不需要登录该站点来添加资金。

API Heaven中的示例集成:

另一个方法是计算固定价格并将其保存在用户会话中。客户必须在网站上付款,并且您需要向AJAX查询已收到的付款。如果收到全部金额,后端会触发销售。

最重要的是,您不需要外部服务来在您的网站上集成以太坊支付系统。来一起边学边玩以太坊吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181205G1JS0B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券