Closed samiyariceboy closed 4 years ago
درود
در کدوم مرحله شما خطا دریافت میکنید؟ Request? Verify?
یعنی روی سرور درست کار میکنه و مشکل فقط روی لوکاله؟
تو زمان request این مشکل رخ میده بله روی لوکال هست فقط یعنی یک نسخه ک رو سرور داره کار میکنه این اررور رو دریافت نمیکنه روی لوکال فرداش برای دولوپ باز کردم پروژه رو دیدم داره اررور خطای ناشناخته میده
تا جایی که اطلاع دارم روی لوکال نمیشه اکانت واقعی رو تست کرد و باید حتما در قسمت تنظیمات گزینه IsSandbox رو فعال کنید همین الان روی لوکال تست شد و بدون مشکل انجام شد
لطفا کد تنظیمات و همچنین کد پرداخت رو قرار بدید تا بررسی کنیم (بدون ذکر اطلاعات خصوصی)
چرا اتفاقا من تست میکردم و مشکلی نمیخوردم تا دیروز
` [HttpPost]
[ActionInfo("ثبت و ساخت درگاه پرداخت")]
public virtual async Task
public async Task<IPaymentRequestResult> Handle(PaymentCreatePaymentCommandRequest request, CancellationToken cancellationToken)
{
string verifyUrl = $"{_siteSettings.domainSetting.SiteDomin}/v1/Payment/Verify";
Entities.Pay.ApplicationPayment payment = new Entities.Pay.ApplicationPayment
{
PaymentPort = request.PaymentDto.PaymentPort,
UserId = request.UserId,
Amount = new Asset(request.PaymentDto.Amount),
CallBackPaymentUrl = request.PaymentDto.CallBackPaymentUrl,
PaymentStatus = PaymentStatusCode.Paying,
CreateDate = DateTime.Now,
LastUpdateDate = DateTime.Now,
};
//استراتژی پترن
IPaymentHandler _paymentHandler = new PaymentHandler(_paymentList);
IPaymentRequestResult result = await _paymentHandler.ProccessPaymentResult(payment, verifyUrl, cancellationToken);
payment.PayId = result.TrackingNumber.ToString();
if (!result.IsSucceed)
throw new AppException(ApiResultStatusCode.Forbidden, "مشکلی در فرایند پرداخت شما رخ داده است!");
await _paymentRepository.AddAsync(payment, cancellationToken);
return result;
}
///////////////////////////////////////////////////////////////////////////////////
public async Task<IPaymentRequestResult> ProccessPaymentRequest(Entities.Pay.ApplicationPayment payment, string verifyUrl, CancellationToken cancellationToken)
{
if (payment.PaymentPort.Equals(PaymentPorts.ZarinPal))
{
IPaymentRequestResult result = await OnlinePayment.RequestAsync(invoice =>
{
invoice
.UseAutoRandomTrackingNumber()
.SetAmount(payment.Amount.Value)
.SetCallbackUrl(verifyUrl)
.UseZarinPal(SiteSettings.paymentSetting.zarinPalSetting.Description ?? "خوش آمدید");
}, cancellationToken);
return result;
}
return null;
}
`
اگر فرمتش خوب ارسال نشده بفرمایین تا کلاس هارو ارسال کنم
بله برای منم مشکلی نبود ولی نمیدونم چه قسمتی اشتباه شده کامیتی نزدم ! اصن میدونم چطور شده که جواب میداده و این الان این اررور میده
عکس اررور هم این هست http://s15.picofile.com/file/8407854476/3.png
بهتره با خود زرین پال در میون بزارید چون ظاهرا این یک مشکل خاصی هست دلیلش هم اینه که کد وضعیتی که زرین پال پاسخ داده، چیزی خارج از مستندات خودشون بوده. اگر هر کد وضعیت دیگه ای ارسال میشد باید ترجمه میشد. اما وقتی این پیغام به شما نمایش داده میشه، معنیش اینه که زرین پال یک کد وضعیت ناشناخته ای ارسال کرده که در مستندات خودشون وجود نداره و در نتیجه پَرباد اون رو به شما یک خطای ناشناخته معرفی میکنه
بنابراین بهتره با خود درگاه هماهنگ کنید هر چند که همونطور که گفتم من تست کردم و نتیجه رو در عکس میتونید مشاهده میکنید
لطفا نتیجه رو در میون بزارید.
حتما باهاشون هماهنگ کردم گفتن بلاکی از سمت ما صورت نمیگیره
یک سوال اینکه این isSendBox چه ضروریتی داره؟ کدی که الان رو سرور هست و داره جواب میده بدون اینکه این پارامتر فعال باشه داره درگاه رو در اختیار میذاره
میشه دلیلش رو بفرمایین ؟
IsSandbox تنظیمی هست با فعال کردنش، عملیات پرداخت در محیط تستی صورت میگیره به جای محیط اصلی
در تصویری که ارسال کردم به آدرس مرورگر نگاه کنید
در هر صورت همونطور که گفتم محیط Sandbox محیط تستی از خود شرکت زرین پال هست و به این خاطر درستش کردن که شما روی لوکال بتونید تست هاتون رو انجام بدید بنابراین شما بهتره در برنامتون، این پارامتر رو از توی appsettings بخونید و در تنظیمات زرین پال از اون استفاده کنید تا کد بدون نیاز به تغییر کار بکنه
Bug description (wIthout specifiing the sensitive data) با عرض سلام و وقت بخیر من در حال تست درگاه زرین پال بودم که بعد از تعدادی درخواست، روی لوکال، هر درخواستی که ارسال میکردم خطای ناشناخته پرتاب میکرد و درگاه رو نمیساخت اگر لطف کنید بفرمایین مشکل از کجاست، ممنون میشم
یعنی الان رو سرور درگاه رو میسازه ولی روی لوکال که تست میکنم دقیقا همون کد وقتی میخواد درگاه رو بسازه، خطای ناشناخته میده و میگه خطای ناشناختته ای رخ داده است
حتی ایپی لوکال رو هم پروکسی کردم که شاید درست بشه ، دیدم باز همون اررور رو میده
پرسو جو کردم ظاهرا هم درگاه من رو محدود نکردن و روی لوکال اجازه درخواست دارم
Package name and version نام و نسخه پکیج
Web application type: نوع برنامه وب