Skip to content
capacitor-communityPublic

About

Stripe Mobile SDK wrapper for Capacitor

Topics

Resources

Code of conduct

Contributing

Stars

248 stars

Watchers

13 watching

Forks

Latest commit

 

History

1,349 Commits

Folders and files

Repository files navigation


Stripe

Capacitor community plugin for native Stripe.

Documentation: Payments · Identity · Terminal

packages

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

Hint

Versions

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 sync

For Capacitor v7, use plugin v7 instead.

Android requirements

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:

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

Prerelease channels

This 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.

Maintainers

Maintainer GitHub Social Website
Hidetaka Okamoto hideokamoto @hide__dev hidetaka.dev
Masahiko Sakakibara rdlabo @rdlabo rdlabo.dev

Contributors ✨

Made with contributors-img.

Demo

Screenshots

@capacitor-community/stripe

Android iOS Web
PaymentSheet
PaymentFlow Screenshot unavailable
ApplePay Not supported beta.
GooglePay Not supported

@capacitor-community/stripe-identity

Android iOS Web
Identity

How to use Demo

% 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

About

Stripe Mobile SDK wrapper for Capacitor

Topics

Resources

Code of conduct

Contributing

Stars

248 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages