Set up payment provider

Overview

beabee integrates with Stripe for recurring payments. New payments, updates and cancellations are synced from Stripe to beabee so community organisers can track the revenue from their community. Emails such as payment failed and expired payment methods are automatically sent.

Setup

Before you get started, it is important to note that beabee does not collect payments from your community and then pay them out to you, but connects your own Stripe account to the software. To start setting up Stripe for beabee, you must first set up an account on www.stripe.com. In order to make payments, the account must be verified, i.e. all the necessary information (e.g. your account details) must be stored. Once your account is ready, you can start setting it up.

In your onboarding checklist in Google Drive, you’ll find a table under Onboarding > Payment Service Provider Linked containing all the necessary information. At the end of the process, enter all relevant data into the table.

We now need to create a product, API key and webhook inside Stripe. This is the step-by-step guide. Let's do this:

1. Add a new product

2. Give it a name (e.g. Membership), remove the price information and save it.

3. Copy the product ID and put it into the table.

4. Add a new webhook endpoint.

5. Enter the endpoint URL. It consists of the URL for your beabee instance and the addition "/webhook/stripe" (for example https://community.beabee.io/webhook/stripe). Use "beabee live" as the description. Then click on "Select events" to define which events should be synchronised with beabee. Fill in all those events and click on „Add endpoint":

  • customer.deleted

  • customer.subscription.updated

  • customer.subscription.deleted

  • invoice.created

  • invoice.paid

  • invoice.updated

  • payment_method.detached

6. Reveal the webhook signing secret, copy it and put it into the table.

7. Create a new secret API key.

8. Give it the name "beabee live".

9. Copy the secret API key and send it to the beabee team. Important: This token must be kept strictly confidential. Anyone with access to it can set up payments on your Stripe account. For this reason, do not use a Google Doc to share the key. Instead, use Onetime Secret to transmit the information securely. There, you can generate a secure link containing the key, which you can then send to the beabee team via email. The link can only be opened once.

10. Copy the publishable API key and paste it into the table.

  1. Make sure that the information from the table is saved in Google Drive.

12. (Optional) Configure how you want subscriptions to handle things like failed payments

13. We recommend marking subscriptions as unpaid if a payment fails as this means Stripe will continue to try to bill a user next month.

Emails

Stripe can automatically send emails for certain events, or beabee can handle sending them (to do). If you are using Stripe you should add your domain to your Stripe account.

Stripe email settings can be found here:

General emails

  • One-off payment successful

  • Recurring payment successful

  • Payment failed

  • Payment method expiring

Bacs direct debit emails

The Bacs direct debit scheme has specific requirements for emails:

  • Confirmation of sign up: Sent when payment details are initially setup

  • Advanced notice of payment: sent two days before a payment. If the amount and period don't change this is not necessary

  • The above can be combined into one email if the initial payment is within a month

Stripe has specific requirements for allowing customers to handle their own emails, you can find more details here: https://stripe.com/docs/payments/bacs-debit/email-customization#approval-process

SEPA direct debit emails

The SEPA direct debit scheme has specific requirements for emails:

  • Advanced notice of payment: must be sent for all payments

There are specific requirements for these emails, you can find more details here: https://stripe.com/docs/payments/sepa-debit#debit-notification-emails

Last updated