Stripe,Angular和TypeScript不能一起使用

时间:2016-10-25 11:20:18

标签: angularjs typescript stripe-payments

我正在尝试Stripe.card.createToken()生成一个我应该用于后端的令牌。但是,我使用的是Angular和TypeScript,因此它们必须很好地协同工作。我目前正在使用angular-stripestripe.d.ts,因此TypeScript和Angular可以使用。这是我正在尝试做的,但它不起作用:

namespace app.Areas.Subscription {
    export class StripePaymentController {
        CreditCard: string;
        Expiry: Array<string>;
        CVC: string;

        stripe: StripeStatic;
        card: StripeTokenData;

        Subscribe() {
            this.card = {
                number: this.CreditCard,
                exp_month: Number(this.Expiry["month"]),
                exp_year: Number(this.Expiry["year"]),
                cvc: this.CVC
            };

            this.stripe.createToken(this.card, this.stripeResponseHandler);
        }

        stripeResponseHandler() {
            console.log("Handled");
        }

    }
    app.controller("StripePaymentController", StripePaymentController);
}

当我尝试这个时,它会告诉我:

  

TypeError:无法读取未定义的属性“createToken”

当我检查this.stripe时,它说undefined。这可能是因为我没有初始化StripeStatic接口吗?如果是这样,我该怎么办?我真的不知道为什么这不起作用。感谢。

1 个答案:

答案 0 :(得分:0)

哦,好吧,所以我想尝试一些完全不同的东西(因为TypeScript对我来说并不总是很好),所以我用this.stripe.createToken()更改了Stripe.createToken()。显然Stripe属于StripeStatic类型,现在它可以正常工作。男子,发帖后2分钟:(