【发布时间】:2019-07-29 23:39:02
【问题描述】:
我对 React 还很陌生,并且多年来没有做过任何广泛的 Web 开发,所以我正在努力解决一个(可能)基本的 Web 问题:
我正在 React Web 应用程序中实现基于 Stripe 的 payment flow(用 Typescript 编写),但在 step 2 上遇到了障碍(添加重定向到结帐客户端)。
快速入门指南指示我在我的网站上插入以下脚本标签,我通过在 <head> 标签内插入标签来完成:
Checkout 依赖于 Stripe.js。要开始,请包括以下内容 您网站上的脚本标签——它应该总是直接从 https://js.stripe.com:
<script src="https://js.stripe.com/v3/"></script>
下一步是我遇到问题(使用 ESNext 语法,因为这是在 Typescript 项目中):
接下来,通过提供可发布的 API 密钥作为第一个参数来创建 Stripe 对象的实例:
const stripe = Stripe('pk_test_sdjxyNjHWmRefdkUNYuS53MA00Ot1f9HOu');
我想通过服务工作者而不是直接访问组件来访问 Stripe。但是,尝试初始化条带实例不起作用。我试过了:
- 以各种方式导入 Stripe 模块,均无效
- 添加对
@types/stripe的依赖,这似乎可以防止编译器抱怨
目前,我的StripeService.ts 文件有以下代码:
const stripe = Stripe("SOME_KEY");
export const redirectToCheckout = (sessionId: string) => {
return stripe.redirectToCheckout(
{
sessionId: sessionId,
});
};
Localhost 实例出现此错误:
/src/services/stripe/StripeService.ts
Line 12: 'Stripe' is not defined no-undef
关于如何解决此问题的任何建议?我研究了 react-stripe-elements 包装器,但它旨在提供 UI 组件,而我只想要 Stripe 结帐 API 调用行为。
【问题讨论】:
标签: reactjs typescript stripe-payments