我正在使用
react-stripe-js
并获得 IntegrationError: You cannot have multiple Embedded Checkout objects
。当尝试多次渲染表单时会出现此错误。
我认为我需要在创建新实例之前以某种方式销毁结账表单,但我找不到如何在
react-stripe-js
中执行此操作。
有人建议为 EmbeddedCheckoutProvider 使用不同的密钥,但这并没有解决问题。
<div id="checkout">
<EmbeddedCheckoutProvider stripe={stripePromise}>
<EmbeddedCheckout />
</EmbeddedCheckoutProvider>
</div>
您可能调用一个 API,该 API 返回用于打开 Stripe 嵌入表单的 clientSecret,因此您只需将该 clientSecret 设置为 null,这将删除 Stripe 结帐会话。