با سلام
من با زرین پال پرداخت اینترنتی انجام میدم
برای اینکه خطا رو تست کنم چند بار خرید انجام دادم و موقعی که توی شاپرک خرید داره انجام میشه صفحه ای که قراره بعد از خرید به اون منتقل بشه رو میبندم در واقع سررو رو میبندم که دیگه صفحه اجرا نشه
طبیعتا چون پاسخ به بانک برنگشته پس پول باید به حساب برگرده
ولی این طور نمیشه و تو حساب زرین پال میره
از اونجایی که راهنمایی هایی که تو زرین پال نوشته کمکم نکرد میخواستم کد نویسی های صفحه Pay و صفحه Verify رو تو ضمیمه بزارم و ببینید اگر اشتباه انجام دادم بهم اطلاع بدید
با تشکر
فایل آپلود شده مشکل داره و نمیشه دانلودش کرد
اگر امکان داره کدهاتون رو اینجا قرار بدین
با تشکر
کد بخش پرداخت
public static int Pay(string Descriptions, int Price, bool Pay, bool Credit, string Mobile,string Email, string Master, string Page,long Code,long PersonalCode, string MerchantCode, HttpResponse Response) { DarolzahraSite.BLL.Settings stt = new DarolzahraSite.BLL.Settings(); DarolzahraSite.BLL.Payments pay = new DarolzahraSite.BLL.Payments(); System.Net.ServicePointManager.Expect100Continue = false; DarolzahraSite.ZarinPal.PaymentGatewayImplementationServicePortTypeClient zp = new DarolzahraSite.ZarinPal.PaymentGatewayImplementationServicePortTypeClient(); string Authority; String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery; String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, string.Empty); int Status = zp.PaymentRequest(MerchantCode, int.Parse(Convert.ToString(Price)), Descriptions, Email, Mobile, strUrl + "/Verify/" + EncryptLink(Master + "," + Page + "," + Code+ "," + tblPayments.Rows[0][0] + "," + PersonalCode), out Authority); if (Status == 100) Response.Redirect("https://www.zarinpal.com/pg/StartPay/" + Authority); return Status; }
کد بخش verify
protected void Page_Load(object sender, EventArgs e) { string MerchantCode = "My MerchantCode"; int CardPrice = 100; if (Request.QueryString["Status"] != "" && Request.QueryString["Status"] != null && Request.QueryString["Authority"] != "" && Request.QueryString["Authority"] != null) { if (Request.QueryString["Status"].ToString().Equals("OK")) { long RefID; System.Net.ServicePointManager.Expect100Continue = false; ZarinPal.PaymentGatewayImplementationServicePortTypeClient zp = new ZarinPal.PaymentGatewayImplementationServicePortTypeClient(); int Status = zp.PaymentVerification(MerchantCode, Request.QueryString["Authority"].ToString(), CardPrice, out RefID); if (Status == 100) { lblMessage.ForeColor = System.Drawing.Color.Green; lblMessage.Text = SharedMembers.ZarinPalError(Status); lblReference.Text = " کد پیگیری:" + RefID; } else { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = SharedMembers.ZarinPalError(Status); lblReference.Text = " کد پیگیری:" + RefID; } } else { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "خطا!: " + Request.QueryString["Authority"].ToString() + " Status: " + Request.QueryString["Status"].ToString(); } } else { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "ورودی نامعتبر است."; } }
میتونین از آموزش رایگان موجود در سایت TopLearn استفاده کنین
لینک : http://toplearn.com/c/Dx
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)