Skip to main content

Connecting to Stripe & GoCardless (Payment Settings)

Connect your payment providers so you can take card payments, digital wallet payments and Direct Debits through GoodCRM.

Written by Tom Cowle

Before you start

GoodCRM works with two payment providers:

  • Stripe: card payments and digital wallets such as Apple Pay and Google Pay

  • GoCardless: Direct Debits

You'll need your own account with Stripe and GoCardless.

Connecting each provider has two parts:

  1. Keys or tokens let GoodCRM create payments in your account.

  2. A webhook lets your provider tell GoodCRM when a payment succeeds or fails. Without it, payments won't show up correctly in GoodCRM.

šŸ“ Note: You need admin access to GoodCRM to change payment settings.


Open your Payment Settings

  1. Choose Tools & Settings from the top-right menu.

  2. Under System settings, click Payment settings.

The top of the page has a checklist showing what's connected. Each item gets a tick once it's set up:

  • Stripe is connected (card payments)

  • Digital wallets are enabled

  • GoCardless is connected (Direct Debit)

  • GoCardless webhook is set up

  • Stripe webhook is set up

Testing mode

If you've entered test keys generated by Stipe or GoCardless' own 'test mode', a Test Credentials panel reminds you that you're in test mode. In test mode you can pay with the card 4242 4242 4242 4242, with any future expiry date and any CVC, and you won't be charged. When you're ready to go live, replace your test keys with your live keys and set up the webhooks again in live mode.


Linking your GoCardless account

Connect GoCardless (Direct Debit)

šŸ’” Tip: Log in to your GoCardless account in another tab before you start.

Step 1: Create an access token

An access token lets GoodCRM read and write information in your GoCardless account.

  1. In the GoCardless Access Token panel in GoodCRM, click the Click here link. This opens the GoCardless dashboard.

  2. Give the token a name, such as GoodCRM.

  3. Set the scope to Read-write access.

  4. Click Create access token, then click Copy.

  5. Back in GoodCRM, paste the token into GoCardless Access Token.

Step 2: Create a GoCardless webhook

  1. In the GoCardless Webhook panel in GoodCRM, click the Click here link.

  2. In GoCardless, name the webhook GoodCRM.

  3. For the URL, use the notifications address shown on your GoodCRM settings page. It looks like https://<your-crm-address>/subscriptions/notifications.

  4. Leave Secret blank and leave Webhook client certificate unticked.

  5. Click Create webhook endpoint.

  6. Click the new webhook in the GoCardless list to open it, and copy its secret.

  7. In GoodCRM, paste it into GoCardless Webhook Secret box.

Remember to click Save when you've completed all steps to update your settings.


Connect Stripe (card payments and digital wallets)

šŸ’” Tip: Log in to your Stripe dashboard in another tab before you start.

Step 1: Add your Stripe API keys

  1. In the Stripe Access Tokens panel in GoodCRM, click the click here link to open your Stripe API keys.

  2. Check you're in live mode, not a sandbox or test mode, unless you're setting up for testing.

  3. Copy your Publishable key and paste it into Stripe Publishable Key box in GoodCRM.

  4. Under Secret key, click Reveal live key, copy it and paste it into Stripe Secret Key box in GoodCRM.

āš ļø Be careful: Your secret key gives full access to your Stripe account. Only paste it directly into GoodCRM. Never share it by email or chat.

Step 2: Create a Stripe webhook

The webhook lets Stripe tell GoodCRM when a recurring payment succeeds or fails.

  1. Log in to Stripe. To go live, check you're in live mode, not a sandbox or test mode.

  2. Open Workbench → Webhooks (dashboard.stripe.com/webhooks) and click Add destination.

3. Next, select Your account as the Event destination scope.

4. For the payload format, choose Snapshot. For API version, choose your account's default version.

5. Under events, select invoice.payment_succeeded and invoice.payment_failed.

6. Click Continue, choose Webhook endpoint, then click Continue again.

7. Copy and paste in the Endpoint URL from your GoodCRM payment settings. It should look something like: https://<your-crm-address>/subscriptions/stripe-notifications. Add a description such as GoodCRM.

8. Create the destination. On its page, click Reveal secret and copy the signing secret. It starts with whsec_.

9. In GoodCRM, go to Tools & Settings → Payment settings, paste it into Stripe Webhook Secret and click Save. A green tick appears once it's saved.

Click Save to save your payment settings. You should then see all items marked as completed on your Payment Settings page:


Did this answer your question?