دسته بندی ها
17:45 1401/06/11

نمایش شماره تراکنش و مبلغ تراکنش درگاه زرین پال بعد از پرداخت

مشخصات سوال کننده :
کاربر : farhadrezazadeh     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core Web Api

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2950
هوش مصنوعی

پاسخ هوش مصنوعی

برای نمایش شماره تراکنش و مبلغ درست در جدول، باید اطمینان حاصل کنید که درخواست پرداخت را به درستی پردازش کرده اید و اطلاعات تراکنش را به درستی از دیتابیس بازیابی می کنید. به نظر می رسد که شما با استفاده از اولین سطر کویری با `FirstOrDefault()` به اطلاعات دسترسی پیدا می کنید. اگر می خواهید تراکنش خاصی را با توجه به شناسه پرداخت یا شماره خاصی شناسایی کنید، باید کویری خود را تغییر دهید.

برای مثال، می توانید شماره تراکنش را به عنوان پارامتر ورودی به اکشن اضافه کنید و از آن برای ف Fetch کردن اطلاعات استفاده کنید:


public IActionResult SuccessfullyPayment(string transactionId)
{
   var query_transaction = _context.transactionUW.Get().FirstOrDefault(t => t.TransactionId == transactionId);
   if (query_transaction != null)
   {
       ViewBag.TransactionNumber = query_transaction.TransactionNumber;
       ViewBag.Amount = query_transaction.Amount;
   }
   else
   {
       ViewBag.TransactionNumber = "نامشخص";
       ViewBag.Amount = 0;
   }

   return View();
}

سپس در کد HTML خود می توانید به همان صورت به اطلاعات دسترسی پیدا کنید:



   شماره تراکنش
   @ViewBag.TransactionNumber


   مبلغ تراکنش
   @ViewBag.Amount
			

اطمینان حاصل کنید که پارامتر `transactionId` را به صورت صحیح از درگاه پرداخت به اکشن خود منتقل می کنید تا بتوانید اطلاعات مربوط به آن تراکنش خاص را دریافت کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 21:27 1401/06/11

اگر شما با موفقیت به درگاه پرداخت متصل میشید و بعد از پرداخت هم اطلاعات رو دریافت می کنید خب نمایش دادن اون که دیگه کار سختی نیست. کوئری که شما نوشتید از متد FirstOrDefault استفاده کردید که این متد اولین رکورد از جدول رو برمیگردونه همیشه.

شما بهتره کوئری رو به این صورت تغییر بدید :

var query_transaction = _context.transactionUW.Get(t => t.userId == userId).Single();

شما وقتی اطلاعات پرداخت کاربر رو ذخیره میکنید مطمئنا Id کاربر رو هم ثبت می کنید. خب از همین استفاده کنید و اطلاعات تراکنش کاربر رو پیدا کنید.

البته برای نمایش شماره تراکنش می تونید از

verification.RefId.ToString()

هم استفاده کنید. متد verification همون اطلاعات دریافتی از سمت درگاه هست.

آموزش اتصال به درگاه پرداخت زرین پال در Asp.net core

به این پاسخ امتیاز بدهید    1
امتیاز: 518 رتبه: 4
1 نظر
farhadrezazadeh : دوست گرامی ، این کد خطا میده ...

امتیاز کاربر : 3   رتبه کاربر : 136   تاریخ ثبت : 03:19 1401/06/12
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود