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

کتابخانهٔ ‎.NET شی‌پی

کتابخانهٔ ‎.NET شی‌پی برای ASP.NET Core، .NET Framework 4.7.2+ و هر پروژه‌ای که netstandard2.0 را پشتیبانی می‌کند. همهٔ متدها async و تایپ‌شده‌اند، ConfirmAsync نتیجه را در سه حالت Paid، Pending و Failed برمی‌گرداند و Webhook.ConstructEvent امضای HMAC را بررسی می‌کند.

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

این نسخه بتا است: کامل است ولی هنوز روی فروشگاه‌های واقعی کافی اجرا نشده. اول روی نسخهٔ آزمایشی سایتتان و با کلید sk_test_ امتحانش کنید و هر اشکالی دیدید به پشتیبانی بگویید.

نصب

  1. ۱

    zip را باز کنید و پروژهٔ src/SheyPay/SheyPay.csproj را با dotnet add reference به پروژهٔ خود اضافه کنید.

  2. ۲

    کلید API را در تنظیمات (مثلاً SheyPay:Key) بگذارید؛ برای آزمایش sk_test_.

  3. ۳

    یک نمونه از SheyPayClient را singleton ثبت کنید.

  4. ۴

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

  5. ۵

    مسیر وب‌هوک را با Webhook.ConstructEvent و بدنهٔ خام بسازید. نمونهٔ ASP.NET Core در پوشهٔ examples است.

  • نسخهٔ بتا: روی محیط آزمایشی امتحان کنید.

تنظیمات

new SheyPayClient(apiKey, baseUrl, clientInfo, httpClient)
می‌توانید HttpClient خودتان (مثلاً از IHttpClientFactory) را بدهید؛ مهلت پیش‌فرض ۲۰ ثانیه.
idempotencyKey
در CreatePaymentAsync و RefundAsync؛ برای هر تلاش مقدار ثابت بدهید.
SheyPayClient.ToRial(amount, toman: true)
تبدیل تومان به ریال.

تست در محیط آزمایشی

با کلید sk_test_ پول واقعی جابه‌جا نمی‌شود و در صفحهٔ بانک آزمایشی نتیجه را خودتان انتخاب می‌کنید.

  • با کلید sk_test_ پرداخت بسازید و در بانک آزمایشی نتیجه را انتخاب کنید.
  • نتیجه‌های Paid، Pending و Failed را در مسیر بازگشت امتحان کنید.
  • از پنل شی‌پی رویداد آزمایشی وب‌هوک بفرستید.

مشکلات رایج

ConstructEvent خطای امضا می‌دهد.

بدنه را با StreamReader به‌صورت خام بخوانید؛ model binding بدنه را تغییر می‌دهد.

خطای callback_domain_mismatch

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

تغییرات

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

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

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

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

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