Я чувствую, что мне здесь не хватает очевидного.Я реализовал процесс Checkout, используя более старый процесс
@using (Html.BeginForm("Submit", "Basket", FormMethod.Post))
{
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"></script>
}
//C# Controller Action
[HttpPost]
public ActionResult Submit(string shoppingCartId, string stripeToken)
{
ChargeCreateOptions chargeOptions = new ChargeCreateOptions
{
Amount = 100* 100,
Currency = "GBP",
Description = "Some stuff",
ReceiptEmail = "yo@dawg.com"
};
//3)Make the charge
var chargeService = new ChargeService("mySecretKey);
var stripeCharge = chargeService.Create(chargeOptions, null);
stripeResponse = stripeCharge.StripeResponse;
return true;
}
. Вышеописанный процесс работает, показывая синюю кнопку Pay, и когда вы нажимаете ее, она вызывает модальное всплывающее окно, которое принимает данные кредитной карты икогда подано, не вмешивается в мои действия и производит оплату.
Для более нового процесса SCA, он говорит о создании сеанса и вызове процесса оплаты с помощью нажатия кнопки, которое вызывает следующее:
stripe.redirectToCheckout({
sessionId: '{{CHECKOUT_SESSION_ID}}'
}).then(function (result) {
// If `redirectToCheckout` fails due to a browser or network
// error, display the localized error message to your customer
// using `result.error.message`.
});
Я не вижу, как я создаю это{{CHECKOUT_SESSION_ID}} с последней версией Stripe Dotnet 25.7.00.Это то, чего еще не существует, или как его создать?