CloudPayments Python Async Library
Project description
aiocloudpayments
Python Async CloudPayments Library
Client Basic Usage Example
from datetime import date
from aiocloudpayments import AioCpClient
async def main():
client = AioCpClient(PUBLIC_ID, API_SECRET)
await client.test()
await client.charge_card(
amount=10,
currency="RUB",
invoice_id="1234567",
ip_address="123.123.123.123",
description="Payment for goods in example.com",
account_id="user_x",
name="CARDHOLDER NAME",
card_cryptogram_packet="01492500008719030128SMfLeYdKp5dSQVIiO5l6ZCJiPdel4uDjdFTTz1UnXY+3QaZcNOW8lmXg0H670MclS4lI+qLkujKF4pR5Ri+T/E04Ufq3t5ntMUVLuZ998DLm+OVHV7FxIGR7snckpg47A73v7/y88Q5dxxvVZtDVi0qCcJAiZrgKLyLCqypnMfhjsgCEPF6d4OMzkgNQiynZvKysI2q+xc9cL0+CMmQTUPytnxX52k9qLNZ55cnE8kuLvqSK+TOG7Fz03moGcVvbb9XTg1oTDL4pl9rgkG3XvvTJOwol3JDxL1i6x+VpaRxpLJg0Zd9/9xRJOBMGmwAxo8/xyvGuAj85sxLJL6fA==",
payer=Person(
first_name="Test",
last_name="Test",
middle_name="Test",
birth=date(1998, 1, 16),
address="12A, 123",
street="Test Avenue",
city="LosTestels, City of Test Angels",
country="Testland",
phone="+1 111 11 11",
post_code="101011010"
)
)
await client.disconnect()
AiohttpDispatcher Basic Usage Example
from aiocloudpayments import AiohttpDispatcher, Result
from aiocloudpayments.types import PayNotification, CancelNotification, CheckNotification
CERT_FILE = "cert.pem"
CERT_FILE = "pkey.pem"
def main():
dp = AiohttpDispatcher()
# router is not needed here, but I am just showing the logic
router = Router()
# register with router
@router.cancel(lambda n: 5 > n.amount > 1)
async def foo(notification: CancelNotification):
print(f"{notification=}")
# return {"result": 0}
return Result.OK
# register with router
@router.pay(lambda n: n.amount <= 1)
async def foo(notification: PayNotification):
print(f"{notification.amount=}")
# return {"result": 0}
return Result.OK
# register with router
@router.check()
async def foo(notification: CheckNotification):
print(f"{notification.amount=}")
# return {"result": 12}
return Result.WRONG_AMOUNT
# register with dp
@dp.cancel(lambda n: n.amount > 5)
async def foo(notification: CancelNotification):
print(f"{notification.amount=}, > 5")
# if you don't return anything, Result.OK is assumed
dp.include_router(router)
ssl_context = SSLContext()
ssl_context.load_cert_chain(CERT_FILE, KEY_FILE)
dp.run_app(
AioCpClient(PUBLIC_ID, API_SECRET),
"/test",
pay_path="/pay",
cancel_path="/cancel",
ssl_context=ssl_context,
check_hmac=False # disable hmac check, only use in development environments
)
architecture inspired by aiogram
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiocloudpayments-0.1.1.tar.gz
(17.1 kB
view details)
Built Distribution
File details
Details for the file aiocloudpayments-0.1.1.tar.gz
.
File metadata
- Download URL: aiocloudpayments-0.1.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.6 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b423a117eff3513d4228a1c2bc4d0deef41c38b15913234c5bfc0469ec77ded |
|
MD5 | f5a1ed586b7b43d240503a388b078a90 |
|
BLAKE2b-256 | 9e79d284047b615a81ca0b3cd2a22fe10970152641e173445d0def81077c32bf |
File details
Details for the file aiocloudpayments-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: aiocloudpayments-0.1.1-py3-none-any.whl
- Upload date:
- Size: 40.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.6 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f49f846076efb1be8a06116269848d0482085cf50882d16e751c7ee45ffe8fc |
|
MD5 | 62a6ce83f2a9313e2b63a7261a6fbf71 |
|
BLAKE2b-256 | d3fa612170c2af0f9225837d6bece4f3a521e73dd96408acddba43c564486398 |