با سلام و خسته نباشید خدمت دوستان عزیز
من هنگامی که در سایت خرید رو نهایی میکنم با درگاه زرین پال با ارور زیر مواجه میشوم:
Server Error in '/' Application.
The remote server returned an error: (405) Method Not Allowed.
کد کنترلر:
using DataLayer;
using DataLayer.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MyEshop.Controllers
{
public class ShopController : Controller
{
MyEshop_DbEntities db = new MyEshop_DbEntities();
// GET: Shop
public ActionResult ShowCart()
{
List<DataLayer.ViewModels.ShopCartItemViewModel> list = new List<DataLayer.ViewModels.ShopCartItemViewModel>();
if (Session["ShopCart"] != null)
{
List<DataLayer.ViewModels.ShopCartItem> listShop = (List<DataLayer.ViewModels.ShopCartItem>)Session["ShopCart"];
foreach (var item in listShop)
{
var product = db.Products.Where(p => p.ProductID == item.ProductID).Select(p => new
{
p.ProductImageName,
p.ProductTitle
}).Single();
list.Add(new DataLayer.ViewModels.ShopCartItemViewModel()
{
Count = item.Count,
ProductID = item.ProductID,
Title = product.ProductTitle,
ImageName = product.ProductImageName
});
}
}
return PartialView(list);
}
public ActionResult Index()
{
return View();
}
public ActionResult Order()
{
return PartialView(GetListOrder());
}
List<ShowOrderViewModel> GetListOrder()
{
List<DataLayer.ViewModels.ShowOrderViewModel> list = new List<DataLayer.ViewModels.ShowOrderViewModel>();
if (Session["ShopCart"] != null)
{
List<DataLayer.ViewModels.ShopCartItem> listShop = Session["ShopCart"] as List<DataLayer.ViewModels.ShopCartItem>;
foreach (var item in listShop)
{
var product = db.Products.Where(p => p.ProductID == item.ProductID).Select(p => new
{
p.ProductImageName,
p.ProductTitle,
p.ProductPrice
}).Single();
list.Add(new DataLayer.ViewModels.ShowOrderViewModel()
{
Count = item.Count,
ProductID = item.ProductID,
Price = product.ProductPrice,
ImageName = product.ProductImageName,
Title = product.ProductTitle,
Sum = item.Count * product.ProductPrice
});
}
}
return list;
}
public ActionResult CommandOrder(int id, int count)
{
List<DataLayer.ViewModels.ShopCartItem> listShop = (List<DataLayer.ViewModels.ShopCartItem>)Session["ShopCart"];
int Index = listShop.FindIndex(p => p.ProductID == id);
if (count == 0)
{
listShop.RemoveAt(Index);
}
else
{
listShop[Index].Count = count;
}
Session["ShopCart"] = listShop;
return PartialView("Order", GetListOrder());
}
[Authorize]
public ActionResult Payment()
{
int userId = db.Users.Single(u => u.UserName == User.Identity.Name).UserID;
OrderDetails orderDetails = new OrderDetails();
DataLayer.Orders order = new DataLayer.Orders()
{
UserID = userId,
Date = DateTime.Now,
IsFinaly = false,
};
db.Orders.Add(order);
var listDetails = GetListOrder();
foreach (var item in listDetails)
{
db.OrderDetails.Add(new DataLayer.OrderDetails()
{
Count = item.Count,
OrderID = order.OrderID,
Price = item.Price,
ProductID = item.ProductID,
});
}
db.SaveChanges();
System.Net.ServicePointManager.Expect100Continue = false;
ZarinpalService.PaymentGatewayImplementationServicePortTypeClient zp =
new ZarinpalService.PaymentGatewayImplementationServicePortTypeClient();
string Authority;
int Status = zp.PaymentRequest("******************", orderDetails.Count * orderDetails.Price, "تست درگاه پرداخت",
"hadijamiahar1388@gmail.com", "09305864324", "http://hadijami.ir/Shop/Index/" + order.OrderID, out Authority);
if (Status == 100)
{
//Response.Redirect("https://sandbox.zarinpal.com/pg/StartPay/" + Authority);
Response.Redirect("https://www.zarinpal.com/pg/StartPay/" + Authority);
}
else
{
ViewBag.Error = "error: " + Status;
}
return View();
}
public ActionResult PaymentVerify(int id)
{
var order = db.Orders.Find(id);
OrderDetails orderDetails = new OrderDetails();
if (Request.QueryString["Status"] != "" && Request.QueryString["Status"] != null && Request.QueryString["Authority"] != "" && Request.QueryString["Authority"] != null)
{
if (Request.QueryString["Status"].ToString().Equals("OK"))
{
int Amount = orderDetails.Count * orderDetails.Price;
long RefID;
System.Net.ServicePointManager.Expect100Continue = false;
ZarinpalService.PaymentGatewayImplementationServicePortTypeClient zp = new ZarinpalService.PaymentGatewayImplementationServicePortTypeClient();
int Status = zp.PaymentVerification("*************", Request.QueryString["Authority"].ToString(), Amount, out RefID);
if (Status == 100)
{
order.IsFinaly = true;
db.SaveChanges();
ViewBag.IsSuccess = true;
ViewBag.RefId = RefID;
// Response.Write("Success!! RefId: " + RefID);
}
else
{
ViewBag.Status = Status;
}
}
else
{
Response.Write("Error! Authority: " + Request.QueryString["Authority"].ToString() + " Status: " + Request.QueryString["Status"].ToString());
}
}
else
{
Response.Write("Invalid Input");
}
return View();
}
}
}
ویو هم ویو بگه چیز خاصی نیست
سبد خرید با WebApi ساخته شده
با تشکر
با درود احتمالا در callbackurl مشکلی وجود دارد -بهتره مرچنت ایدی هم از قسمت کدها به لحاظ مساله امنیتی ستاره دار کنید
لطفا این لینک رو دانلود کنید یک سمپل از اتصال قرار داده شده .مشکلتون برطرف میشه-
https://github.com/erfanad1992/zarinpalasp.netcore
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
394
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
561
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|