dizda / coinegger-client-bundle
0.0.12
2016-12-17 21:52 UTC
Requires
- php: >=5.4.0
- devster/guzzle-wsse-plugin: ~2.1
- guzzlehttp/guzzle: ~5.1
- symfony/framework-bundle: ~2.3|~3.0
Requires (Dev)
- phpunit/phpunit: ~4.1
README
当比特币遇见阿诺德·施瓦辛格。
查看相关的 API 项目。
设置
使用 Composer 安装
composer require dizda/bitdepot-client-bundle
配置
要激活钩子,您必须更新您的 routing.yml
dizda_bitdepot_client: resource: "@DizdaBitdepotClientBundle/Resources/config/routing.yml" prefix: /callback # don't forget to restrict the path you specify in your security.yml
将以下内容添加到您的 config.yml
dizda_bitdepot_client: base_url: %bitdepot_endpoint% # Correspond to the bitdepot api server app_id: %bitdepot_app_id% app_secret: %bitdepot_app_secret%
监听器
您可能希望监听您地址上的所有交互?这很简单。
DepositListener
每次存款(并达到您指定的确认次数)时都会触发一个事件 dizda_bitdepot_client.deposit_callback
。
例如,您可以创建一个监听器
<?php // AdvertisingBundle/EventListener/DepositListener.php namespace Dizda\Bundle\AdvertisingBundle\EventListener; use Dizda\BitdepotClientBundle\Event\CallbackEvent; /** * Class DepositListener */ class DepositListener { /** * When a deposit is made, the listener will trigger this hook * * @param CallbackEvent $event */ public function onDepositCallback(CallbackEvent $event) { $data = $event->getData(); if ($data['is_fulfilled'] === false) { // The case when the deposit were not sufficient return; } if ($data['is_overfilled'] === true) { // do something } // The deposit was notified to be successful, so you can do your stuff there $advertiser = $this->em ->getRepository('DizdaAdvertisingBundlee:Advertiser') ->findOneByDepositAddress($data['address_external']['value']) ; // Activate the campaign $advertiser->activate(); // [...] } }
并将监听器添加到 services.xml
<service id="dizda_advertising.listener.deposit" class="Dizda\Bundle\AdvertisingBundle\EventListener\DepositListener"> <tag name="kernel.event_listener" event="dizda_bitdepot_client.deposit_callback" method="onDepositCallback" /> </service>
就这么简单!
许可
MIT 许可,请参阅 LICENSE。