anore/sdk
Composer 安装命令:
composer require anore/sdk
包简介
Official anore payments SDK for PHP — accept SBP, cards and crypto payments. Zero dependencies.
README 文档
README
Официальный SDK для приёма платежей через anore. Без зависимостей, только расширения curl и json из ядра PHP. PHP 7.4+.
Структура
php/
├── composer.json
└── src/
├── Client.php createPayment, getPayment (cURL + ретраи)
├── Webhooks.php verify / parse
├── Model/
│ ├── Model.php база моделей
│ ├── Payment.php модель платежа
│ └── WebhookEvent.php модель события вебхука
└── Exception/ иерархия ошибок
Установка
Composer
composer require anore/sdk
require 'vendor/autoload.php'; use Anore\Client; use Anore\Webhooks;
Без Composer — подключите PSR-4 автозагрузчик на папку src/ с префиксом Anore\.
Быстрый старт
$anore = new Anore\Client('an_live_xxxxxxxxxxxxxxxx'); // 1. создать счёт $payment = $anore->createPayment([ 'amount' => 1500, 'description' => 'Подписка Pro', 'orderId' => 'order_42', 'shopId' => 1, // обязателен для аккаунтовых ключей (an_*) ]); echo $payment->paymentUrl(); // отправьте клиента сюда // 2. проверить статус $status = $anore->getPayment($payment->id()); echo $status->status(); // paid
Проверка вебхука
При оплате anore шлёт POST на ваш URL с заголовком Anore-Signature.
Проверяйте подпись по сырому телу запроса (не декодированному JSON):
use Anore\Webhooks; use Anore\Exception\SignatureException; $raw = file_get_contents('php://input'); // сырое тело $sig = $_SERVER['HTTP_ANORE_SIGNATURE'] ?? ''; try { $event = Webhooks::parse($raw, $sig, getenv('ANORE_WEBHOOK_SECRET')); if ($event->isSucceeded()) { // отгрузить заказ $event->id() / $event->orderId() } http_response_code(200); } catch (SignatureException $e) { http_response_code(403); // подпись не сошлась }
Обработка ошибок
use Anore\Exception\ValidationException; use Anore\Exception\AuthenticationException; use Anore\Exception\ApiConnectionException; try { $anore->createPayment(['amount' => 1500, 'description' => 'Заказ', 'shopId' => 1]); } catch (ValidationException $e) { // 400 — кривой запрос } catch (AuthenticationException $e) { // 401 — неверный ключ } catch (ApiConnectionException $e) { // сеть недоступна }
Справка
| API | Описание |
|---|---|
new Anore\Client($apiKey, $options) |
клиент; $options: secret, baseUrl, maxRetries, timeout |
createPayment([...]) |
создать счёт → Payment |
getPayment($id) |
статус → Payment (->status(), ->paid()) |
Anore\Webhooks::verify($rawBody, $signature, $secret) |
проверка подписи → bool |
Anore\Webhooks::parse($rawBody, $signature, $secret) |
проверка + разбор → WebhookEvent (бросает SignatureException) |
Ошибки: ValidationException (400), AuthenticationException (401), ForbiddenException (403), NotFoundException (404), ServerException (5xx), ApiConnectionException (сеть), SignatureException (подпись). База — AnoreException, у ApiException есть getStatus() и getRequestId().
Полная документация: https://anore.cc/docs
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-25