在我的角度应用程序中,有一个名为Ngx-Stripe
的模块我已将其定义为以下文档:
NgxStripeModule.forRoot('***your-stripe-publishable key***');
但问题是我在应用程序引导程序上没有得到这个键,当我使用条带输出任何角度库时,我不应该在角度app.module
或全局像index.html
中对其进行硬编码
用户进入付款页面后,我在api通话中收到此密钥。如何在此方案中定义此密钥?
答案 0 :(得分:2)
我希望它是直截了当的,但我能够实现它的唯一方法是:
index.html (或者webpack注入的脚本)必须放在Angular的源代码之前:
<script>
var STRIPE_KEY = 'paste it here';
</script>
<强> app.module.ts 强>:
declare var STRIPE_KEY;
// ...
NgxStripeModule.forRoot(STRIPE_KEY);
此处的问题是.forRoot()
必须由Angular AoT编译器进行静态分析,因此它无法接受您希望它接受的内容...如何在获得密钥后设置密钥StripeService.changeKey(key: string)
方法?
答案 1 :(得分:0)
为了延迟加载您的 Stripe 配置键,您可以使用 ngx-stripe 提供的 StripeFactory 创建您自己的 StripeService 实例。
查看此处的文档以获得完整说明:
https://richnologies.gitbook.io/ngx-stripe/core-concepts/service-factory