PDA

View Full Version : مشکل در پرداخت زرین پال



Snoopboy
سه شنبه 13 آبان 1399, 21:08 عصر
سلام خسته نباشید
من برای سایتم از درگاه پرداخت زرنی پال استفاده می کنم.
مشکل اصلی اینه که پرداخت کاملا با موفقیت انجام میشه ولی 100 رو بر نمیگردونه و عدد -54 رو بر میگردونه من کد رو میذارم لطفا راهنمایی بفرمایید
در ضمن .ir آخر آدرس سایت رو توی callbackurl متاسفانه نمیاره نمیدونم چرا. لطفا من رو راهنمایی کنید. ممنونم

public async Task<IActionResult> Payment(string Id)
{
var factor = _iUser.GetInvoiceRowById(Id);

var result = await _payment.Request(new DtoRequest()
{
Mobile = "09355522102",
CallbackUrl = "https://my.rattel.ir/User/OnlinePayment/" + factor.Id,
Description = "توضیحات",
Email = "iamohandex@gmail.com",
Amount = factor.Cost,
MerchantId = "466ce446-a7a8-4278-ba35-9d495b5cd9a3"
}, ZarinPal.Class.Payment.Mode.zarinpal);
return Redirect($"https://zarinpal.com/pg/StartPay/{result.Authority}");
}
public async Task<IActionResult> OnlinePayment(string Id)
{
string auth = HttpContext.Request.Query["Authority"];
var order = _iUser.GetInvoiceRowById(Id);
var verification = await _payment.Verification(new DtoVerification
{
Amount = order.Cost,
MerchantId = "466ce446-a7a8-4278-ba35-9d495b5cd9a3",
Authority = auth,
}, ZarinPal.Class.Payment.Mode.zarinpal);

if (verification.Status == 100)
{
var user = await _userManager.FindByIdAsync(order.UsersId);
user.PayDate = pc.GetYear(DateTime.Now).ToString("0000") + "/" + pc.GetMonth(DateTime.Now).ToString("00") + "/" + pc.GetDayOfMonth(DateTime.Now).ToString("00");
var result = await _userManager.UpdateAsync(user);

_iUser.UpdateInvoices(Id, verification.RefId.ToString());
ViewBag.code = verification.RefId;
return View();
}
return View();
}

nunegandom
دوشنبه 19 آبان 1399, 20:04 عصر
-54 طبق مستندات یعنی پرداخت آرشیو شده است
شما برای هر تراکنش که میخوای بفرستی سمت درگاه- یک uniqueid جدید تولید کن و بجا factorid بذار
یا اینکه هربار که کاربر میخواد بره سمت درگاه- باید یک id یکتا بفرستی
برای بیشتر درگاه ها این قضیه صدق میکنه

shahab2025
چهارشنبه 21 آبان 1399, 16:42 عصر
من هم همین مشکل را دارم - و برای منم منفی بر میگردونه
در حالیکه پرداخت همین موقع داره انجام میشه

Snoopboy
سه شنبه 27 آبان 1399, 12:12 عصر
مشکل حل شد
روش جدید زرین پال دیگه با Json هست.
این از مستندات قدیمش بود. الان مستندات جدید رو توی سایت زده و فقط از طریق ارسال و دریافت Json همه کار ها رو میکنه

shahab2025
چهارشنبه 28 آبان 1399, 08:58 صبح
مشکل حل شد
روش جدید زرین پال دیگه با Json هست.
این از مستندات قدیمش بود. الان مستندات جدید رو توی سایت زده و فقط از طریق ارسال و دریافت Json همه کار ها رو میکنه

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

shahab2025
دوشنبه 03 آذر 1399, 12:39 عصر
میشه به من نمونه کد بدهید - من هر کاری میکنم نمی تونم روی هاست آنرا اجرا کنم - به پرداخت میره ولی با -51 بر میگرده - روی لوکال درسته - روی هاست که میره مشکل میخوره