我目前正在将条形元素集成到我的角度应用程序中,作为结帐流程的一部分。我遵循了有关集成的教程,但似乎stripe.createToken承诺没有被解决或未被调用。
在我的HTML中,正在安装条纹卡元素
<div class="pay-interface">
<form id="payment-form" action="" method="POST" class="pay-interface-main">
<p class="pay-header">Checkout</p>
<p class="pay-sub">{{item_name}} for ${{item_price / 100}}</p>
<div id="card-element" class="card-info-element" #CardInfoElement></div>
<div class="pay-email-input-box">
<div class="pay-email-icon icon-holder user-icon dark-icon small-icon"></div>
<input class="pay-email-input" placeholder="Email" type="email" [(ngModel)]="email" name="email">
</div>
<p class="card-error error-text">{{error_message}}</p>
<button class="card-submit-but" type="submit" (click)="submitCard($event)">Submit</button>
</form>
</div>
在ngOnInit()中安装
ngOnInit() {
let model = this; //model reference is for simplicity, acts the same as this even in callbacks
//set card
this.card = elements.create('card');
//set card element to info element
this.card.mount(this.CardInfoElement.nativeElement);
this.card.addEventListener('change', (error) => {
if (error.error) console.error(error); //handling errors is correctly logging in console
});
}
当我提交表单时,'createToken()'承诺没有得到解决或调用
public submitCard(e) {
e.preventDefault();
let model = this;
model.error_message = '';
console.log('submitting') //called and being logged, submit is working
console.log(stripe.createToken(model.card))
//submit stripe card
stripe.createToken(model.card)
.then(result => {
console.log(result) //not logging token or error
})
}
即使我传递了有效的card元素并指定了'.then(result)',为什么'stripe.createToken()'仍未得到解决?可能是因为在索引或其他内容中初始化了“条带化”?