Overview
Integrating Stripe within gaiia allows your customers to pay for their invoices by using either a credit card, bank payment using Automated Clearing House (ACH) or bank payment using BACS Direct Debit (for UK customers).
By default, bank payment will be disabled. To enable them, follow this guide , and then follow these steps: Enable bank payments for Stripe
Additionally, you can also charge a fee to your customers for either credit card or bank payments, check this article: Adding a processing fee for Credit Card and ACH payments
Please Note: Ensure that the “Test mode” is not enabled when pulling the necessary information. Please also ensure that you do not point your Stripe “test mode” environment to your production instance. gaiia is able to provide a testing instance if you wish to test the webhooks.
Steps
A. Prepare your Stripe API keys
-
Navigate to Stripe's website
-
Click on the Developers button in the upper-right corner
-
Select the API keys tab
- In the Standard keys section, click on
Reveal
next to the following keys, and copy them in your message:- Publishable key
- Secret key
- Toggle the
Test mode
radio button in the upper-right corner -
Repeat step 5, those test keys will be used for your gaiia sandbox instance
- Toggle off the
Test mode
radio button in the upper-right corner for your production instance
B. Configuring the webhook
-
Select the Webhooks tab
-
Click
Add endpoint
-
Set Endpoint URL to:
-
https://6bpu8a02c8.execute-api.us-east-1.amazonaws.com/production/on-stripe-webhook-event?billingSettingsId=
gaiia billing setting ID
Your gaiia billing setting ID can be found by navigating to gaiia's Settings (Admin) page > Billing tab > Settings > Currency Settings > scroll down to Other settings
-
-
Click on
Select events
, and select the following events:- charge.dispute.closed
- charge.dispute.created
- charge.dispute.funds_reinstated
- charge.dispute.funds_withdrawn
- charge.dispute.updated
- charge.refund.updated
- customer.source.expiring
- customer.source.updated
- payment_method.automatically_updated
- radar.early_fraud_warning.created
- radar.early_fraud_warning.updated
- source.canceled
-
Optionally, if you are located in the US and need ACH - Direct debit support or located in the UK and need BACS Direct Debit support, also add these events:
- payment_intent.canceled
- payment_intent.succeeded
- payment_intent.payment_failed
- setup_intent.canceled
- setup_intent.setup_failed
- setup_intent.succeeded
- setup_intent.requires_action
- checkout.session.completed
- mandate.updated
-
Confirm by clicking
Add endpoint
-
Copy the webhook Signing secret in your message by clicking
Reveal
- Toggle the
Test mode
radio button in the upper-right corner - Repeat from steps 2 to 7 to configure the sandbox webhook
C. Finishing the process
- Navigate to the Payments page in the left-hand navigation bar
- Select Fraud & Risk
- In Rules, enable Block if CVC verification fails
- Once you have everything you need, navigate to the Integrations page under the Admin section of gaiia
- Under the App directory tab, find the Stripe integration in the list and click the
Install
button - Use the "Select payment type" step to define what type of payments you will support and click the
Next
button - On the configuration step, enter all of the details that you captured from the steps above
- Click the
Connect
button to complete the process
Related to