我正在尝试在ReactJS中实现Stripe函数“重定向到结帐”。 我一直在四处张望,似乎没有任何包裹可以帮到您。
const stripe =
Stripe('key');
stripe.redirectToCheckout({
items: [
// Replace with the ID of your SKU
{sku: 'sku_123', quantity: 1}
],
successUrl: 'https://your-website.com/success',
cancelUrl: 'https://your-website.com/canceled',
}).then(({error}) => {
// If `redirectToCheckout` fails due to a browser or
network
// error, display the localized error message to your
customer
// using `error.message`.
});
这是我获得此源代码的地方:https://stripe.com/docs/stripe-js/reference#stripe-redirect-to-checkout
StripeJS似乎仅支持不将产品SKU作为参数的标准结帐
答案 0 :(得分:3)
阅读新的stripe-js
文档https://stripe.com/docs/stripe-js/react之后
我发现这可能对您有用
安装stripe
代替使用@stripe/stripe-js
然后可以通过
import { loadStripe } from "@stripe/stripe-js";
...
const stripePromise = loadStripe(
"pk_.........."
);
const stripe = await stripePromise;
stripe.redirectToCheckout({
...
})
答案 1 :(得分:1)
我发现ti是如何工作的。
基本上根据文档,有必要将Stripe脚本导入public / index.html
stripe.redirectToCheckout(...)
可以简单地放在按钮的onClick中。 在文档中确实不清楚的事情可能会误导像我这样的新手,在于设置公钥:
const stripe = Stripe('key');
不起作用,因为在编译时找不到该脚本。
可以使用以下方法解决:
const stripe = window.Stripe('key');
这对我有用。