> For the complete documentation index, see [llms.txt](https://help.peoplevine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.peoplevine.com/products/integrations-overview/setup-stripe.md).

# Stripe — Operator Manual

### Before you begin (Prerequisites)

* **Peoplevine permissions**: You must be an **Administrator** or **Supervisor** to configure payment processors in the Control Panel. See: [How to Manage Users and Permissions](/products/control-panel-overview/admin-overview/manage-roles-permissions.md).
* **Stripe account**: Active Stripe account, toggled from **Test** to **Live** before connecting.
* **Stripe credentials**: **Account ID**, **Live Publishable Key**, and **Live Secret Key** from the Stripe Dashboard.
* **Payment processor slot**: Decide which slot Stripe will fill (Default, Dues, POS, PMS, Spa, or Additional). See: [How to Link a Payment Processor](/products/control-panel-overview/admin-overview/link-payment-processor.md).

> For the complete setup guide including Stripe account creation, country selection, bank account configuration, and multi-account considerations, see [Connect Stripe and Peoplevine](https://docs.peoplevine.com/peoplevine-docs/peoplevine-connect) in Peoplevine Connect.

***

### Setup

1. Navigate to [**Settings > Integrations > Integrated Platforms**](https://control.peoplevine.com/admin_authenticate.aspx).

> **Note (Pro Dash):** **Settings & Tools > Integrated Platforms**.

2. In the **Payment Processors** section, select **Stripe**.
3. On the Stripe Authentication page, click **CONNECT**. You are redirected to Stripe Connect.
4. Sign in with your Stripe account credentials. If you have multiple Stripe accounts, select the one intended for Peoplevine.
5. Authorize the connection. You are redirected back to Peoplevine.
6. Navigate to [**Settings > Integrations > Payment Processors**](https://control.peoplevine.com/admin_processors.aspx).

> **Note (Pro Dash):** **Settings & Tools > Payment Processors**.

7. Locate the Stripe connection and click **EDIT**.
8. In the **Activate a Payment Processor** section:
   * Select the processor slot (e.g., **Default Payment Provider**).
   * Set the processor type to **Stripe (v2)**.
   * Enter your **Live Publishable Key**, **Live Secret Key**, and **Account ID**.
   * Select accepted credit card types.
   * Enter your **statement descriptor** (the company name that appears on customer billing statements).
   * Under Accepted Payment Types, confirm **Credit Card Payments** is selected.
   * Enable **Global Payments** if your business operates across a connected global network.
9. Click **CONNECT PROCESSOR**.

***

### Day-to-Day: Finance

#### How Stripe transactions appear in Peoplevine

| What you see                                             | What it means                                                           |
| -------------------------------------------------------- | ----------------------------------------------------------------------- |
| **PV payment on file** + PI\_ ID                         | Card-on-file charge processed through Peoplevine → Stripe               |
| Payment ID formatted as `pi_...` / `stripev2-###`        | Stripe Payment Intent ID on the transaction record                      |
| Payment method description, e.g. "asdfsf (stripev2-865)" | Tokenized card saved on the CRM profile with Stripe processor reference |

#### Refunds

* Refunds initiated in Peoplevine are automatically sent to Stripe on the associated payment.
* For full, partial, and cross-processor refund procedures, see [How to Process a Refund](/products/control-panel-overview/refunds-adjustments-overview/process-refund.md).

#### Void rules (POS-integrated charges)

* **Void before end-of-day**: The POS sends the void → Peoplevine voids the transaction. If a new payment is taken, Peoplevine creates a new transaction.
* **Void after end-of-day**: Once end-of-day is complete on the terminal, payment manipulation through the normal void flow is not possible. A post-EOD void creates a new order number not linked to the original, so Stripe will not process a refund.
* **Post-EOD workaround**: Issue a gift card to the member instead of attempting a Stripe refund.

#### Force Payment and processor slot routing

* Peoplevine supports multiple Stripe processors on one account — you can assign different Stripe accounts to different slots (e.g., one for dues, another for F\&B).
* Enable **Force Payment** on a slot to direct all payments of that type to a single processor. Without Force Payment, there is always a chance a transaction routes through the **Default** processor instead of the slot-specific one.
* **Caution with Force on GoCardless/ACH**: If Force is enabled on a GoCardless processor set to Membership Billing, the system will attempt to route ALL membership billing charges through GoCardless — including members who only have a credit card on file. Those charges will fail. Only enable Force when every member in that billing category has a compatible payment method.
* Open question (unresolved): whether the Member Portal recognises processor type or always routes through the default processor.
* If Peoplevine Virtual POS is used for ad-hoc items (e.g., valet parking), those charges process through the F\&B/POS processor.
* See: [How to Link a Payment Processor](/products/control-panel-overview/admin-overview/link-payment-processor.md).

#### Tokenized cards (sync from Stripe)

* Tokenized credit cards stored in Stripe can be imported into Peoplevine CRM profiles via the Stripe processor **Edit** page, by selecting a start and end date and initiating the sync. The import runs in the background.
* Imported cards may not immediately attach to existing subscriptions — linkage typically occurs on the next billing cycle.
* See [Connect Stripe and Peoplevine](https://docs.peoplevine.com/peoplevine-docs/peoplevine-connect) for full detail.

#### Reconciliation

For matching Peoplevine transactions to Stripe bank payouts (Batch ID, Matched On, Payment Intent ID), see [How to Reconcile Transactions with Stripe](/products/control-panel-overview/reports-overview/reconcile-stripe.md).

***

### Troubleshooting

**Payments splitting between two bank accounts:** If two Stripe accounts are connected under [**Settings > Integrations > Integrated Platforms**](https://control.peoplevine.com/admin_authenticate.aspx) (listed in the "Your Integrations" section), payments may route to different bank accounts. Navigate to the Integrated Platforms page, scroll to "Your Integrations," and delete the old Stripe connection. Only one Stripe account should be listed as the active processor.

**Transactions show different statuses in Stripe and Peoplevine:** Use the Transaction Resync with Stripe feature to reconcile status when a payment is declined in Stripe but shows processed in Peoplevine (or vice versa). See [How to Link a Payment Processor](/products/control-panel-overview/admin-overview/link-payment-processor.md).

**Portal payments routing to the wrong processor:** When multiple Stripe processors are configured, Member Portal payments may route through the default processor rather than the slot-specific one. Verify that **Force Payment** is enabled on the dues processor if membership charges must always go to a specific Stripe account.

**AMEX (or other cards) declined with "requires authentication":** 3DS authentication challenges are being triggered on cards added before the Stripe SDK 3DS auth flow was implemented. Retrying will not fix it. The member must remove the old card and re-add it through the portal or a payment form that supports 3DS.

**Payment form errors on multi-page applications:** Stripe tokenizes on page load. If the payment capture question is on page 1, tokenization may fire before the CRM record is created, causing an error. Place the payment capture on the final page of the form.

**Void fails after end-of-day (POS-integrated charges):** See "Void rules" above — issue a gift card as the workaround.

**Decline with "Only Stripe Connect platforms can work with other accounts":** This error appears on transactions routed through an integration (e.g., Book4Time spa charges) when the Stripe account is not configured as a Stripe Connect platform, or the `client_id` parameter is incorrect. Contact Peoplevine Support to verify the Stripe Connect setup for the affected integration.

**Switching Stripe accounts (saved payment methods do not migrate):** Stripe can migrate saved payment methods between Stripe accounts through their migration process, but the migrated cards are recreated under new Stripe customer and payment method IDs. Peoplevine cannot automatically recognise them as the same saved cards already linked to member profiles. There is currently no automated mapping or re-association process — members would need to re-add their payment methods after a Stripe account switch.

***

### Best Practice

* **One Stripe account per country** — your Stripe account country must match your legal entity and bank account country. Multi-country businesses need separate Stripe accounts per jurisdiction. Once activated, the country cannot be changed.
* **Multiple Stripe processors are supported** — assign different Stripe accounts to different slots (e.g., one for dues, another for F\&B). Enable **Force Payment** on the dues slot to ensure all subscription charges route to the correct processor.
* **Payment forms: put payment capture on the last page** — Stripe tokenizes on page load, so placing payment on page 1 causes errors if the CRM record has not been created yet.
* **Switch from Test to Live before connecting** — transactions will not process if the Stripe Dashboard is still in Test mode.

*Last updated: 2026-05-24*


---

# 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://help.peoplevine.com/products/integrations-overview/setup-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.
