> For the complete documentation index, see [llms.txt](https://dotstudios.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dotstudios.gitbook.io/documentation/connecting-stripe-payments-using-stripe-plugin.md).

# Connecting Stripe Payments using Stripe Plugin

The following instruction consists of two parts: [**Stripe Dashboard**](/documentation/connecting-stripe-payments-using-stripe-plugin.md#stripe-dashboard), and [**Connecting Stripe Plugin**](/documentation/connecting-stripe-payments-using-stripe-plugin.md#connecting-stripe-plugin) within your Bubble editor.&#x20;

You can also check the [**Using Stripe Plugin**](/documentation/connecting-stripe-payments-using-stripe-plugin.md#using-stripe-plugin) section to learn about its available features.

## Stripe Dashboard <a href="#stripe-dashboard" id="stripe-dashboard"></a>

1\. Go to [stripe.com](https://stripe.com/) and register as a developer account.

2\. Verify your email address and then [activate your account](https://stripe.com/docs/account), in order to be allowed to access your dashboard and accept live payments.

3\. Go to **Developers -> API keys** to grab your keys.

For `Publishable key`, just click on it to copy. Save it somewhere as you'll need it later on.&#x20;

For `Secret key`, press to reveal the key token. Save it somewhere as you'll need it later on.

4\. Enable the **Connect** feature in your Stripe Dashboard. Go to **Connected accounts** tab, complete all the steps to register your platform and press Continue.

{% hint style="info" %}
**Note:** In order to register the platform, the account should be **activated**. However, for Test mode there is no need to activate the account.
{% endhint %}

Get started with Connect and select the **Platform or marketplace** option.

5\. Go to **Settings -> Connect -> Settings**.

6\. Scroll down to locate the **Integration** section.\
Copy the `Client ID`. Save it somewhere as you'll need it later on.

7\. Copy the following URI:

```
https://bubble.io/poststripeauth
```

And add it to your **Redirects URI** tab as a Default URI, here:

![](/files/-MaPyoT4kbWRtgLuwGmF)

{% hint style="info" %}
**Note**: With [Stripe Connect](https://stripe.com/docs/connect) you can process payments from customers, transfer money to and from connected accounts, and pay out funds to bank accounts and debit cards.

Connect is a flexible combination of features designed to support a wide range of use cases:

* Crowdfunding services
* E-commerce platforms
* Marketplaces
  {% endhint %}

{% hint style="info" %}
**Note**: [Stripe Checkout](https://stripe.com/docs/payments/checkout) is the complete checkout experience. A prebuilt Stripe payments page with customi**z**able branding. Used for making One-time Payments or Recurring Payments.
{% endhint %}

Here, you are all set up so far.

{% hint style="success" %}
**Congrats!** You have successfully configured the Stripe Dashboard. Now, you can configure the plugin in your Bubble app.
{% endhint %}

## Connecting Stripe Plugin

1\. Go to **Plugins** Tab within your Bubble editor, and install the native **Stripe** plugin.

{% hint style="info" %}
**Note:** If you are using one of our [templates](https://zeroqode.com/templates), the Stripe plugin has already been installed. You just need to configure it.
{% endhint %}

2\. Paste the obtained `Client ID`, `Secret key` and `Publishable key` from your Stripe Dashboard.&#x20;

You can also manage additional settings like **Image** and **Name** for your Stripe Checkout.

{% hint style="warning" %}
**Note:** Ensure to use **Live** **API Keys** when your application goes live. To obtain Live API Keys, the account should be **activated**.
{% endhint %}

{% hint style="info" %}
**Tip**: Genuine card information cannot be used in test mode. Instead, use test [Stripe cards credentials](https://stripe.com/docs/testing#cards).
{% endhint %}

{% hint style="success" %}
**Congrats!** You have successfully configured the Stripe plugin. Now, you can test the payments in your Bubble app.
{% endhint %}

## Using Stripe Plugin

### **Charge the current user**

This action charges the current user and prompts them to enter their credit card information.

### **Register the user as a seller**

This action enables users to become merchants on your platform. For example, if you want to build a marketplace where users can sell their work to someone else, then they need to be able to credit their account when a transaction occurs.

### **Collect the user's CC information**

This action prompts the user to enter their credit card information without actually charging the card.

### **Charge a user using saved CC**

This action charges a user that has already entered the credit card information. It does not have to be the current user in this case.&#x20;

{% hint style="info" %}
**Tip:** If no credit card information is available, the action will fail.
{% endhint %}

### **Subscribe the user to a plan**

This action subscribes a user to a plan, which was previously defined in Stripe. Then, the card will be charged on a regular basis.&#x20;

{% hint style="info" %}
**Tip:** If the user is already on a plan, their subscription will be updated to the new plan. If the user fails to enter their credit card information, the workflow will stop running.
{% endhint %}

{% hint style="warning" %}
**Note:** Since the app has two versions - Development and Live - you need to have both versions of your account in Stripe to have the same plans with the same IDs.
{% endhint %}

{% hint style="success" %}
Learn more about Stripe actions [here](https://bubble.io/reference#Plugins.stripe).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dotstudios.gitbook.io/documentation/connecting-stripe-payments-using-stripe-plugin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
