Skip to main content

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",
    shop_id=1,   # обязателен для аккаунтовых ключей (an_live_ / an_test_)
)
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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anore-1.0.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anore-1.0.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file anore-1.0.1.tar.gz.

File metadata

  • Download URL: anore-1.0.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for anore-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a9f542ded058f7af259b034a190f95d8b88c63caf4ba0a231155e1e75fcdf199
MD5 85d2219fb594b951496aa471bd332971
BLAKE2b-256 152e580fdb25ce97df5dd771ef3fcec89e16e0773c2eaf5a9b82dd693ea411d4

See more details on using hashes here.

File details

Details for the file anore-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: anore-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for anore-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df52de90011db47b633316606b540255aea2662280f46de95efea3e50e804416
MD5 bf602b0c380cd37d893c25bf23127bbf
BLAKE2b-256 792d9eea4f492b6ccc35ac0cbb789a87956e0628f6b919167ceea2026d742849

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page