Skip to main content

Python SDK for CrystalPay.io payment system

Project description

CrystalPayAPI - Python SDK для CrystalPay

PyPI version License: MIT


Русская документация

English Version

Оглавление

  1. Установка
  2. Быстрый старт
  3. Инициализация
  4. Методы работы
  5. Обработка ошибок

Установка

pip install CrystalPayAPI

Быстрый старт

from crystalpayapi import CrystalPayAPI, InvoiceType, PayoffSubtractFrom

# Инициализация
cp = CrystalPayAPI("Ваш_логин", "Secret_1", "Secret_2")

# Создание инвойса
invoice = cp.create_invoice(
    amount=100.0,
    invoice_type=InvoiceType.PURCHASE,
    lifetime=15,
    description="Оплата товара"
)

# Проверка статуса
invoice_info = cp.get_invoice(invoice["id"])

Инициализация

from crystalpayapi import CrystalPayAPI, InvoiceType, PayoffSubtractFrom

# Основной конструктор
cp = CrystalPayAPI(
    auth_login="Ваш_логин",      # Логин кассы
    auth_secret="Secret_1",      # Секретный ключ 1
    salt="Secret_2",             # Секретный ключ 2
    base_url="https://api.crystalpay.io/v2/"  # Опционально
)

Методы работы

Информация о кассе

# Получение информации о кассе
account_info = cp.get_me()
"""
{
    "id": "12345",
    "name": "Моя касса",
    "status_level": 2,
    "created_at": "2023-01-01 00:00:00"
}
"""

# Получение баланса
balance = cp.get_balance(hide_empty=True)
"""
{
    "RUB": {"amount": 1000, "currency": "RUB"},
    "BTC": {"amount": 0.05, "currency": "BTC"}
}
"""

Платежи

# Создание платежа
invoice = cp.create_invoice(
    amount=500,
    invoice_type=InvoiceType.PURCHASE,
    lifetime=30,  # в минутах
    description="Оплата заказа #123",
    redirect_url="https://your-site.com/thanks"
)
"""
{
    "id": "inv_123",
    "url": "https://pay.crystalpay.io/?i=inv_123",
    "amount": 500,
    "type": "purchase"
}
"""

# Проверка статуса
status = cp.get_invoice("inv_123")
"""
{
    "id": "inv_123",
    "state": "paid",
    "amount": 500,
    "created_at": "2023-01-01 12:00:00"
}
"""

Вывод средств

# Создание вывода
payoff = cp.create_payoff(
    amount=0.01,
    method="BTC",
    wallet="1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
    subtract_from=PayoffSubtractFrom.BALANCE
)

Курсы валют

# Получение курсов
rates = cp.get_exchange_rates(["BTC", "ETH"])
"""
{
    "BTC": {"price": 2500000},
    "ETH": {"price": 150000}
}
"""

Обработка ошибок

from crystalpayapi import CrystalPayAPIError

try:
    cp.create_invoice(amount=100, ...)
except CrystalPayAPIError as e:
    print(f"Ошибка API: {e}")

English Documentation

Table of Contents

  1. Installation
  2. Quick Start
  3. Initialization
  4. Methods
  5. Error Handling

Installation

pip install CrystalPayAPI

Quick Start

from crystalpayapi import CrystalPayAPI, InvoiceType, PayoffSubtractFrom

# Initialize client
cp = CrystalPayAPI("your_login", "secret1", "secret2")

# Create invoice
invoice = cp.create_invoice(
    amount=100.0,
    invoice_type=InvoiceType.PURCHASE,
    lifetime=15,
    description="Product payment"
)

# Check status
invoice_info = cp.get_invoice(invoice["id"])

Initialization

from crystalpayapi import CrystalPayAPI, InvoiceType, PayoffSubtractFrom

cp = CrystalPayAPI(
    auth_login="your_login",
    auth_secret="secret_1", 
    salt="secret_2",
    base_url="https://api.crystalpay.io/v2/"  # Optional
)

Methods

Account Info

# Get merchant info
account_info = cp.get_me()

# Get balances
balance = cp.get_balance(hide_empty=True)

Payments

# Create invoice
invoice = cp.create_invoice(
    amount=100,
    invoice_type=InvoiceType.PURCHASE,
    lifetime=15,
    description="Order #123"
)

# Check status
status = cp.get_invoice(invoice["id"])

Withdrawals

# Create withdrawal
payoff = cp.create_payoff(
    amount=0.1,
    method="BTC",
    wallet="3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
    subtract_from=PayoffSubtractFrom.BALANCE
)

Exchange Rates

# Get rates
rates = cp.get_exchange_rates(["BTC", "USDT"])

Error Handling

try:
    cp.create_payoff(...)
except CrystalPayAPIError as e:
    print(f"API Error: {e}")

License

MIT License. See LICENSE for details.

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

crystalpayapi-1.2.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

crystalpayapi-1.2.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file crystalpayapi-1.2.0.tar.gz.

File metadata

  • Download URL: crystalpayapi-1.2.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for crystalpayapi-1.2.0.tar.gz
Algorithm Hash digest
SHA256 38d559a710d96490393071d92b4f3c5815f6bfd973f81ae8d0bf341240d9d0fb
MD5 ab3fdfd3fb5a6b91054f0684b3a50b7a
BLAKE2b-256 bedb8e0230bac8071059aa75da6977c9d963c4763abc68fa6ab2a9a1f0f0a986

See more details on using hashes here.

File details

Details for the file crystalpayapi-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: crystalpayapi-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for crystalpayapi-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 644f51ac24d2f9d34cf5f1553837181c393a45202a236bf0907c67b6e20fd17a
MD5 ad7d80389c5fd129ae29440da0ef885f
BLAKE2b-256 1ad1ee1afe57e2d14abb5c48e7cf5037d7917b8801ded76febad46c1db074e87

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