TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.3K subscribers
Post #12884 5.99K
#Dart

یه سؤال ساده شروعش کرد: چرا هر درگاه پرداخت ایرانی باید یه SDK کاملاً جدا داشته باشه؟

زرین‌پال یه شکل جواب می‌ده، زیبال یه شکل دیگه، پی‌پینگ اسم فیلدهاش فرق داره، وندار احراز هویتش با بقیه یکی نیست... نتیجه؟ هر بار که بخوای درگاه عوض کنی یا دومی رو اضافه کنی، عملاً داری از صفر می‌نویسی.
برای همین pardakht رو ساختم — یه پکیج Dart که ۷ درگاه پرداخت ایرانی رو پشت یه interface واحد می‌بره:
زرین‌پال، زیبال، آیدی‌پی، پی‌پینگ، پی.آی‌آر، وندار، ایران‌درگاه
چیزی که برام مهم بود، نه فقط «کار کنه» بلکه «قابل اعتماد باشه»:

نوع داده Money که واحد پول (ریال/تومان) رو صریح نگه می‌داره — دقیقاً همون جایی که خطای «ده برابر شدن قیمت» از اونجا شروع می‌شه.
وریفای تکراری = موفقیت، نه شکست. خیلی از مرچنت‌ها پرداخت واقعی رو استرداد می‌زنن چون verify دوم رو اشتباه fail می‌خونن. اینجا این حالت یه state جدا و صریحه.
بدون وابستگی به Flutter — یعنی همون کد روی بک‌اند هم اجرا می‌شه، جایی که verify واقعاً باید انجام بشه (نه سمت کلاینت، که هرکسی می‌تونه callback رو جعل کنه).
هر درگاه یه سند مشخصات جداگانه داره: هر claim با URL منبع و تاریخ تأیید. هیچ فیلدی حدسی نیست.
۷۹۸ تست، ۱۰۰٪ پوشش خط، صفر warning.

کد، مستندات و همه‌چیز باز و در دسترس:
https://pub.dev/packages/pardakht
https://github.com/naeimlotfali/pardakht

@DevTwitter | <Naeim Lotfali/>
  • 👍 68
  • 🔥 9
  • 🍌 9
More from @devtwitter
  1. Sep 30, 2026🔎 #وبینار عملی ریشه‌یابی خطا با Sentry 🔮 در وبینار «از گزارش خطای کاربر تا ریشه‌یابی مشک…
  2. Sep 30, 2026دوره‌ی Stanford درباره‌ی Transformers و LLMها در فصل جدید شروع شده دوره CME 295 از پایه‌ی…
  3. Sep 30, 2026تست‌های سنتی E2E شکننده‌اند؛ یک تغییر جزیی در CSS یا تایمینگ انیمیشن، کل CI/CD pipeline را…
  4. Sep 30, 2026این رایگانه و خیلی سرویس خفنیه. ایده اینه که آدرس هر سایتی که خواستی رو بهش بدی و این سروی…
  5. Sep 30, 2026شرکت امنیتی Group-IB یک بدافزار جاسوسی مبتنی بر تلگرام با نام HEAVYGRAM و یک ابزار مبتنی ب…
  6. Sep 30, 2026خیلی ناگهانی برای یه مسئله‌ای نیاز پیدا کردم که یه بروزر داشته باشم که هر وقت یه session ا…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →