کلاینت زیبال
هدف از این پروژه, مهیا کردن کلاینتی برای کار با خدمات پرداختی زیبال بصورت مفید و موثر می باشد.
شما میتوانید با استفاده از این پکیچ, در اپلیکیشن های خود از خدمات پرداختی زیبال همچون درخواست پرداخت, تایید پرداخت و ... بهره مند شوید.
نصب
برای نصب این پکیچ این کامند را اجرا کنید:
pip install zibal-client
نحوه استفاده
میتوانید از کد مرچنت zibal جهت تست سرویس درگاه پرداختی زیبال استفاده کنید.
تمامی تراکنش های ایجاد شده با این کد مرچنت فرضی هست و تراکنش واقعی صورت نمیگیرد.
from zibal.client import ZibalIPGClient
# کد مرچنت خود را به کلاس کلاینت دهید
client = ZibalIPGClient("zibal")
# درخواست تراکنش جدید
request_data = client.request_transaction(
amount=50000,
callback_url="https://somecallbackurl.com",
)
print(requst_data.message)
# success
# ایجاد لینک پرداختی
track_id = request_data.track_id
payment_link = client.create_payment_link(track_id)
# تایید پرداخت (پس از پرداخت توسط کاربر، این تابع برای تاییدیه باید ران شود)
verify_data = client.verify_transaction(track_id)
print(verify_data.message)
# success
# استعلام پرداخت
inquiry_data = client.inquiry_transaction(track_id)
برای اطلاع از فرمت و تایپ داده های ورودی و خروجی این توابع, به تایپ تعریف شده آن در تعریف تابع مربوطه مراجع نمایید.
توجه شود که خروجی توابع مربوط به تراکنش ها همگی مدلی از BaseModel پکیج pydantic هستند و میتوانید از متد های آن طبق نیاز خودتان از آن استفاده نمایید.
برای مثال برای گرفتن یک خروجی به صورت دیکشنری میتوانید از متد model_dump استفاده نمایید:
request_data = client.request_transaction(
amount=50000,
callback_url="https://somecallbackurl.com",
)
data = request_data.model_dump(exclude_none=True)
print(data)
# {
# 'track_id': 3722304104,
# 'result': 100,
# 'message': 'success'
# }
در این لینک میتوانید از متد های دیگر این مدل و نحوه کار با آن ها مطلع شوید.
Features to be added
- Handle result errors more gracefully ✅
- Handle network errors more gracefully ✅
- Add logging for network requests ✅
- Add different python versions support starting from 3.9 up to 3.12 ✅
- Add a method on the ZibalClient for checking the whether the service is down or not ✅
- Add retrying mechanism when the request fails
- Add option to enable/disable pydantic validation error raise
- Implement a new client for IPG's Lazy methods which is quite similar to ZibalIPGClient
- Add new clients for other Zibal's services, such as Zibal's comprehensive payment service and inquiry payment service
Metadata
Release files for zibal-client 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zibal_client-0.3.3.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zibal_client-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / zibal_client-0.3.3.tar.gz
| Download URL | zibal_client-0.3.3.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fa6d38d30e8d01c79c11bba6ce1c9b341cfa2c19c6849dbe86c71a538bacc08
|
|
BLAKE2b-256 checksum How to use checksums |
2da5d32f221fff9938dd0e29388dd4a1ab6d5b0a4a9e1806f50092513fd038d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
|
Release files / zibal_client-0.3.3-py3-none-any.whl
| Download URL | zibal_client-0.3.3-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f53c46d2b40dd2a24e42f107971ab85e4d15ec2f06ac74cec33527b9bd5b73f9
|
|
BLAKE2b-256 checksum How to use checksums |
b10e3846eb0391bb917eff9e8e6df2bf32b1b74bf96c6b132ecb25d95bbc9fb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
|