Basic Usage Examples¶
Simple examples for common operations.
Create Payment URL¶
import asyncio
from decimal import Decimal
from aiorobokassa import RoboKassaClient
async def main():
async with RoboKassaClient(
merchant_login="your_merchant_login",
password1="password1",
password2="password2",
test_mode=True,
) as client:
url = client.create_payment_url(
out_sum=Decimal("100.00"),
description="Test payment",
inv_id=123,
)
print(f"Payment URL: {url}")
asyncio.run(main())
Verify Notification¶
from aiorobokassa import RoboKassaClient, SignatureError
def verify_payment(params: dict):
client = RoboKassaClient(
merchant_login="your_merchant_login",
password1="password1",
password2="password2",
)
parsed = client.parse_result_url_params(params)
try:
client.verify_result_url(
out_sum=parsed["out_sum"],
inv_id=parsed["inv_id"],
signature_value=parsed["signature_value"],
shp_params=parsed.get("shp_params"),
)
return True
except SignatureError:
return False
Create Invoice¶
import asyncio
from decimal import Decimal
from aiorobokassa import RoboKassaClient
async def main():
async with RoboKassaClient(
merchant_login="your_merchant_login",
password1="password1",
password2="password2",
) as client:
result = await client.create_invoice(
out_sum=Decimal("100.00"),
description="Invoice payment",
inv_id=123,
)
print(f"Invoice created: {result}")
asyncio.run(main())
Process Refund¶
import asyncio
from decimal import Decimal
from aiorobokassa import RoboKassaClient
async def main():
async with RoboKassaClient(
merchant_login="your_merchant_login",
password1="password1",
password2="password2",
) as client:
# Full refund
result = await client.create_refund(invoice_id=123)
print(f"Refund: {result}")
# Partial refund
result = await client.create_refund(
invoice_id=123,
amount=Decimal("50.00"),
)
print(f"Partial refund: {result}")
asyncio.run(main())