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.

Go to https://community.beabee.io/callouts/stripe-details. You can use this callout to send us the Stripe information we need from you at the end. Once you have opened the callout, log into your Stripe account in another tab.

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 callout.

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 callout.

7. Create a new secret API key.

8. Give it the name "beabee live".

9. Copy the secret API key and paste it into the callout. This token should be kept secret and sent to the team securely, anyone who has it could create payments on your account.

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

  1. Submit the filled callout.

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