نمایش شماره تراکنش و مبلغ تراکنش درگاه زرین پال بعد از پرداخت
با سلام ... پروژه من به درستی به درگاه پرداخت متصل شده و لیست مشخصات تراکنش هم بصورت جدول نمایش میده فقط مشکلم این هست
که چطور شماره تراکنش و مبلغ رو توی جدول بهم نمایش بده . البته یه کویری نوشتم ولی میره توی جدول اولین سطر برمیگردونه .. ممنون میشم راهنمایی بفرمایید
اکشن پرداخت موفق
public IActionResult SuccessfullyPayment()
{
var query_transaction = _context.transactionUW.Get().FirstOrDefault();
ViewBag.TransactionNumber = query_transaction.TransactionNumber;
ViewBag.Amount = query_transaction.Amount;
return View();
}
<tr>
<td>شماره تراکنش</td>
<td>@ViewBag.TransactionNumber</td>
</tr>
<tr>
<td>مبلغ تراکنش</td>
<td>@ViewBag.Amount</td>
</tr>
پاسخ هوش مصنوعی
برای نمایش شماره تراکنش و مبلغ درست در جدول، باید اطمینان حاصل کنید که درخواست پرداخت را به درستی پردازش کرده اید و اطلاعات تراکنش را به درستی از دیتابیس بازیابی می کنید. به نظر می رسد که شما با استفاده از اولین سطر کویری با `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` را به صورت صحیح از درگاه پرداخت به اکشن خود منتقل می کنید تا بتوانید اطلاعات مربوط به آن تراکنش خاص را دریافت کنید.
اگر شما با موفقیت به درگاه پرداخت متصل میشید و بعد از پرداخت هم اطلاعات رو دریافت می کنید خب نمایش دادن اون که دیگه کار سختی نیست. کوئری که شما نوشتید از متد FirstOrDefault استفاده کردید که این متد اولین رکورد از جدول رو برمیگردونه همیشه.
شما بهتره کوئری رو به این صورت تغییر بدید :
var query_transaction = _context.transactionUW.Get(t => t.userId == userId).Single();
شما وقتی اطلاعات پرداخت کاربر رو ذخیره میکنید مطمئنا Id کاربر رو هم ثبت می کنید. خب از همین استفاده کنید و اطلاعات تراکنش کاربر رو پیدا کنید.
البته برای نمایش شماره تراکنش می تونید از
verification.RefId.ToString()
هم استفاده کنید. متد verification همون اطلاعات دریافتی از سمت درگاه هست.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2