У меня возникла проблема с передачей данных через HTTP POST. Мне нужно получить значение subscription.LatestInvoice.PaymentIntent.ClientSecret
в моем JavaScript файле.
Когда я нажимаю кнопку оплаты, Stripe должен указать значение subscription.LatestInvoice.PaymentIntent.ClientSecret
для моего JS файла. Но этого не происходит.
Stripe выдает ошибку:
Uncaught IntegrationError: Неверное значение для stripe.handleCardPayment. Секрет intent должен быть в формате ${id}secret${secret}. Вы указали: .
Вот мой контроллер:
[HttpPost]
[Route("Members/AddMembership/{id}/{CompaniesId}")]
public async Task<IActionResult> AddMembership(MembersView model)
{
try
{
// Здесь код Stripe и другая логика
model.PiinVoice = subscription.LatestInvoice.PaymentIntent.ClientSecret;
return View(model);
}
catch(Exception e)
{
// Обработка ошибки
}
}
В JavaScript я пытаюсь получить значение так:
var paymentIntentSecret = document.getElementById('PiinVoice').value;
stripe.handleCardPayment(paymentIntentSecret).then(function(result) {
// Обработка результата
});
Как правильно передать subscription.LatestInvoice.PaymentIntent.ClientSecret
в PiinVoice для работы с 3D Secure? Если я вручную задаю var paymentIntentSecret = "xxxxxxx"
, все работает нормально.