2.9 KiB
Usage
Please make sure that you have Installed this library and have Configured it correctly. This section will help guide you on how to use this library.
Autoloader
To use the library's autoloader (which doesn't include composer dependencies) instead of composer's autoloader, use the following code:
<?php
$autoloader = __DIR__ . '/relative/path/to/BTCPayServer/Autoloader.php';
if (true === file_exists($autoloader) &&
true === is_readable($autoloader))
{
require_once $autoloader;
\BTCPayServer\Autoloader::register();
} else {
throw new Exception('BTCPayServer Library could not be loaded');
}
Dependency Injection
This library relies heavily on what is known as Dependency
Injection and this
is helped using the BTCPayServer\BTCPayServer class and the Dependency Injection
Component
provided by Symfony. It might be helpful to read
a little on these.
Services
Inside the container there are a few services that will help you develop
your application to work with BTCPayServer. For example, the client service
allows you to make requests to our API and receive responses back
without having to do too much work.
You can see a list of services you have access to by checking out the services.xml file.
To gain access to any of these services, you first need to instantiate
the BTCPayServer class with your configuration options.
$btcpay = \BTCPayServer\BTCPayServer($configuration);
Note
configurationis either the path to a yaml file or an array of configuration options.
Sending your own Requests
You can easily send your own requests to BTCPayServer's API with a little work. For all the requests you can make, please see the API Documentation on the website.
To get started you need to create your Request
$request = new \BTCPayServer\Client\Request();
This is the object that you will pass to the Client.
$request->setHost('https://btcpayserver.com');
$request->setMethod(Request::METHOD_GET);
$request->setPath('/invoices/InvoiceIdHere');
$client = $btcpay->get('client');
// @var BTCPayServer\Client\ResponseInterface
$response = $client->sendRequest($request);
That's all there is to it. Just make your Request object and have the Client send it. You'll get a Response object in return which you can use to do whatever it is you need to do.