Skip to content

Account and Billing QA: corrected typos, added assets, improved formatting #381

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions docs/accounts-billing/add_tax_id_to_account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
keywords: ['account', 'billing', 'tax', 'vat']
slug: /add-tax-id-to-account
title: Add Tax ID to Account
---

# Add Tax ID to Account

You can add a tax identification number (VAT ID or other tax IDs) to your FlutterFlow account for billing and tax compliance.

:::info[Prerequisites]
- An active FlutterFlow account.
:::

**Steps to Add a Tax ID:**

1. **Send an Email to Support**
Contact FlutterFlow support at [[email protected]](mailto:[email protected]) with the subject line “Add Tax ID to Account”.

2. **Include the Following Information in Your Email:**
- **VAT ID**
- **Company Name**
- **Company Address**

3. **Wait for Confirmation**
The FlutterFlow team will verify your tax information and confirm once it has been added to your account.

:::note
- Tax ID changes only apply to future invoices. Due to Stripe limitations, past invoices cannot be updated.
- Ensure your account name and billing details match your registered business tax records.
:::
52 changes: 52 additions & 0 deletions docs/accounts-billing/check_stripe_payment_status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
keywords: ['fails', 'payment', 'succeeds']
slug: check-stripe-payment-status
title: Check Stripe Payment Status
---

# Check Stripe Payment Status

This article explains how to use output variables in FlutterFlow to determine whether a Stripe payment has succeeded or failed.

:::info[Prerequisites]
- You must have a working Stripe integration in your FlutterFlow project.
- A payment action must be configured in your workflow.
:::

## Understanding Stripe Output Variables

When a Stripe payment is initiated in FlutterFlow, an output variable named `paymentId` is generated by default. This variable holds the ID returned by Stripe after attempting the transaction.

![Stripe paymentId output variable](imgs/20250430121315284187.png)

**Steps to Check Payment Status:**

1. **Access the Output Variable**
In your Stripe payment action, use the output variable `paymentId`.

2. **Use Conditional Logic**
Add a condition to check if `paymentId` is not empty.

- If `paymentId` is not empty, the payment was successful.
- If `paymentId` is empty, the payment failed.

![Checking paymentId is not empty](imgs/20250430121315556496.png)

![Condition block using paymentId](imgs/20250430121315814333.png)

3. **Trigger Conditional Actions**
Based on the result of the payment, check:

- **If Successful**
- Display a confirmation message.
- Navigate to a success screen.
- Update the database or send a confirmation email.

- **If Failed**
- Prompt the user to retry.
- Clear payment input fields.
- Provide feedback to guide the user.

![Example of a successful payment flow](imgs/20250430121316063461.png)

By implementing this logic, you can create a responsive and user-friendly Stripe payment flow in your FlutterFlow app.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/accounts-billing/refund.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ sidebar_position: 4


# Refunds
If you're not happy with your FlutterFlow subscription, you can [cancel at any time](subscriptions/subscriptions.md#cancel-my-plan).
If you're not happy with your FlutterFlow subscription, you can [cancel at any time](/accounts-billing/subscriptions/manage-subscription#cancel-subscription).

However, there are no refunds for cancellation. In the event that the Company suspends or terminates your Account or these Terms, you understand and agree that you shall receive no refund, whether for any unused time on a subscription, any license or subscription fees for any portion of the Service, any content or data associated with your User Account, or for anything else.
96 changes: 96 additions & 0 deletions docs/accounts-billing/revenuecat_integration_troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
keywords: ['testing', 'revenuecat', 'error']
slug: revenuecat-integration-guide
title: Resolve RevenueCat Integration Errors
---

# Resolve RevenueCat Integration Errors

This article outlines common issues encountered during RevenueCat integration and provides steps to ensure correct setup and testing of in-app subscriptions.

:::info[Prerequisites]
- Your app must be registered in RevenueCat.
- A valid FlutterFlow project with RevenueCat integration enabled.
- Subscription products must be set up in Google Play Console and App Store Connect.
:::

**Steps to Set Up and Verify RevenueCat Integration:**

1. Publish App for Store-Based Testing

RevenueCat in-app purchases require apps to be submitted to the app stores.

- Google Play Store

- Create and submit a release via **Google Play Console**.
- Use the **Internal Testing** track for quicker access.
- Upload the APK or App Bundle and submit it for review.
- Ensure testers are added to your internal test track.

- Apple App Store

- Submit the app using **App Store Connect**.
- Use **TestFlight** to test without a full App Store review.
- Ensure the app is built and uploaded using Xcode.

2. **Configure Subscription Products**

- Create unique product identifiers in Google Play Console and App Store Connect.
- Link these products to **Entitlements** and **Offerings** inside RevenueCat.
- Follow the **[RevenueCat Launch Checklist](https://docs.revenuecat.com/docs/launch-checklist)** for detailed setup.

3. **Set Up RevenueCat Dashboard**

- Register your app on the **RevenueCat dashboard**.
- Add product identifiers that match those in the app stores.
- Ensure correct **Entitlements**, **Products**, and **Offerings** are linked.
- Connect app store credentials (API access for App Store Connect, service account for Google Play).

4. **Enable Integration in FlutterFlow**

- Open **Settings & Integrations → RevenueCat** in FlutterFlow.
- Enter the correct **RevenueCat API keys** for both Android and iOS.
- Match the entitlement names and product IDs exactly.

5. **Test in Native Environments Only**

RevenueCat does **not** function in **FlutterFlow Test Mode** or **Run Mode**.

- **Emulator or Simulator Testing**

- **Android**: Use an emulator with Google Play Services and a signed-in tester account.
- **iOS**: Use a simulator with a sandbox Apple ID.

- **Real Device Testing**

- Test in **Google Play Internal Testing** or **TestFlight**.
- This provides the most accurate representation of production environments.

- **Check Logs and Errors**

- Use **TestFlight logs** or **Crashlytics** to debug errors.
- Enable **debug logging** in the `purchases_flutter` plugin for insights.
- Ensure product and entitlement identifiers are consistent.

6. **Common Causes of Integration Errors**

- Mismatched product identifiers between stores, RevenueCat, and FlutterFlow.
- Store credentials not linked or expired in RevenueCat.
- Testing in unsupported environments (e.g., web or preview mode).

:::tip
For best results:
- Keep identifiers consistent across all platforms.
- Test only in environments that reflect production.
- Regularly update the `purchases_flutter` package.
:::

:::note
RevenueCat supports subscriptions only in published or store-signed environments. Web or test mode usage will not simulate purchases correctly.
:::

:::info[Additional Resources]
- [**RevenueCat Integration Docs**](/integrations/payments/revenuecat/)
- [**In-App Subscriptions Using RevenueCat**](https://blog.flutterflow.io/in-app-subscriptions-using-revenue-cat/)
- [**RevenueCat Launch Checklist**](https://docs.revenuecat.com/docs/launch-checklist)
:::
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ You can see how many seats you have used here
### 2. Inviting users to your Team

:::warning
If you add an existing Flutterflow user to your Teams plan, they will need to manually cancel their subscription using these [**instructions**](subscriptions.md#cancel-my-plan). Once this is completed, please reach out to [email protected] or chat to process the refund for any remaining time on your monthly plan. We're working on automating this process soon!
If you add an existing Flutterflow user to your Teams plan, they will need to manually cancel their subscription using these [**instructions**](/accounts-billing/subscriptions/manage-subscription). Once this is completed, please reach out to [email protected] or chat to process the refund for any remaining time on your monthly plan. We're working on automating this process soon!
:::

1. After you've purchased your seats, this will be reflected in the **Seats** section under **My Organization** (example below).
Expand Down
Loading