کتابخانهٔ Python شیپی
کتابخانهٔ رسمی شیپی برای Python که فقط از کتابخانهٔ استاندارد استفاده میکند. متد confirm نتیجهٔ پرداخت را در سه حالت «پرداختشده»، «در انتظار» و «ناموفق» برمیگرداند و construct_event امضای وبهوک را بررسی میکند. کلاس AsyncSheyPay همهٔ متدها را برای asyncio در دسترس میگذارد.
- تایپهای کامل
- نسخهٔ async
- استرداد از داخل پنل
- وبهوک امضاشده
- وضعیت «در انتظار» درست
- تومان و ریال
- حالت آزمایشی با sk_test_
- دکمهٔ تست اتصال
نصب
- ۱
با pip نصب کنید: pip install sheypay. تا پیش از انتشار روی PyPI، zip را باز کنید و pip install
./sheypay-pythonبزنید. - ۲
کلید API را در متغیر محیطی SHEYPAY_KEY بگذارید (برای آزمایش
sk_test_). - ۳
با create_payment پرداخت بسازید، شناسهٔ پرداخت را روی سفارش ذخیره کنید و مشتری را به payment_url بفرستید.
- ۴
در view بازگشت confirm را با شناسهٔ ذخیرهشده و مبلغ سفارش صدا بزنید.
- ۵
view وبهوک را بسازید (در Django با csrf_exempt) و بدنهٔ خام را به construct_event بدهید.
- تا پیش از انتشار روی PyPI، از فایل zip نصب کنید.
تنظیمات
- SheyPay(api_key, base_url, timeout, client_info)
- کلید API الزامی است؛ مهلت پیشفرض ۲۰ ثانیه.
- idempotency_key
- آرگومان create_payment و refund؛ برای هر تلاش یک مقدار ثابت بدهید.
- to_rial(amount, 'IRT')
- تبدیل تومان به ریال.
- construct_event(body, signature, secret)
- بررسی امضای هدر SheyPay-Signature و پارس رویداد.
تست در محیط آزمایشی
با کلید sk_test_ پول واقعی جابهجا نمیشود و در صفحهٔ بانک آزمایشی نتیجه را خودتان انتخاب میکنید.
- با کلید
sk_test_پرداخت بسازید و در بانک آزمایشی نتیجه را انتخاب کنید. - هر سه نتیجهٔ paid، pending و failed را در view بازگشت امتحان کنید.
- از پنل شیپی رویداد آزمایشی وبهوک بفرستید.
مشکلات رایج
construct_event خطای امضا میدهد.
بدنهٔ خام (request.body در Django، request.get_data() در Flask) را بدهید، نه JSON پارسشده.
Django خطای CSRF برای وبهوک میدهد.
view وبهوک را با csrf_exempt علامت بزنید؛ امنیت آن با امضای HMAC تأمین میشود.
خطای callback_domain_mismatch
آدرس بازگشت باید روی دامنهٔ تأییدشدهٔ درگاه باشد.
تغییرات
نسخهٔ ۱.۰.۰
- نسخهٔ اول: همهٔ متدهای API پرداخت، confirm، نسخهٔ async و ابزار وبهوک.
اولین رسیدتان را امروز صادر کنید
ثبتنام با شمارهٔ موبایل انجام میشود و تا تأیید مدارک، همهچیز را در محیط آزمایشی امتحان میکنید.