Official anore payments SDK for Python — accept SBP, cards and crypto payments
Project description
anore — Python SDK
Официальный SDK для приёма платежей через anore. Без зависимостей, только stdlib, Python 3.8+.
Структура
python/
├── pyproject.toml
└── anore/
├── __init__.py публичный экспорт
├── client.py AnoreClient — создание платежа, статус
├── _transport.py HTTP с ретраями/бэкоффом
├── webhooks.py verify_webhook / parse_webhook
├── models.py Payment, WebhookEvent
└── errors.py иерархия ошибок
Установка
pip install . из этой папки, либо скопируйте папку anore/ в проект.
from anore import AnoreClient, parse_webhook
Быстрый старт
anore = AnoreClient(api_key="an_live_xxxxxxxxxxxxxxxx")
# 1. создать счёт
payment = anore.create_payment(
amount=1500,
description="Подписка Pro",
order_id="order_42",
)
print(payment.payment_url) # отправьте клиента на форму оплаты
# 2. проверить статус
status = anore.get_payment(payment.id)
print(status.status, status.paid) # 'paid', True
Проверка вебхука
При оплате anore шлёт POST на ваш URL с заголовком Anore-Signature.
Проверяйте подпись по сырому телу запроса (не распарсенному JSON):
# Flask
from flask import Flask, request, abort
from anore import parse_webhook, SignatureError
import os
app = Flask(__name__)
@app.post("/webhook")
def webhook():
raw = request.get_data() # сырые байты, не request.json
sig = request.headers.get("Anore-Signature", "")
try:
event = parse_webhook(raw, sig, os.environ["ANORE_WEBHOOK_SECRET"])
except SignatureError:
abort(403)
if event.is_succeeded:
... # отгрузить заказ event.id / event.order_id
return {"ok": True}
Обработка ошибок
from anore import AnoreClient, ValidationError, AuthenticationError, APIConnectionError
try:
anore.create_payment(amount=1500, description="Заказ")
except ValidationError: # 400 — кривой запрос
...
except AuthenticationError: # 401 — неверный ключ
...
except APIConnectionError: # сеть недоступна
...
Справка
| API | Описание |
|---|---|
AnoreClient(api_key, secret=None, base_url=..., timeout=30, max_retries=2) |
клиент; secret подписывает исходящие запросы |
create_payment(amount, description, order_id=None, shop_id=None) |
создать счёт → Payment |
get_payment(id) |
статус → Payment (.status, .paid) |
verify_webhook(raw_body, signature, secret) |
проверка подписи → bool |
parse_webhook(raw_body, signature, secret) |
проверка + разбор → WebhookEvent (бросает SignatureError) |
Ошибки: ValidationError (400), AuthenticationError (401), ForbiddenError (403), NotFoundError (404), ServerError (5xx), APIConnectionError (сеть), SignatureError (подпись). База — AnoreError.
Полная документация: https://anore.cc/docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anore-1.0.0.tar.gz.
File metadata
- Download URL: anore-1.0.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
614bb9c4723da97cb429e5e4301398a0f68b276fed6582adc1936354c9cf3bce
|
|
| MD5 |
dfd84a9070e6b52bdcfc1f987df24a73
|
|
| BLAKE2b-256 |
2ce5a100e4685ec8aa3a97072cb992c542511684b634f32c13ac4896a881d89a
|
File details
Details for the file anore-1.0.0-py3-none-any.whl.
File metadata
- Download URL: anore-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22dc4b2641ebff6ee0bbf101f62b4598544247ba152edbea9521aeedd1b44164
|
|
| MD5 |
c597e62b44c37acb6a331fdfb60fe913
|
|
| BLAKE2b-256 |
b95727bad80e7d488cf3558a94907bbb1d526e843a926f3db81d4c79bde7bfd3
|