paycryptoone/paycrypto-payouts-php-client
Composer 安装命令:
composer require paycryptoone/paycrypto-payouts-php-client
包简介
PHP client for PayCrypto payouts API v1
关键字:
README 文档
README
Клиент Guzzle для API выплат PayCrypto: базовый URL по умолчанию https://api.paycrypto.one/api/v1/ (в нём уже есть /api/v1), дальше относительные пути payout/.... Авторизация: Authorization: Bearer sk_payout_*; мастер-пароль при создании выплаты — заголовок X-Payout-Master-Password или поле masterPassword в теле.
Установка
С Packagist (предпочтительно), пакет paycryptoone/paycrypto-payouts-php-client:
composer require paycryptoone/paycrypto-payouts-php-client
Локально из клона:
git clone https://github.com/PayCryptoOne/paycrypto-payouts-php-client.git
cd paycrypto-payouts-php-client
composer install
Инициализация
<?php use PayCrypto\Payouts\Client\PayoutClient; $client = new PayoutClient( getenv('PAYCRYPTO_PAYOUT_API_KEY'), getenv('PAYCRYPTO_PAYOUT_BASE_URL') ?: 'https://api.paycrypto.one/api/v1/' );
Примеры по endpoint-ам
Семантика currency и to_currency
amount всегда в валюте currency. Если to_currency не передан или совпадает с currency, конвертации нет. Если to_currency другой — сумма пересчитывается в to_currency по курсам из базы (через USD). Пример: amount = 0.01, currency = USD, to_currency = LTC — к получателю уйдёт эквивалент 0,01 USD в LTC.
network и address должны соответствовать итоговой монете (to_currency при конвертации, иначе currency). С баланса кошелька списывается монета фактической выплаты.
POST /payout/services — список сервисов выплат
$services = $client->services(); var_dump($services['data']);
POST /payout/calc — расчет комиссии и суммы
Вариант 1: без конвертации
$calcDirect = $client->calc([ 'amount' => '10', 'address' => 'TNVq3iEcaGWbbsR34MTdg1JMTxvYFU8Qir', 'currency' => 'USDT', 'network' => 'TRON', ]); var_dump($calcDirect['data']);
Вариант 2: с приоритетом сети
$calcWithPriority = $client->calc([ 'amount' => '25', 'address' => '0x1111111111111111111111111111111111111111', 'currency' => 'USDT', 'network' => 'ETH', 'priority' => 'high', ]); var_dump($calcWithPriority['data']);
Вариант 3: сумма в USD, выплата в USDT
$calcConvert = $client->calc([ 'amount' => '100', 'address' => 'TNVq3iEcaGWbbsR34MTdg1JMTxvYFU8Qir', 'currency' => 'USD', 'to_currency' => 'USDT', 'network' => 'TRON', ]); var_dump($calcConvert['data']);
POST /payout — создание выплаты
Вариант 1: master password вторым аргументом
$created = $client->createPayout([ 'amount' => '0.01', 'address' => 'TNVq3iEcaGWbbsR34MTdg1JMTxvYFU8Qir', 'currency' => 'USDT', 'network' => 'TRON', 'order_id' => 'order_'.time(), ], getenv('PAYCRYPTO_PAYOUT_MASTER_PASSWORD') ); var_dump($created['data']);
Вариант 2: сумма в USD, выплата в USDT
$createdConvert = $client->createPayout([ 'amount' => '150', 'address' => '0x1111111111111111111111111111111111111111', 'currency' => 'USD', 'to_currency' => 'USDT', 'network' => 'ETH', 'order_id' => 'order_convert_'.time(), ], getenv('PAYCRYPTO_PAYOUT_MASTER_PASSWORD') ); var_dump($createdConvert['data']);
Вариант 3: masterPassword в теле
$createdLegacy = $client->createPayout([ 'amount' => '5', 'address' => 'TNVq3iEcaGWbbsR34MTdg1JMTxvYFU8Qir', 'currency' => 'USDT', 'network' => 'TRON', 'order_id' => 'order_body_mp_'.time(), 'masterPassword' => getenv('PAYCRYPTO_PAYOUT_MASTER_PASSWORD'), ]); var_dump($createdLegacy['data']);
POST /payout/info — информация по выплате
$info = $client->info('00000000-0000-4000-8000-000000000001'); var_dump($info['data']);
POST /payout/list — история выплат
Вариант 1: без фильтров
$historyAll = $client->list(); var_dump($historyAll['data']);
Вариант 2: фильтр по датам
$historyWithDates = $client->list([ 'date_from' => '2026-05-01 00:00:00', 'date_to' => '2026-05-08 23:59:59', ]); var_dump($historyWithDates['data']);
Вариант 3: пагинация по cursor
$page1 = $client->list(); $nextCursor = $page1['data']['paginate']['nextCursor'] ?? null; if ($nextCursor) { $page2 = $client->list(['cursor' => $nextCursor]); var_dump($page2['data']); }
POST /payout/resend — повтор webhook
$resent = $client->resend('00000000-0000-4000-8000-000000000001'); var_dump($resent['data']);
Обработка ошибок
use PayCrypto\Payouts\Client\PayoutApiException; try { $client->services(); } catch (PayoutApiException $e) { var_dump($e->statusCode, $e->getMessage(), $e->responseBody); }
Webhook
use PayCrypto\Payouts\Client\Webhook; $ok = Webhook::verify($decodedJsonArray, $webhookSecretFromSettings); if (!$ok) { throw new RuntimeException('Invalid payout webhook sign'); }
Тесты
composer test
Живой API (расширенные сценарии)
composer test:live выполняет scripts/live-api.php: реальные HTTP-запросы при заданном PAYCRYPTO_PAYOUT_API_KEY (см. .env.example).
Поведение такое же, как у Node-клиента: безопасные шаги всегда; выплата и повторный create с тем же order_id только при PAYCRYPTO_PAYOUT_LIVE_WITHDRAW=1 и PAYCRYPTO_PAYOUT_MASTER_PASSWORD. Скрипт composer e2e при заданном мастер-пароле всегда создаёт одну реальную выплату (короткий сценарий).
composer test:live
Скрипты
composer smoke composer e2e
Переменные окружения см. .env.example.
Если composer и php не установлены локально, можно из каталога пакета:
docker run --rm --add-host=host.docker.internal:host-gateway -v "$PWD":/app -w /app \
-e PAYCRYPTO_PAYOUT_BASE_URL=http://host.docker.internal:3002/api/v1/ \
-e PAYCRYPTO_PAYOUT_API_KEY=... \
composer:2 run test:live
Для полного прогона с выплатой добавь в docker run переменные -e PAYCRYPTO_PAYOUT_LIVE_WITHDRAW=1 -e PAYCRYPTO_PAYOUT_MASTER_PASSWORD=....
paycryptoone/paycrypto-payouts-php-client 适用场景与选型建议
paycryptoone/paycrypto-payouts-php-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「crypto」 「payouts」 「paycrypto」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 paycryptoone/paycrypto-payouts-php-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 paycryptoone/paycrypto-payouts-php-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 paycryptoone/paycrypto-payouts-php-client 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PayPal's PHP SDK for Payouts REST APIs
Official PHP SDK for the Heleket cryptocurrency payment API: payments, payouts, balance, exchange rates, and signed webhooks. Zero runtime dependencies.
High-level cryptographic primitives and security utilities for Maatify systems including password hashing, reversible encryption, HKDF key derivation, and key rotation.
Generic affiliate / revenue-share engine for Laravel: opt-in workflow, monthly commission closure, admin adjustments, partner-initiated payout requests, Blade+Alpine and Livewire dashboards.
A simple PHP Cryptography Implementation for the Ark Blockchain.
A simple PHP API client for the Ark Blockchain.
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 31
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-11