PHP client for paycrypto.one API.
- Packagist: paycryptoone/paycrypto-php-client
- GitHub: PayCryptoOne/paycrypto-php-client
composer require paycryptoone/paycrypto-php-clientЧерез конструктор:
<?php
use PayCrypto\Client\PayCryptoClient;
$client = new PayCryptoClient(
publicKey: 'your_public_key',
privateKey: 'your_private_key',
baseUrl: 'https://api.paycrypto.one/api/v1/',
authMode: 'signature'
);Или через фабрику из env (в .env или getenv: PAYCRYPTO_PUBLIC_KEY, PAYCRYPTO_PRIVATE_KEY, PAYCRYPTO_BASE_URL):
use PayCrypto\Client\PayCryptoClientFactory;
$client = PayCryptoClientFactory::createFromEnv('signature');
$client = PayCryptoClientFactory::createFromEnv('private-key');use PayCrypto\Client\PayCryptoClient;
use cryptoscan\command\InvoiceCreate;
$client = new PayCryptoClient($publicKey, $privateKey);
$cmd = new InvoiceCreate(10.5, 'order-' . time());
$cmd->setCurrency('USD')->setCryptocurrency('USDT')->setNetwork('TRC-20')->setMetadata('my-order');
$result = $client->invoiceCreate($cmd);
$invoiceId = $result->getId();
$wallet = $result->getWallet();
$finalAmount = $result->getFinalAmount();use cryptoscan\command\WidgetCreate;
$widget = new WidgetCreate(7.5, 'widget-order-' . time());
$widget->setCurrency('USD')->setLang('ru-RU')->setWidgetDescription('Оплата заказа');
$result = $client->widgetCreate($widget);
$widgetUrl = $result->getWidgetUrl();
$invoiceId = $result->getId();$detail = $client->invoiceDetail($invoiceId);
$detail->getId();
$detail->getClientReferenceId();
$detail->getStatus();
$detail->getFinalAmount();$list = $client->invoiceSearch('order-123');
$items = $list->getItems();use cryptoscan\command\InvoiceConfirm;
$confirm = new InvoiceConfirm($invoiceId, 'tx-hash-or-id-' . time());
$result = $client->invoiceConfirm($confirm);
$status = $result->getStatus();$user = $client->userDetail();
$userId = $user->getId();$rates = $client->currencyRate();
$items = $rates->getItems();$status = $client->currencyRateStatus('USD');
$supported = $status->isSupported();Smoke:
composer smokeE2E:
composer e2e