Skip to main content

Автоплатеж

PayTechUZ SDK предоставляет единую интеграцию Framework для обработки автоплатежей (токенизация карт и регулярные платежи).

Payme

Карты

Вы можете управлять сохраненными картами, используя свойство cards экземпляра PaymeGateway.

from paytechuz.gateways.payme import PaymeGateway


# Инициализация шлюза Payme
payme = PaymeGateway(
payme_id="your_payme_id",
payme_key="your_payme_key",
is_test_mode=True
)

# 1. Создание новой карты
# Это вернет токен, который необходимо подтвердить
create_response = payme.cards.create(
card_number="8600000000000000",
expire_date="12/25",
save=True # Установите True, чтобы сохранить карту для будущего использования
)
print(create_response)

# 2. Получение кода подтверждения (если не получен автоматически)
payme.cards.get_verify_code(token="card_token")

# 3. Подтверждение карты кодом, отправленным пользователю по SMS
verify_response = payme.cards.verify(
token="card_token",
code="123456"
)
print(verify_response)

# 4. Проверка статуса карты
check_response = payme.cards.check(token="card_token")
print(check_response)

# 5. Удаление сохраненной карты
payme.cards.remove(token="card_token")

Чеки

Вы можете управлять чеками, используя свойство receipts экземпляра PaymeGateway.

from paytechuz.gateways.payme import PaymeGateway

# Инициализация шлюза Payme
payme = PaymeGateway(
payme_id="your_payme_id",
payme_key="your_payme_key",
is_test_mode=True
)

# 1. Создание чека
create_response = payme.receipts.create(
amount=100000, # 1000 сумов (в тийинах)
account={"order_id": "12345"},
description="Оплата заказа #12345"
)
print(create_response)

# 2. Оплата чека сохраненной картой
pay_response = payme.receipts.pay(
receipt_id="receipt_id",
token="card_token_here"
)
print(pay_response)

# 3. Проверка статуса чека
check_response = payme.receipts.check(receipt_id="receipt_id")
print(check_response)

# 4. Отправка чека на номер телефона (SMS)
send_response = payme.receipts.send(
receipt_id="receipt_id",
phone="998901234567"
)
print(send_response)

# 5. Отмена чека
cancel_response = payme.receipts.cancel(
receipt_id="receipt_id",
reason="Запрос на возврат"
)
print(cancel_response)

Click

Карты

Click поддерживает токенизацию карт через стандартизированное свойство cards.

from paytechuz.gateways.click import ClickGateway

# Инициализация шлюза Click
click = ClickGateway(
service_id="your_service_id",
merchant_id="your_merchant_id",
merchant_user_id="your_merchant_user_id",
secret_key="your_secret_key",
is_test_mode=True
)

# 1. Запрос токена карты
# Это вернет временный токен и отправит SMS пользователю
token_response = click.cards.create(
card_number="8600000000000000",
expire_date="0330", # Формат ММГГ
save=True # То же, что и в Payme! (соответствует temporary=0)
)
print(token_response)

# 2. Подтверждение токена карты
verify_response = click.cards.verify(
card_token="card_token",
sms_code="12345"
)
print(verify_response)

# 3. Совершение платежа с подтвержденным токеном
payment_response = click.cards.pay(
card_token=card_token,
amount=50000,
transaction_parameter="order_123"
)
print(payment_response)

Инвойсы

Вы можете управлять инвойсами, используя свойство invoices (или псевдоним receipts) экземпляра ClickGateway.

# 1. Создание инвойса
invoice_response = click.invoices.create(
id="order_123",
amount=150000,
phone="998901234567",
description="Оплата заказа #123"
)
print(invoice_response)

# 2. Проверка статуса инвойса
status_response = click.invoices.check(invoice_id="invoice_id")
print(status_response)

# 3. Отмена инвойса
cancel_response = click.invoices.cancel(
invoice_id="invoice_id",
reason="Заказ отменен"
)
print(cancel_response)