Initialiser votre projet
Importez Stripe et appelez initialize avec une clé publique. Faites-le une seule fois par environnement JavaScript, avant de créer ou de présenter une interface de paiement.
import { Stripe } from '@capacitor-community/stripe';
export async function initialize(): Promise<void> {
await Stripe.initialize({
publishableKey: 'Your Publishable Key',
});
}
method initialize(...)
Configure le SDK Stripe. Appelez cette méthode une fois avant d’utiliser un moyen de paiement.
initialize(opts: StripeInitializationOptions) => Promise<void>
interface StripeInitializationOptions
| Propriété | Type | Description | Depuis |
|---|---|---|---|
publishableKey |
string |
Clé publique Stripe du compte qui crée l’interface de paiement côté client. Ne transmettez jamais de clé secrète à l’application cliente. | 3.0.0 |
stripeAccount |
string |
Identifiant du compte connecté utilisé lors des appels côté client effectués au nom d’un compte Stripe Connect. | 3.0.0 |
Créez une clé publique dans le Dashboard Stripe. Ne transmettez jamais la clé secrète au client.
Stripe Connect
Définissez l’option facultative stripeAccount pour effectuer les appels API du plugin pour un compte connecté.
await Stripe.initialize({
publishableKey: 'Your Publishable Key',
stripeAccount: 'acct_xxxxxxxxxxxxx',
});
Sur Android, Google Pay peut également lire com.getcapacitor.community.stripe.stripe_account dans les métadonnées de l’application. Consultez Google Pay.
Moyens de paiement avec redirection sur iOS
Les moyens de paiement qui quittent votre application pour l’authentification, comme PayPal et certains moyens de paiement bancaires, nécessitent une URL de retour. Sur iOS, Stripe ne propose pas ces moyens de paiement dans PaymentSheet ou PaymentFlow, même s’ils seraient autrement admissibles, lorsque returnURL n’est pas configuré. Consultez le guide Stripe sur l’URL de retour iOS.
Enregistrez un schéma d’URL personnalisé pour votre application dans ios/App/App/Info.plist. Remplacez your-app par un schéma propre à votre application :
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleURLSchemes</key>
<array>
<string>your-app</string>
</array>
</dict>
</array>
Passez une URL utilisant ce schéma à createPaymentSheet ou createPaymentFlow, puis transmettez à Stripe les événements d’ouverture d’application correspondants :
import { App } from '@capacitor/app';
import { Stripe } from '@capacitor-community/stripe';
const STRIPE_RETURN_URL = 'your-app://stripe-redirect';
await App.addListener('appUrlOpen', async ({ url }) => {
if (url.startsWith(STRIPE_RETURN_URL)) {
await Stripe.handleURLCallback({ url });
}
});
await Stripe.createPaymentSheet({
paymentIntentClientSecret,
returnURL: STRIPE_RETURN_URL,
});
Utilisez la même configuration avec createPaymentFlow. Le schéma personnalisé dans Info.plist, celui de returnURL et l’URL vérifiée par l’écouteur doivent correspondre. La disponibilité des moyens de paiement dépend également de l’Intent, de la devise, du pays, du compte Stripe, des paramètres du Dashboard et de leur prise en charge par le SDK Stripe.
handleURLCallback
handleURLCallback est réservé à iOS. Il transmet l’URL de retour reçue au SDK Stripe pour terminer l’authentification avec redirection et fermer le navigateur.
method handleURLCallback(...)
Transmet une URL de retour entrante au SDK Stripe après une authentification par redirection.
iOS uniquement. Appelez cette méthode depuis le gestionnaire d’URL de votre application lorsque Stripe redirige vers celle-ci.
handleURLCallback(opts: StripeURLHandlingOptions) => Promise<void>
interface StripeURLHandlingOptions
| Propriété | Type | Description | Depuis |
|---|---|---|---|
url |
string |
URL de callback complète reçue par l’application. | 4.0.0 |
Cette méthode n’est pas implémentée sur Android ni sur le Web. Ne lui passez que les URL de retour Stripe correspondantes. Si Stripe ne traite pas l’URL, la Promise est rejetée et vous devez poursuivre le traitement habituel des liens profonds.
Intégration aux frameworks
Appelez initialize au démarrage du framework choisi. Privilégiez le parcours de démarrage de référence dans chaque guide :
- JavaScript natif — appelez
initializeaprèsdefineCustomElements() - Angular —
provideAppInitializerau démarrage de l’application - React —
CapacitorStripeProviderinitialise le plugin pour vous