В настоящее время я интегрирую элементы полосы в качестве части моего процесса оформления заказа в угловом приложении.Я следовал инструкциям по интеграции, но кажется, что обещание 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>
Mountingв 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
})
}
Как получается, что stripe.createToken () 'не удалось решить, даже если я передаю действительный элемент карты и указываю «.then (результат)»?Возможно, от инициализации 'полосы' внутри индекса или чего-то еще?