问题
I have an angular application that uses Stripe to save customer payment card info.
I include this script in my index.html
<script src="https://js.stripe.com/v3/"></script>
this script provides a "Stripe" object that I can use like this:
<script> var stripe = Stripe('pk_XXXXXXXXXXX') </script>
the question is: How can I access the Stripe object from my angular typescript code?
回答1:
Register the type in typings.d.ts
declare var Stripe: any;
Instantiate a Stripe object from a Service
import { Injectable } from '@angular/core';
@Injectable()
export class PaymentService {
stripe = Stripe('pk_test_XXXXX');
}
Now you can inject this service into your components and interact with elements, but make sure to use AfterViewInit.
export class SomeComponent implements AfterViewInit {
elements: any;
constructor(private pmt: PaymentService)
ngAfterViewInit() {
// initalize elements
this.elements = this.pmt.stripe.elements()
}
}
回答2:
Try to use
npm i stripe-payment-component
for angular typescript version.
回答3:
Try this npm: ngx-stripe-checkout
With this you can integrate stripe checkout easily in angular.
For more details : https://www.npmjs.com/package/ngx-stripe-checkout.
来源:https://stackoverflow.com/questions/47847606/using-stripe-with-angular-5