我有一个 Stripe 集成,它在我的 ASP.NET Core 2.1 应用程序中运行良好。
但是,当我升级到 ASP.NET Core 3.0 时,它停止工作。
我得到的唯一错误是
:44371/ajax/confirm_ payment:1 加载资源失败: 服务器响应状态为 500 ()
我已经更新了 Stripe.Net 并尝试升级到 3.0 和 6.0 - 但没有什么乐趣。
ajax/confirm_ payment 调用此操作...
[Route("/ajax/confirm_payment")]
public class ConfirmPaymentController : Controller
{
public ConfirmPaymentController(IConfiguration iConfig)
{
configuration = iConfig;
}
public IConfiguration configuration { get; set; }
public IActionResult Index(ConfirmPaymentRequest request)
{
string stripeSecretKey = configuration.GetSection("appSettings").GetSection("StripeSecretKey").Value; //Configuration["stripeSecretKey"];
StripeConfiguration.ApiKey = stripeSecretKey;
var oessConnectedAccount = request.ConnectedAccount;
string desc = HttpContext.Request.Query["desc"].ToString();
var oessDescription = request.Description;
var callCurrency = request.PaymentCurrency;
var oessDescriptor = request.Descriptor;
var oessReceiptEmail = request.ArtistEmail;
var oessPaymentAmount = request.PaymentAmount;
Console.WriteLine("Amount:" + oessPaymentAmount);
var paymentIntentService = new PaymentIntentService();
PaymentIntent paymentIntent = null;
当我在最后一行添加断点时,我可以看到使用 .NET 6.0 升级版本时
ConfirmPaymentRequest
请求没有返回任何值。但是 ASP.NET Core 2.1 版本确实返回了正确的值。
有什么想法吗?
您面临的问题是兼容性问题... 尝试将您的 .NET Core 升级到 3.1 或更高版本,因为 NuGet 网站上说它受支持。比通过包管理器或 .net CLI 安装最新的 Stripe nuget
下午
NuGet\安装包 Stripe.net -版本 43.18.0
.NET CLI
dotnet 添加包 Stripe.net --version 43.18.0
您还可以检查 NuGet 网站上的 Stripe 并检查是否有支持您当前版本的 .net core 的 stripe.net 版本