Capacitor community plugin for native Stripe.
Documentation: Payments · Identity · Terminal
| package name | description | source | documentation |
|---|---|---|---|
| @capacitor-community/stripe | Support for non-personal payments using Stripe | /packages/payment | Documentation |
| @capacitor-community/stripe-identity | Supports identity verification using Stripe | /packages/identity | Documentation |
| @capacitor-community/stripe-terminal | Support for in-person payments using Stripe | /packages/terminal | Documentation |
Use plugin v8 with Capacitor v8. Install only the packages your app needs:
npm install @capacitor-community/stripe@8
npm install @capacitor-community/stripe-identity@8
npm install @capacitor-community/stripe-terminal@8
npx cap syncFor Capacitor v7, use plugin v7 instead.
Payment and Identity require minSdkVersion = 24. Terminal requires minSdkVersion = 26; set it in android/variables.gradle if you use Terminal. The plugins use compileSdkVersion = 36 and targetSdkVersion = 36 by default.
v8.3.0 updates the Stripe SDKs without requiring a Gradle, Android Gradle Plugin, or Kotlin upgrade from the existing Capacitor 8 setup.
The plugins provide default Stripe SDK versions. Optional overrides in android/variables.gradle are stripeAndroidVersion (Payment), identityVersion (Identity), and stripeterminalCoreVersion, stripeterminalTapToPayVersion, and stripeterminalAppOnDevicesVersion (Terminal). Keep the three Terminal versions aligned, and check upstream compatibility before overriding them:
[!] 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-updateor
% cd ios/App && pod updateThis repository publishes the payment, identity, and terminal workspaces as one npm candidate set. An open, non-draft pull request can publish all three packages to the npm beta dist-tag after its Validation and Package Candidate workflows pass. A repository owner or maintainer must add a comment whose entire body is:
/beta
The request authorizes only the pull request head SHA that existed when the comment was added. Any new commit requires CI to pass again and a fresh owner or maintainer /beta comment. Fork pull requests are supported. A pull request that changes a release-gating workflow cannot be beta-published until those workflow changes land on main.
Beta versions use <base>-beta.pr<PR number>.sha<12-character SHA>. Before publishing begins, the release workflow verifies that the immutable artifact contains exactly @capacitor-community/stripe, @capacitor-community/stripe-identity, and @capacitor-community/stripe-terminal, all at that version. A successful run comments on the pull request with one exact install command for the complete package set. Notification failures cannot invalidate a successful npm publish.
When a pull request is merged into main, the same package set is automatically published to beta only after Validation and Package Candidate succeed for that exact merge commit. Direct pushes to main do not publish a candidate.
Only npm run release creates a release tag. Stable vX.Y.Z tags publish every workspace to npm latest; revision/prerelease tags publish every workspace to next. Neither beta nor next publishing changes the npm latest dist-tag.
| Maintainer | GitHub | Social | Website |
|---|---|---|---|
| Hidetaka Okamoto | hideokamoto | @hide__dev | hidetaka.dev |
| Masahiko Sakakibara | rdlabo | @rdlabo | rdlabo.dev |
Made with contributors-img.
- Demo code is here. Please check the demo code before opening an issue.
- The web demo is hosted here.
| Android | iOS | Web | |
|---|---|---|---|
| PaymentSheet | ![]() |
![]() |
![]() |
| PaymentFlow | ![]() |
![]() |
Screenshot unavailable |
| ApplePay | Not supported | ![]() |
beta. |
| GooglePay | ![]() |
Not supported | ![]() |
| Android | iOS | Web | |
|---|---|---|---|
| Identity | ![]() |
![]() |
![]() |
% git clone git@github.com:capacitor-community/stripe.git
% cd stripe
% npm install && npm run build
% cd demo/angular
% npm install && npm run cap && npx cap update










