""" Payments API SDK Auto-generated — v1.0 """ import requests class PaymentsClient: def __init__(self, token: str, base_url: str = "https://api.aikdata.com/v1/payments"): self.token = token self.base_url = base_url.rstrip("/") self.headers = { "Authorization": f"Bearer {self.token}", "Content-Type": "application/json", "Accept": "application/json", } # ── Charges ── def create_charge(self, body: dict = None) -> dict: """Create a new payment charge""" return self._request("POST", f"/charge", json_body=body) def get_charge(self, id: str) -> dict: """Retrieve a charge by ID""" return self._request("GET", f"/charge/{id}") def list_charges(self, params: dict = None) -> dict: """List all charges with pagination""" return self._request("GET", f"/charges", params=params) # ── Refunds ── def create_refund(self, body: dict = None) -> dict: """Refund a charge fully or partially""" return self._request("POST", f"/refund", json_body=body) # ── HTTP helper ── def _request(self, method: str, path: str, params: dict = None, json_body: dict = None) -> dict: url = self.base_url + path resp = requests.request( method, url, headers=self.headers, params=params, json=json_body, timeout=30 ) return {"status": resp.status_code, "data": resp.json()}