Home

Awesome

<p align="center"><br><img src="https://user-images.githubusercontent.com/236501/85893648-1c92e880-b7a8-11ea-926d-95355b8175c7.png" width="128" height="128" /></p> <h3 align="center">Stripe</h3> <p align="center"> Capacitor community plugin for native Stripe. </p> <p align="center"> <img src="https://img.shields.io/maintenance/yes/2024?style=flat-square" /> <a href="https://www.npmjs.com/package/@capacitor-community/stripe"><img src="https://img.shields.io/npm/l/@capacitor-community/stripe?style=flat-square" /></a> </p>

packages

package namedescriptionpath
@capacitor-community/stripeSupport for non-personal payments using Stripe/packages/payment
@capacitor-community/stripe-identitySupports identity verification using Stripe/packages/identity
@capacitor-community/stripe-terminalSupport for in-person payments using Stripe/packages/terminal

Hint

Error: Unable to get provider androidx.startup.InitializationProvider

Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: androidx.startup.StartupException: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/ReportFragment$ActivityInitializationListener;

If you got this error message at Android Studio, you should add next block to android/app/build.gradle like https://github.com/capacitor-community/stripe/blob/main/demo/angular/android/app/build.gradle#L61-L74

+ buildscript {
+   ext.kotlin_version = '2.0.+'
+   repositories {
+       google()
+       mavenCentral()
+   }
+   dependencies {
+     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+   }
+ }
+ apply plugin: 'kotlin-android'

Versions

Users of Capacitor v5 should use version v5 of the Plugin.

% npm install @capacitor-community/stripe@5
% npm install @capacitor-community/stripe-identity@5
% npm install @capacitor-community/stripe-terminal@5

How to use Stripe Android currently package

Capacitor Android 6's default settings is here:

minSdkVersion = 22
compileSdkVersion = 34
targetSdkVersion = 34

To use the latest Stripe Android, you need to version these up. To use the latest features, follow these steps.

  1. Open android/variables.gradle and change sdkVersion version, if need.
  2. Add stripeAndroidVersion, identityVersion or stripeterminalCoreVersion and set required version. Release information is here:
  ext {
-   minSdkVersion = 22
+   minSdkVersion = 26
    compileSdkVersion = 34
    targetSdkVersion = 33
    androidxActivityVersion = '1.7.0'
    androidxAppCompatVersion = '1.6.1'
    androidxCoordinatorLayoutVersion = '1.2.0'
    androidxCoreVersion = '1.10.0'
    androidxFragmentVersion = '1.5.6'
    coreSplashScreenVersion = '1.0.0'
    androidxWebkitVersion = '1.6.1'
    junitVersion = '4.13.2'
    androidxJunitVersion = '1.1.5'
    androidxEspressoCoreVersion = '3.5.1'
    cordovaAndroidVersion = '10.1.1'

    // If you use @capacitor-community/stripe:
+   stripeAndroidVersion = '20.39.+'

    // If you use @capacitor-community/stripe-identity:
+   identityVersion = '20.39.+'

    // If you use @capacitor-community/stripe-terminal:
+   stripeterminalCoreVersion = '4.0.0'
+   stripeterminalTapToPayVersion = '4.0.0'
  }

Note: @capacitor-community/stripe-terminal does not work with the default sdkVersion, so these updates are mandatory. See /packages/terminal for more information.

Error when running cap update ios

[!] CocoaPods could not find compatible versions for pod "StripePaymentSheet":
  In snapshot (Podfile.lock):
..
You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * changed the constraints of dependency `StripePaymentSheet` inside your development pod `CapacitorCommunityStripe`.
   You should run `pod update StripePaymentSheet` to apply changes you've made.

You will see this error often when using Capacitor iOS. The solution is simple: do the following:

% cd ios/App && pod install --repo-update

or

% cd ios/App && pod update

Maintainers

MaintainerGitHubSocial
Hidetaka Okamotohideokamoto@hide__dev
Masahiko Sakakibarardlabo@rdlabo

Contributors ✨

<a href="https://github.com/capacitor-community/stripe/graphs/contributors"> <img src="https://contrib.rocks/image?repo=capacitor-community/stripe" /> </a>

Made with contributors-img.

Demo

Screenshots

@capacitor-community/stripe

AndroidiOSWeb
PaymentSheet
PaymentFlow
ApplePayNot supportedbeta.
GooglePayNot supported

@capacitor-community/stripe-identity

AndroidiOSWeb
Identity

How to use Demo

% git clone git@github.com:capacitor-community/stripe.git
% cd stripe && npm install && npm run build
% cd demo && npm install && npm run cap && npx cap update