Документация
Python: готовые сценарии
Установите библиотеку requests:
pip install requests
Небольшой клиент, который можно скопировать в проект:
import requests
class AveronAPI:
def __init__(self, token, base_url="https://api.averonpay.app"):
self.base_url = base_url.rstrip("/")
self.session = requests.Session()
self.session.headers.update({
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
})
def request(self, method, path, **kwargs):
response = self.session.request(
method,
f"{self.base_url}{path}",
timeout=kwargs.pop("timeout", 30),
**kwargs,
)
response.raise_for_status()
return response.json()
def create_order(self, product_id, item_id, fields, ref=None):
return self.request("POST", "/orders", json={
"product_id": product_id,
"item_id": item_id,
"ref": ref,
"fields": fields,
})
def get_order(self, order_id):
return self.request("GET", f"/orders/{order_id}")
def list_orders(self, **filters):
return self.request("GET", "/orders", params=filters)
def order_action(self, order_id, action, **fields):
return self.request(
"POST",
f"/orders/{order_id}/actions/{action}",
json=fields,
)
def cancel_order(self, order_id):
return self.request("POST", f"/orders/{order_id}/cancel")
api = AveronAPI("pk_partner_key")
print(api.request("GET", "/me"))
Создание Full Auto заказа:
order = api.create_order(
product_id="spotify_premium_full_auto",
item_id="spotify_premium_full_auto_1",
ref="my-order-1001",
fields={
"spotify_premium_full_auto_email": "user@example.com",
"spotify_premium_full_auto_password": "password",
},
)
print("Номер заказа:", order["order_id"])
print("Статус:", order["status"])
Ожидание завершения заказа через polling:
import time
def wait_until_finished(api, order_id, timeout_seconds=900):
deadline = time.monotonic() + timeout_seconds
while time.monotonic() < deadline:
order = api.get_order(order_id)
print("Текущий статус:", order["status"])
if order["status"] in {"done", "failed", "cancelled"}:
return order
time.sleep(5)
raise TimeoutError("Заказ не завершился за отведенное время")
result = wait_until_finished(api, order["order_id"])
print(result)
Получение заказа по своему ref:
orders = api.list_orders(ref="my-order-1001")
print(orders)
Отмена открытого заказа:
cancelled = api.cancel_order(order["order_id"])
print(cancelled)