Overview
Integrating Stripe within gaiia allows your customers to pay for their invoices by using either a credit card, bank payments using Automated Clearing House (ACH), bank payments using BACS Direct Debit (for UK customers) or bank payments using SEPA Direct Debit (for customers in Europe).
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” or “Sandbox” is not enabled when pulling the necessary information. Please also ensure that you do not point your Stripe test environment to your production instance. gaiia is able to provide a testing instance if you wish to test the webhooks.
IMPORTANT
For customers using ACH through Stripe, the following should be noted:
- There is currently a limit of $999,999.99 USD and a minimum of $0.50 USD per transaction.
- There is a limit of $6K daily or $10K in total transactions per week.
If you need higher limits, please reach out to Stripe support to get these updated.
IMPORTANT
For customers using BACS or SEPA Direct Debit through Stripe, the following should be noted:
- There is currently a limit of 10,000 EUR / 100,000 GBP per transaction.
- There is a limit of 10,000 EUR / 10,000 GBP in total transactions per week.
If you need higher limits, please reach out to Stripe support to get these updated.
IMPORTANT
Depending on which payment methods you are using, it is extremely important to ensure you have the appropriate payment methods also turned on. To do this, please follow the steps below:
- Navigate to Stripe's website
- Click on the
Gearicon in the top right - Select Settings
- Under Payments, locate Payment methods
- Under the Bank Debits section, select Turn on Cards, Turn on ACH Direct Debit (if using), Turn on BACS Direct Debit (if using) or Turn on SEPA Direct Debit (if using).
Steps
A. Prepare your Stripe API keys
- Navigate to Stripe's website
- Click on the Developers button in the lower-left corner
- Select the API keys tab
- In the Standard keys section, click on
Revealnext to the following keys, and copy them in your message:- Publishable key
-
Secret key
-
Toggle the
Test moderadio button in the upper-right cornerNote: Some newer accounts don't have Test mode. Instead, click the account picker in the upper-left corner, then click
Switch to sandbox. - Repeat step 5, those test keys will be used for your gaiia sandbox instance
-
Toggle off the
Test moderadio button in the upper-right corner for your production instanceNote: If you are in a sandbox, click the account picker in the upper-left corner, then click
Exit sandbox.
B. Configuring the webhook
- Select the Webhooks tab
-
Click
Add Destination - 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, located in the UK and need BACS Direct Debit support or located in Europe and need SEPA 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
- Select
Webhook destination -
Set destination URL to: https://6bpu8a02c8.execute-api.us-east-1.amazonaws.com/production/on-stripe-webhook-event?billingSettingsId=
gaiia billing setting IDYour 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
- Confirm by clicking
Add destination -
Copy the webhook Signing secret in your message by clicking
Reveal - Toggle the
Test moderadio button in the upper-right corner, or if you are in a sandbox, click the account picker in the upper-left corner, then clickSwitch to sandbox. - 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
Installbutton - Use the "Select payment type" step to define what type of payments you will support and click the
Nextbutton - On the configuration step, enter all of the details that you captured from the steps above
- Click the
Connectbutton to complete the process
D. Configure Radar rules
To ensure proper fraud prevention and appropriate error handling, navigate to Payments → Radar → Rules and enable the following recommended rules.
These rules reflect gaiia’s recommended baseline configuration. They can be adjusted based on your organization’s risk tolerance and operational needs.
- Enable Allow if payment matches one or more values in default Stripe allow lists
- Enable Block if :risk_level: = 'highest'
- Enable Block if payment matches one or more values in default Stripe block lists
- Enable Block if CVC verification fails
- Enable Block if Postal code verification fails
These rules provide a strong default fraud protection setup and help reduce high-risk or unverifiable transactions, but they can be customized as needed.
Related to