Stripe payments 如何将angular 8中的stripe与定期付款(即订阅)集成
我正在尝试将Stripe与定期付款相结合 我跟踪了这个链接 我知道我必须首先创建一个签出会话,然后传递会话id以进行进一步的处理 我能够根据文档创建所有API,也能够获取会话id 但我被困在如何集成前端(即Angular 8)中,因为电子文档只为纯js提供 请让我知道如何在angular 8中集成以创建签出会话和重定向签出 还有一个疑问是,如何在创建结帐会话之前了解已有客户或新客户Stripe payments 如何将angular 8中的stripe与定期付款(即订阅)集成,stripe-payments,angular8,Stripe Payments,Angular8,我正在尝试将Stripe与定期付款相结合 我跟踪了这个链接 我知道我必须首先创建一个签出会话,然后传递会话id以进行进一步的处理 我能够根据文档创建所有API,也能够获取会话id 但我被困在如何集成前端(即Angular 8)中,因为电子文档只为纯js提供 请让我知道如何在angular 8中集成以创建签出会话和重定向签出 还有一个疑问是,如何在创建结帐会话之前了解已有客户或新客户 请给我您的建议您需要在html基本模板中包含Stripe.js作为普通脚本标记: <script src="
请给我您的建议您需要在html基本模板中包含Stripe.js作为普通脚本标记:
<script src="https://js.stripe.com/v3/"></script>
最后,当单击按钮或事件触发重定向时,您将使用在服务器上创建的sessionId调用redirectToCheckout
this.stripe.redirectToCheckout({ sessionId: sessionId });
如果“未定义条带”,请确保正确加载了js.Stripe.com/v3。 用于安装相应的软件包
npm i @stripe/stripe-js
您可以在Sources选项卡下检查chrome开发者工具,以检查是否加载了它。出现后,在组件上加载PubApiKey:
stripePromise: any = null;
stripe: any = null;
constructor(...)
{
...
this.stripePromise = loadStripe('pk_test_***')
.then(res => {
this.stripe = res;
});
}
然后,无论从后端返回会话id到何处,都要执行重定向:
this.stripe.redirectToCheckout({sessionId: stripeSession_id})
.then(res => {
console.log(res);
})
.catch(error => {
console.log(error);
});
从'@stripe/stripe js'导入{loadStripe};//这是打字稿
谢谢,但是它抛出了一个错误,因为Stripe没有定义或者Stripe没有功能。您可能需要执行以下操作:declare let Stripe:any;并确保包含条纹标签。
this.stripe.redirectToCheckout({sessionId: stripeSession_id})
.then(res => {
console.log(res);
})
.catch(error => {
console.log(error);
});
stripePromise = loadStripe('pk_test_yourpublickeyshglhglglkdgjlrs')
// Call your backend to create the Checkout session.
// When the customer clicks on the button, redirect them to Checkout.
async checkout() {
const stripe = await this.stripePromise;
const { error } = await stripe.redirectToCheckout({
mode: 'payment',
lineItems: [{ price: this.plan, quantity: this.quantity }],
successUrl: `${window.location.href}/success`,
cancelUrl: `${window.location.href}/failure`,
});
if (error) {
console.log(error);
}
}
```