petefox / bitpayclient
该库的目的是作为一个面向对象的替代方案,用于官方的 BitPay PHP 库。库的设计旨在使将 BitPay 集成到更多使用 composer 作为包管理器的重型 PHP 框架(如 Symfony2 和 Laravel)变得更加容易。
Requires
- php: >=5.4.0
- guzzle/guzzle: ~3.8
Requires (Dev)
- php-vcr/php-vcr: >=1.1.1
- php-vcr/phpunit-testlistener-vcr: ~1.1.0
- phpdocumentor/phpdocumentor: 2.*
- phpunit/phpunit: ~4.0.0
This package is not auto-updated.
Last update: 2022-02-01 12:30:58 UTC
README
该库的目的是作为一个面向对象的替代方案,用于官方的 BitPay PHP 库。
该库旨在使将 BitPay 集成到更多使用 composer 作为包管理器的重型 PHP 框架(如 Symfony2 和 Laravel)变得更加容易。
该库由我本人,Peter Fox 编写。
版本
1.1.0 - 2014年3月16日 - 允许在返回错误 API 响应时抛出异常 1.0.0 - 2014年2月5日
安装
将以下内容添加到项目的 composer.json 文件中
{ "require": { "peterfox/bitpayclient":"1.0.*" } }
然后运行 composer install 或 composer update 以安装此包。
用法
最基本的使用方法如下
$client = new BitPayClient('YOUR-API-KEY'); $invoiceResponse = $client->createInvoice(0.0001, 'BTC');
您可以通过第三个数组参数提供更多参数来创建发票(要查看所有可能的参数,请阅读 BitPay API)
$client = new BitPayClient('YOUR-API-KEY'); $invoiceResponse = $client->createInvoice(0.0001, 'BTC', ['redirectUrl' => 'http://somewhere']);
您还可以提供 PosData 值作为数组,并将其作为 Base64 编码字符串发送(请注意,其他数据也将被修改为 base64)
$client = new BitPayClient('YOUR-API-KEY'); $invoiceResponse = $client->createInvoice(0.0001, 'BTC', ['posData' => ['some_id' => 100]]);
该库还允许从数组(如 $_POST)中获取响应
$client = new BitPayClient('YOUR-API-KEY'); $invoiceData = [ 'id'=> 'CNRWBUPUZs9foP2ysZBBc', 'url'=> 'https://bitpay.com/invoice?CNRWBUPUZs9foP2ysZBBc', 'status' => 'new', 'btcPrice' => '0.0001', 'price' => 0.0001, 'currency' => 'BTC', 'invoiceTime' => 1391301679184, 'expirationTime' => 1391302579184, 'currentTime' => 1391302121888 ]; $invoiceResponse = $client->getInvoiceFromArray($invoiceData);
如果您希望,该库还允许从 BitPay 的 API 获取发票
$client = new BitPayClient('YOUR-API-KEY'); $invoiceGetResponse = $client->getInvoice('CNRWBUPUZs9foP2ysZBBc');
测试
在克隆和安装此存储库后,您可以在项目的根目录中运行 /vendor/bin/phpunit 来测试。
您需要在项目的根目录中创建一个名为 apikey.txt 的文件,其中包含您的 API 密钥,才能实际运行这些测试。
此项目的测试使用 PHP-VCR,这对于多次运行测试非常有用,因为 testCreateInvoice_LimitExceeded() 测试会导致 BitPay 向您发送警告电子邮件,这可能会有些繁琐。所有固定值都存储在 test/fixtures/ 目录中。
许可
GNU GPL 版本 3