Reactjs 条带重定向到checkout-“;TypeError:stripe.redirectToCheckout不是函数;
我在express中有一个后端,它接受一个productID并返回一个Stripe sessionID,我认为它可以与Reactjs 条带重定向到checkout-“;TypeError:stripe.redirectToCheckout不是函数;,reactjs,stripe-payments,Reactjs,Stripe Payments,我在express中有一个后端,它接受一个productID并返回一个Stripe sessionID,我认为它可以与Stripe.redirectToCheckout一起使用。 从后端输出: "status": "success", "session": { "id": "cs_test_8l6LSFDpAXXXXXXX", "object": "checkout.session", "billing_address_collec
Stripe.redirectToCheckout
一起使用。
从后端输出:
"status": "success",
"session": {
"id": "cs_test_8l6LSFDpAXXXXXXX",
"object": "checkout.session",
"billing_address_collection": null,
"cancel_url": "http://127.0.0.1:3000/product/undefined",
"client_reference_id": "5dfd96267d707d32dwe1834967532",
"customer": null,
"customer_email": "jlkfsad@gmail.com",
"display_items": [
{
"amount": 3999,
"currency": "usd",
"custom": {
"description": "Learn any long term commitment",
"images": null,
"name": "lifetime Product"
},
"quantity": 1,
"type": "custom"
}
],
"livemode": false,
"locale": null,
"mode": "payment",
"payment_intent": "pi_1FvUXBLs8D14wk3oUL3dwxmMOO8",
"payment_method_types": [
"card"
],
"setup_intent": null,
"submit_type": null,
"subscription": null,
"success_url": "http://127.0.0.1:3000/my-products/?product=5dfd96267d70723e1834967532&user=5e011031ac24131ed53d7439fb68&price=39.99"
}
}
我不确定如何在生成会话ID后在react前端中使用Stripe.redirectToCheckout。下面是我尝试过的,但出现“TypeError:stripe.redirectToCheckout不是函数”错误
从“react router dom”导入{Link};
从“react redux”导入{connect};
从“react Stripe Elements”导入{Elements,StripeProvider,Stripe};
从“../../components/MyStoreCheckout/MyStoreCheckout”导入MyStoreCheckout;
从“../../components/UI/Spinner/Spinner”导入微调器;
从“../../store/actions/index”导入*作为操作;
从“/Subscription.module.css”导入类;
const stripe=require(“条带客户端”)(
“sk_测试uxxxxxx”
);
类订阅扩展了组件{
建造师(道具){
超级(道具);
}
月订阅量ClickHandler=()=>{
const productId=“5dfd95e27dw4231707e1834967531”;
this.props.onSubscribeClicked(this.props.token,productId);
stripe.redirectToCheckout({
sessionId:this.props.sessionId
});
};
render(){
让buttonName=“订阅”;
返回(
月费
以每月9.99美元的价格学习所有模块
{buttonName}
终身访问
以34.99美元的名义付款学习所有模块
一次性付款
);
}
}
常量mapStateToProps=状态=>{
返回{
加载:state.auth.loading,
错误:state.auth.error,
消息:state.auth.message,
状态:state.auth.status,
userId:state.auth.status,
令牌:state.auth.token,
sessionId:state.subscription.sessionId
};
};
const mapDispatchToProps=调度=>{
返回{
onSubscribeClicked:(令牌,产品ID)=>
分派(actions.subscribeProduct(令牌、产品ID))
};
};
导出默认连接(
MapStateTops,
mapDispatchToProps
)(认购);
请帮忙 这是因为此处使用的
条带客户端
库已经过时,并且没有导入最新的stripe.js库,其中包含您要使用的函数(重定向到checkout
)。您需要使用脚本标记加载Stripe.js:
<script src="https://js.stripe.com/v3/"></script>
明白了!最后,这是有效的-const stripe=window.stripe(“pk_test_uuxxxxx”)
@cjav\u dev某人将如何导入https://js.stripe.com/v3/
转换成Javascript?或者,stripev3的npm模块是什么?我似乎在npm上找不到它…:S标准的条带
模块说,相同的重定向到checkout不是一个函数nevermind,我想我通过这里的文档了解到了这一点:
<script src="https://js.stripe.com/v3/"></script>