پرش به محتوای اصلی

کتابخانهٔ Python شی‌پی

کتابخانهٔ رسمی شی‌پی برای Python که فقط از کتابخانهٔ استاندارد استفاده می‌کند. متد confirm نتیجهٔ پرداخت را در سه حالت «پرداخت‌شده»، «در انتظار» و «ناموفق» برمی‌گرداند و construct_event امضای وب‌هوک را بررسی می‌کند. کلاس AsyncSheyPay همهٔ متدها را برای asyncio در دسترس می‌گذارد.

  • تایپ‌های کامل
  • نسخهٔ async
  • استرداد از داخل پنل
  • وب‌هوک امضاشده
  • وضعیت «در انتظار» درست
  • تومان و ریال
  • حالت آزمایشی با sk_test_
  • دکمهٔ تست اتصال

نصب

  1. ۱

    با pip نصب کنید: pip install sheypay. تا پیش از انتشار روی PyPI، zip را باز کنید و pip install ./sheypay-python بزنید.

  2. ۲

    کلید API را در متغیر محیطی SHEYPAY_KEY بگذارید (برای آزمایش sk_test_).

  3. ۳

    با create_payment پرداخت بسازید، شناسهٔ پرداخت را روی سفارش ذخیره کنید و مشتری را به payment_url بفرستید.

  4. ۴

    در view بازگشت confirm را با شناسهٔ ذخیره‌شده و مبلغ سفارش صدا بزنید.

  5. ۵

    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

آدرس بازگشت باید روی دامنهٔ تأییدشدهٔ درگاه باشد.

تغییرات

  1. نسخهٔ ۱.۰.۰

    • نسخهٔ اول: همهٔ متدهای API پرداخت، confirm، نسخهٔ async و ابزار وب‌هوک.

اولین رسیدتان را امروز صادر کنید

ثبت‌نام با شمارهٔ موبایل انجام می‌شود و تا تأیید مدارک، همه‌چیز را در محیط آزمایشی امتحان می‌کنید.

هزینهٔ ثبت‌نامندارد
کارمزدفقط تراکنش موفق