Проблема в том, что я получаю эту ошибку после нажатия кнопки оплаты.

Вот тестовая панель Stripe:

Я провел небольшое исследование и наткнулся на эту документацию по странице, размещенной на полосе . Хостинг Stripe. Разница в том, что я использую PriceData, а не Price ID. Вот пример конечной точки создания сеанса Checkout, который я следую: Сеанс Checkout
Вот мой API вызова Stripe:
Код: Выделить всё
[HttpPost]
[Authorize]
[ActionName("Create")]
public async Task Create([FromBody] StripePaymentDTO paymentDTO)
{
try
{
var domain = _configuration.GetValue("Client_URL");
var options = new SessionCreateOptions
{
SuccessUrl = domain + paymentDTO.SuccessUrl,
CancelUrl = domain + paymentDTO.CancelUrl,
LineItems = new List(),
Mode = "payment",
PaymentMethodTypes = new List { "card" }
};
foreach (var item in paymentDTO.Order.OrderDetails)
{
var sessionLineItem = new SessionLineItemOptions
{
PriceData = new SessionLineItemPriceDataOptions
{
UnitAmount = (long)(item.Price * 100), //20.00 -> 2000
Currency = "USD",
ProductData = new SessionLineItemPriceDataProductDataOptions
{
Name = item.Product.Name
}
},
Quantity = item.Count
};
options.LineItems.Add(sessionLineItem);
}
var service = new SessionService();
Session session = await service.CreateAsync(options);
return Ok(new SuccessModelDTO()
{
Data = session.Id + ";" + session.PaymentIntentId
});
}
catch (Exception ex)
{
return BadRequest(new ErrorModelDTO()
{
ErrorMessage = ex.Message
});
}
}
Изменить 1:
Поскольку я использовал более старую версию Stripe, я не перенаправлялся на Session.url. Теперь я перенаправляю его следующим образом:
Код: Выделить всё
Response.Headers.Add("Location", session.Url);
return new StatusCodeResult(303);

< /p>
Странно то, что в моем приложении нет localhost:53752
Подробнее здесь: https://stackoverflow.com/questions/785 ... ent-method