با سلام و خسته نباشید خدمت دوستان عزیز
من هنگامی که در سایت خرید رو نهایی میکنم با درگاه زرین پال با ارور زیر مواجه میشوم:
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
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1314
- پاسخ :
0
|
تاریخ :
1403/12/01
- ساعت :
01:07:00 PM
- بازدید :
175
- پاسخ :
0
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
69
- پاسخ :
1
|
تاریخ :
1403/12/23
- ساعت :
11:21:00 AM
- بازدید :
157
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6832
- پاسخ :
1
|
تاریخ :
1403/12/22
- ساعت :
11:05:00 AM
- بازدید :
187
- پاسخ :
1
|
تاریخ :
1403/12/19
- ساعت :
11:21:00 PM
- بازدید :
75
- پاسخ :
1
|
تاریخ :
1403/12/18
- ساعت :
07:24:00 PM
- بازدید :
106
- پاسخ :
1
|
تاریخ :
1398/09/06
- ساعت :
09:06:00 PM
- بازدید :
3426
- پاسخ :
1
|
تاریخ :
1399/12/15
- ساعت :
08:08:00 PM
- بازدید :
3582
- پاسخ :
1
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
89
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1314
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
66
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9852
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
38
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
45
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
60
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
48
- پاسخ :
1
|
تاریخ :
1399/06/04
- ساعت :
02:25:00 PM
- بازدید :
4420
- پاسخ :
2
|
تاریخ :
1403/11/30
- ساعت :
10:36:00 AM
- بازدید :
202
- پاسخ :
2
|