> For the complete documentation index, see [llms.txt](https://acoservice.gitbook.io/acoservice-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acoservice.gitbook.io/acoservice-documentation/setting-up-your-tenant/stripe.md).

# Setting up Stripe

Take member payments via card. Optional but recommended.

Stripe handles card payments. You can launch without it (Zelle-only) and add it later — but if you want to take cards, set it up now.

## Step 1 — Create the Stripe account

1. Go to [dashboard.stripe.com/register](https://dashboard.stripe.com/register).
2. Sign up with the email you want associated with the business.
3. Stripe will ask for business details (name, country, EIN/SSN if US, bank account). Fill these out — you can use your personal name and SSN if you're solo, or a registered business if you have one.
4. Verify your email and phone.

{% hint style="info" %}
You can complete payments in **test mode** before finishing the business verification. Use test mode while you're getting set up, then switch to live keys once Stripe approves you.
{% endhint %}

## Step 2 — Get your API keys

1. In the Stripe dashboard, look for the **Developers** menu (sometimes in the top nav, sometimes in the left).
2. Click **API keys**.
3. You'll see two keys at the top:
   * **Publishable key** — starts with `pk_test_…` in test mode or `pk_live_…` once live.
   * **Secret key** — starts with `sk_test_…` or `sk_live_…`. Click **Reveal test key** (or live) to copy.

{% hint style="warning" %}
**The Secret key is sensitive** — anyone with it can charge cards on your account. Store it in a password manager, never paste it into a public chat or commit it to git. ACOService encrypts it at rest the moment you save it.
{% endhint %}

## Step 3 — Use test keys until you're ready

While testing your tenant setup, **use test mode keys** (`pk_test_…` and `sk_test_…`). You can run fake payments through Stripe's test cards:

* Successful card: `4242 4242 4242 4242`
* Card declined: `4000 0000 0000 0002`
* Any future expiry, any 3-digit CVV, any ZIP.

When you're ready to take real money:

1. Complete Stripe's full business verification (banking, ID).
2. Toggle the dashboard from **Test mode** to **Live mode** (top-right toggle).
3. Re-grab your **live keys** (`pk_live_…`, `sk_live_…`).
4. Update your tenant settings with the live keys (`/admin/settings`).

## Step 4 — What you walk away with

Two keys, ready to paste into ACOService:

* **Publishable key**
* **Secret key**

You'll see them again in [What to give the platform admin](/acoservice-documentation/running-your-aco/onboarding-info.md) and in `/admin/settings` after your tenant is created.

## Refunds, disputes, and reporting

Once Stripe is wired up:

* All payment activity (success, refund, dispute) is visible in the Stripe dashboard at [dashboard.stripe.com/payments](https://dashboard.stripe.com/payments).
* ACOService doesn't currently issue refunds from inside the admin panel — handle them in the Stripe dashboard. The bot won't auto-flip a refunded entry back to "unpaid"; you'll need to add a manual negative tab entry to balance.
* Disputes go straight to the Stripe dashboard. Respond there.

{% hint style="success" %}
**Next:** [What to give the platform admin](/acoservice-documentation/running-your-aco/onboarding-info.md).
{% 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://acoservice.gitbook.io/acoservice-documentation/setting-up-your-tenant/stripe.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.
