mirror of
https://github.com/yawaflua/Py-SPW.git
synced 2025-12-11 15:56:22 +02:00
Upload 1.5.0 version
Upload docs
This commit is contained in:
@@ -1,45 +1,45 @@
|
||||
class PaymentParameters:
|
||||
def __init__(self, amount: int, redirectUrl: str, webhookUrl: str, data: str):
|
||||
"""
|
||||
Создание параметров ссылки на оплату
|
||||
:param amount: Стоимость покупки в АРах.
|
||||
:param redirectUrl: URL страницы, на которую попадет пользователь после оплаты.
|
||||
:param webhookUrl: URL, куда наш сервер направит запрос, чтобы оповестить ваш сервер об успешной оплате.
|
||||
:param data: Строка до 100 символов, сюда можно помеcтить любые полезные данных.
|
||||
:return: Str ссылка на страницу оплаты, на которую стоит перенаправить пользователя.
|
||||
"""
|
||||
|
||||
self.amount = amount
|
||||
self.redirectUrl = redirectUrl
|
||||
self.webhookUrl = webhookUrl
|
||||
self.data = data
|
||||
|
||||
def __str__(self):
|
||||
return f'''
|
||||
amount: {self.amount}
|
||||
redirectUrl: {self.redirectUrl}
|
||||
webhookUrl: {self.webhookUrl}
|
||||
data: {self.data}
|
||||
'''
|
||||
from pydantic import BaseModel, validator
|
||||
import validators
|
||||
|
||||
|
||||
class TransactionParameters:
|
||||
def __init__(self, receiver: str, amount: int, comment: str = 'No comment'):
|
||||
"""
|
||||
Отправка транзакции
|
||||
:param receiver: Номер карты на которую будет совершена транзакция.
|
||||
:param amount: Сумма транзакции.
|
||||
:param comment: Комментарий к транзакции.
|
||||
:return: None.
|
||||
"""
|
||||
class Payment(BaseModel):
|
||||
amount: int
|
||||
redirectUrl: str
|
||||
webhookUrl: str
|
||||
data: str
|
||||
|
||||
self.receiver = receiver
|
||||
self.amount = amount
|
||||
self.comment = comment
|
||||
@validator('amount')
|
||||
def max_amount(cls, value: int):
|
||||
if value > 1728:
|
||||
raise ValueError('amount must be <= 1728')
|
||||
return value
|
||||
|
||||
def __str__(self):
|
||||
return f'''
|
||||
receiver: {self.receiver}
|
||||
amount: {str(self.amount)}
|
||||
comment: {self.comment}
|
||||
'''
|
||||
@validator('data')
|
||||
def data_size(cls, value):
|
||||
if len(value) > 100:
|
||||
raise ValueError('data length must be <=100.')
|
||||
return value
|
||||
|
||||
@validator('redirectUrl', 'webhookUrl')
|
||||
def verify_url(cls, value: str):
|
||||
if validators.url(value):
|
||||
return value
|
||||
raise ValueError('is not url')
|
||||
|
||||
|
||||
class Transaction(BaseModel):
|
||||
receiver: str
|
||||
amount: int
|
||||
comment: str
|
||||
|
||||
@validator('comment')
|
||||
def comment_size(cls, value: str):
|
||||
if len(value) > 32:
|
||||
raise ValueError('comment length must be <=32.')
|
||||
return value
|
||||
|
||||
@validator('receiver')
|
||||
def receiver_type(cls, value: str):
|
||||
if len(value) != 5 or not value.isnumeric():
|
||||
raise ValueError(f'Receiver card (`{value}`) number not valid')
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user