CryptoScan — Принимайте USDT TRC20 на свой личный счёт
- Приватность
- Функциональный API
- Деньги под Вашим контролем
Устанавливать рекомендуется через composer выполнив:
composer cryptoscan/client "~1.0.0"
https://cryptoscan.one/developer/index#auth
$publicKey = '...';
$privateKey = '...'
// Аутентификация по приватному ключу
$auth = AuthFactory::privateKey($publicKey, $privateKey);
// Аутентификация по подписи
$auth = AuthFactory::signature($publicKey, $privateKey);
https://cryptoscan.one/developer/index#invoice-creating
$auth = AuthFactory::signature($publicKey, $privateKey);
$client = new CryptoScanClient($auth);
// Стандартный вызов
$command = new InvoiceCreate(10, '123');
$result = $client->invoiceCreate($command);
// Добавление дополнительных данных
$command = new InvoiceCreate(10, '123');
$command->setMetadata('Example text');
$result = $client->invoiceCreate($command);
https://cryptoscan.one/developer/index#invoice-widget-creating
...
// Стандартный вызов
$command = new WidgetCreate(10, '123');
$result = $client->widgetCreate($command);
// Добавление дополнительных данных
$command
->setBackUrl('https://')
->setCancelUrl('https://')
->setWidgetDescription('Description');
$result = $client->widgetCreate($command);
https://cryptoscan.one/developer/index#invoice-view
...
$invoiceId = 123456;
$result = $client->invoiceDetail($invoiceId);
https://cryptoscan.one/developer/index#invoice-find
...
$query = 123456;
// $query = '123456';
$result = $client->invoiceSearch($query);
https://cryptoscan.one/developer/index#user-info-view
...
$result = $client->userDetail();
Модель | Экземпляр класса |
---|---|
Созданный инвойс | InvoiceCreatedInterface |
Детальная информация по инвойсу | InvoiceDetailedInterface |
Список инвойсов | InvoiceListInterface |
Информация по пользователю | UserDetailInterface |
Созданный виджет | WidgetCreatedInterface |
Модель | Экземпляр класса |
---|---|
Интерфейс всех исключений | ClientExceptionInterface |
Ошибка передаваемых данных | InvalidDataException |
Не корректные данные | InvalidArgumentException |
Ошибка авторизации | AuthFailureException |
Остальные ошибки | ClientFailureException |
По умолчанию запросы отправляются через Guzzle. Для подключения своего HTTP клиента:
// Создание своего HTTP клиента
class MyHTTPClient impliments HttpClientInterface
{
...
}
$httpClient = new MyHTTPClient();
// Создание провайдера данных
$provider = ProviderFactory::http($httpClient);
$client = new CryptoScanClient($auth, $provider);
// Заголовок переданного запроса
$headers = [
'public-key' => '...',
'signature' => '...',
// 'private-key' => '...',
];
// Тело запроса
$data = [
'event_type' => 'paid',
'retry_count' => 3,
...
];
// Формирование WebHook запроса
$webHookData = new WebHookRequest($headers, $data);
$auth = AuthFactory::privateKey($publicKey, $privateKey);
$webHookHandler = new WebHookHandler($auth);
$message = $webHookHandler->handle($webHookData);
class MyWebHookData impliments WebHookDataInterface
{
...
}
$webHookData = new MyWebHookData($headers, $data);
....
Модель | Экземпляр класса |
---|---|
Оплаченный платеж | WebHookPaid |
Просроченный платеж | WebHookExpired |