You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Description**: Controls access to paid content by syncing your subscriptions with Firebase Authentication.
5
+
**Description**: Controls access to paid content by syncing your one-time and recurring payments with Firebase Authentication.
6
6
7
7
8
8
@@ -27,15 +27,25 @@ The design for Stripe Checkout and the customer portal can be customized in your
27
27
28
28
#### Recommended usage
29
29
30
-
If you're building on the web platform, you can use this extension for any of your payment use cases.
30
+
If you're building on the web platform, you can use this extension for any of your payment use cases.
31
+
32
+
If you're developing native mobile applications and you're selling digital products or services within your app, (e.g. subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use the app store's in-app purchase APIs. See [Apple's](https://developer.apple.com/app-store/review/guidelines/#payments) and [Google's](https://support.google.com/googleplay/android-developer/answer/9858738?hl=en&ref_topic=9857752) guidelines for more information.
33
+
34
+
For all other scenarios you can use the [stripe-android](https://github.com/stripe/stripe-android), [stripe-ios](https://github.com/stripe/stripe-ios), [stripe-react-native](https://github.com/stripe/stripe-react-native), or [flutter_stripe](https://github.com/flutter-stripe/flutter_stripe) SDKs.
35
+
36
+
#### Client SDK
37
+
31
38
You can use the [`@stripe/firestore-stripe-payments`](https://github.com/stripe/stripe-firebase-extensions/blob/next/firestore-stripe-web-sdk/README.md)
32
39
JavaScript package to easily access this extension from web clients. This client SDK provides
33
40
TypeScript type definitions and high-level convenience APIs for most common operations client
34
41
applications would want to implement using the extension.
35
42
36
-
If you're developing native mobile applications and you're selling digital products or services within your app, (e.g. subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use the app store's in-app purchase APIs. See [Apple's](https://developer.apple.com/app-store/review/guidelines/#payments) and [Google's](https://support.google.com/googleplay/android-developer/answer/9858738?hl=en&ref_topic=9857752) guidelines for more information.
43
+
Use a package manager like NPM to install the above package, and use it in conjunction with
44
+
the Firebase Web SDK.
37
45
38
-
For all other scenarios you can use the [stripe-android](https://github.com/stripe/stripe-android), [stripe-ios](https://github.com/stripe/stripe-ios), [stripe-react-native](https://github.com/stripe/stripe-react-native), or [flutter_stripe](https://github.com/flutter-stripe/flutter_stripe) SDKs.
46
+
### Events
47
+
48
+
This extension emits events, which allows you to listen to and run custom logic at different trigger points during the functioning of the extension. For example you can listen to events when a product has been added via the `product.created` event, or whenever a payment has succeeded through the `invoice.payment_succeeded` event.
39
49
40
50
#### Additional setup
41
51
@@ -56,11 +66,13 @@ This extension uses the following Firebase services which may have associated ch
56
66
57
67
- Cloud Firestore
58
68
- Cloud Functions
69
+
- Cloud Secret Manager
59
70
- Firebase Authentication
71
+
- If you enable events [Eventarc fees apply](https://cloud.google.com/eventarc/pricing).
60
72
61
73
This extension also uses the following third-party services:
- Stripe Billing (when using subscriptions. [pricing information](https://stripe.com/pricing#billing-pricing))
65
77
66
78
You are responsible for any costs associated with your use of these services.
@@ -81,13 +93,17 @@ Starting August 17 2020, you will be billed a small amount (typically less than
81
93
82
94
* Customer details and subscriptions collection: What is the path to the Cloud Firestore collection where the extension should store Stripe customer details? This can be the location of an existing user collection, the extension will not overwrite your existing data but rather merge the Stripe data into your existing `uid` docs.
83
95
96
+
* Stripe configuration collection: What is the path to the Cloud Firestore collection where the extension should store Stripe configuration?
97
+
84
98
* Sync new users to Stripe customers and Cloud Firestore: Do you want to automatically sync new users to customer objects in Stripe? If set to 'Sync', the extension will create a new customer object in Stripe and add a new doc to the customer collection in Firestore when a new user signs up via Firebase Authentication. If set to 'Do not sync' (default), the extension will create the customer object "on the fly" with the first checkout session creation.
85
99
86
-
* Automatically delete Stripe customer objects: Do you want to automatically delete customer objects in Stripe? When a user is deleted in Firebase Authentication or in Cloud Firestore and set to 'Auto delete' the extension will delete their customer object in Stripe which will immediately cancel all subscriptions for the user.
100
+
* Automatically delete Stripe customer objects: Do you want to automatically delete customer objects in Stripe? When a user is deleted in Firebase Authentication or in Cloud Firestore and set to 'Auto delete' the extension will delete their customer object in Stripe which will immediately cancel all subscriptions for the user.
101
+
102
+
* Stripe API key with restricted access: What is your Stripe API key? We recommend creating a new [restricted key](https://stripe.com/docs/keys#limit-access) with write access only for the "Customers", "Checkout Sessions" and "Customer portal" resources. And read-only access for the "Subscriptions" and "Prices" resources.
87
103
88
-
* Stripe API key with restricted access: What is your Stripe API key? We recommend creating a new [restricted key](https://stripe.com/docs/keys#limit-access) with write access only for the "Customers", "Checkout Sessions" and "Customer portal" resources. And read-only access for the "Subscriptions" and "Prices" resources.
104
+
* Stripe webhook secret: This is your signing secret for a Stripe-registered webhook. This webhook can only be registered after installation. Leave this value untouched during installation, then follow the postinstall instructions for registering your webhook and configuring this value.
89
105
90
-
*Stripe webhook secret: This is your signing secret for a Stripe-registered webhook. This webhook can only be registered after installation. Leave this value untouched during installation, then follow the postinstall instructions for registering your webhook and configuring this value.
106
+
*Minimum instances for createCheckoutSession function: Set the minimum number of function instances that should be always be available to create Checkout Sessions. This number can be adjusted to reduce cold starts and increase the responsiveness of Checkout Session creation requests. Suggested values are 0 or 1. Please note this setting will likely incur billing costss, see the [Firebase documentation](https://firebase.google.com/docs/functions/manage-functions#reduce_the_number_of_cold_starts) for more information.
0 commit comments