Closed AliDeV7 closed 2 years ago
درود کدهای دریافت شده از درگاهها، به صورت مستقیم در پراپرتی GatewayResponseCode در زمان دریافت نتایج قابل دسترس هستند.
var result = _onlinePayment.Request(...);
result.GatewayResponseCode
var result = _onlinePayment.Verify(...);
result.GatewayResponseCode
اما برای درگاه زرینپال این مورد هنوز اضافه نشده و باید در پکیج این درگاه توسعه داده بشه.
میتونم پکیج رو fork کنم و خودم این قسمت رو به پروژه اضافه کنم با همون استانداردی که خودتون نوشتید؟
یا اینکه خودتون قصد دارید این قسمت رو به پروژه اضافه کنید؟
با توجه به اینکه بنده فرصت کافی برای انجام تمام تیکتها رو ندارم، به همین علت تگ needs a developer زدم تا توسعه دهندههای داوطلب برنامه رو توسعه بدن و pull request ارسال کنن. شما توسعه رو شروع کنین و درخواست رو ارسال کنید. در نهایت در زمان مرج کردن، pull request رو بررسی میکنیم
فکر میکنم کد status باید در این بخشها به شئ پاسخ اضافه بشه:
https://github.com/Sina-Soltani/Parbad/blob/master/src/Parbad.Gateway/ZarinPal/src/Internal/ZarinPalHelper.cs#L72 https://github.com/Sina-Soltani/Parbad/blob/master/src/Parbad.Gateway/ZarinPal/src/Internal/ZarinPalHelper.cs#L90 https://github.com/Sina-Soltani/Parbad/blob/master/src/Parbad.Gateway/ZarinPal/src/Internal/ZarinPalHelper.cs#L135
سپاس از شما
من کدهارو بررسی کردم، دیدم داخل ZarinPalHelper اصلا این تابع Translate تعریف شده.
کدوم درگاه این بخشش کامل هست که من طبق اصولی که اونجا رعایت کردین این کد رو اضافه کنم؟
اکثریت درگاههای فعلی ندارن و باید براشون اضافه بشه. اما درگاه زیبال که اخیرا اضافه شده این قابلیت رو داره:
اون ۳ کدی که فرستادم باید مشابه کد بالا فقط کد دریافتی از درگاه در پارامتر GatewayResponseCode نوشته بشه. همین
باشه من انجامش میدم ، pull request هم ارسال میکنم که بررسی کنین
درود
قرار بود داخل متود VerifyAsync علاوه بر Message خطا، یک Code خطا هم بزارید چون مشخص نیست از طرف بانک چه اروری برمیگرده و من به اون کد خطا نیاز دارم.
متن دریافتی Payment failed. است که مشخص نیست مشکل دقیقا چه چیزی بوده، ممنون میشم اینون هم اضافه کنید
درود
وقتی که کدی وجود نداره که زرین پال ارسال کرده باشه، چه کدی رو ما باید بنویسیم !!!
سلام. ممنون از پکیج خوبتون
من داخل فایل های اصلی پروژه دیدم که کدهای خطای هر بانک تعریف شده و برگشت داده میشه از تابع ولی داخل تابع VerifyAsync فقط Message برگشت داده میشه که به صورت String هست.
برای درگاه زرین پال : Error (True, NOK)
ولی داخل سورس های اصلی به این صورت :
از چه طریق میتونم کدخطای دریافتی از بانک رو بگیرم؟