我觉得我在这里想不到。我已经使用较旧的
流程实施了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;
}
上面的过程通过显示一个蓝色的“付款”按钮来工作,当您单击它时,它会调用一个模态弹出式窗口,该弹出式窗口接受“信用卡详细信息”,并在“提交”后立即执行我的操作并付款。
对于较新的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`.
});
我看不到如何使用Stripe Dotnet最新版本25.7.00创建此{{CHECKOUT_SESSION_ID}}。这是尚不存在的东西,还是它是如何创建的?