Stripe is the credit card payment processor for CommunitySuite, enabling organizations to accept online donations and ticket purchases through the Giving Hub and to process credit card payments entered manually by staff. Stripe terminals are also compatible for taking donations and processing transactions at events.
Who: Finance and accounting teams responsible for configuring payment processing, accepting online donations, and managing Stripe transactions in CommunitySuite.
When to Use Stripe
Use Stripe in CommunitySuite to:
- Accept online donations or event ticket purchases through the Giving Hub.
- Manage recurring donations.
- Investigate missing or unpaid online donations.
- Reconcile bank accounts to verify that Stripe transactions match deposits in CommunitySuite.
Stripe Setup Overview
When the Stripe Payment Method is enabled, CommunitySuite can accept online donations and ticket purchases via the Giving Hub and by manual entry into the system. If a Stripe terminal is set up, then payments can be accepted through that device as well.
Visit Stripe to set up an account. After a Stripe.com account has been set up, the webhooks can be linked with your CommunitySuite site.
After your CommunitySuite site is linked to Stripe as your credit card payment processor, the software can automatically record Stripe donations and the fees. Staff can also enter a one-time or monthly credit card donation by creating a donation and choosing Stripe as the payment method.
It is recommended best practice to reconcile the CommunitySuite Stripe Account monthly within CommunitySuite using the Bank Reconcile functionality. This is the best way to find mistakes, extra fees, chargebacks, and any other issues that could arise with the integration. Stripe has pre-built reports that are similar to bank statements that can be used to help facilitate this process. The following Stripe article highlights the available reports: Balance Summary Report.
Stripe has a payment method called Link, and it is automatically enabled for all new Stripe.com accounts. Recurring donations will not process in CommunitySuite if Link is enabled in Stripe. It is recommended to disable this in Stripe. Link is located within Stripe's product settings in the payments section. Selecting Link from the payment methods list will provide the option for turning it off.
Create a Stripe Account
To create a Stripe account in CommunitySuite:
- Navigate to the Accounts page and click Create in the left-side menu.
-
Create a new account with the applicable information to set it up as a Stripe account.
- Account Number - STRIPE
- Account Name - Stripe Holding Account - DO NOT TRANSFER
- Account Description - Holding Account for Stripe Transactions - DO NOT TRANSFER from this Account
- Account Type - Bank
-
Manage Cash - Yes
Stripe Payment Method and Payment Processor Setup
To accept donations through Stripe, Stripe needs to be set up as both a payment processor and a payment method within CommunitySuite. One Stripe payment processor can be created in the system.
Payment Method Setup
To set up Stripe as a payment method in CommunitySuite:
- Navigate to the Payment Processors page and click Payment Methods in the left-side menu.
- Click Create in the left-side menu.
- Complete the applicable Payment Method information, and then click Save.
- Name - Stripe
- Processor - Stripe
-
Allow Public Donations - Yes
Payment Processor Setup
If a Stripe Payment Processor is already created in your Live site, skip ahead to the Edit Stripe Payment Processor section.
To create a new Stripe payment processor in CommunitySuite:
- Navigate to the Payment Processors page, and then click Create in the left-side menu.
- Click Stripe as the Payment Processor.
- Complete the applicable Add Payment Processor information, and then click Create.
- Processor Name - Stripe Payment Processor
- Live Secret Key and Live Publishable Key - The keys are available on the account linked with Stripe on Stripe's website. Live Secret Key and Live Publishable Key are required fields.
Edit Stripe Payment Processor
To edit the Stripe payment processor and assign the required accounts:
- Navigate to the Payment Processor page and click the Stripe payment processor.
- Click Edit in the left-side menu.
- Complete the applicable Payment Processor information, and then click Save.
- Use the Payment Processor Field Descriptions section below to see a definition of each field while in edit view.
If Stripe webhooks are not yet enabled, setup can now be completed in the Stripe Config area that appears in the left-side menu after clicking Save. The Stripe Webhooks section below details this setup.
Payment Processor Field Descriptions
Cash Receipt Account - This is a required field. Assign the Stripe bank account used for clearing transactions.
- This is generally named Stripe.
Deposit Account - This is a required field. Select the checking account linked to the Stripe.com account on Stripe's website.
Stripe Email Receipts - If checked, Stripe sends a payment confirmation; the content of this email can be customized in Stripe.
- This is not a tax receipt. CommunitySuite generates a tax receipt based on the tax receipt templates.
- Delivery method is determined by the Auto Tax Receipt setting in Donations Settings.
Process Non-CommunitySuite Stripe Transactions - If checked, Stripe transactions from the same Stripe account used for the Giving Hub that are not initiated through the Giving Hub will automatically create profile payments in CommunitySuite.
- These payments need to have a profile, fund, and invoice or donation assigned manually.
- The profile data imported as a result of these transactions can be miscellaneous; it is recommended to review the profile data to ensure it meets data quality standards or assign the profile manually.
Configure Stripe Preferences
After Stripe has been added as a Payment Method and Payment Processor, the next step to ensuring it is properly set up for your organization is to examine the Stripe Preferences in Portal Options Settings and the dedupe settings in Profile Settings.
Portal Options Settings
Cover CC Fee Percent - A percent that allows donors to ‘net up’ their donation to help absorb the cost of the fee that Stripe charges to process the donation.
- This will not always exactly offset the exact fee that Stripe charges, because that varies based on the type of credit card the donor uses. If the exact fee is more than the percentage set, the CC Fee Fund will absorb the excess fee. If the exact fee is less than the percentage set, the CC Fee Fund will receive a credit for the difference.
- It is recommended to leave this percentage at about 3%.
CC Fee Fund - This determines which fund is charged the exact fees assessed by Stripe and also to receive the ‘net up’ donations should the donors choose this option. If a fund is not set here, the fund receiving the donation will also receive the ‘net up’ donation and be assessed the exact fee.
Profiles Settings
Before setting up any Stripe webhooks, Profile Settings should be examined to ensure profiles are not duplicated when a transaction is processed. The dedupe settings should be changed to match any Stripe setup to ensure profiles are correctly linked to new transactions; otherwise, new profiles that do not match any current profiles are created instead.
Stripe Webhooks Setup
CommunitySuite uses Stripe webhooks to process and record payments made from the CommunitySuite Giving Hub, import other Stripe transactions that are not made through the Giving Hub, and to initiate the real-world transfer of money from Stripe to a bank account.
Stripe webhooks only apply to Live sites; they do not apply to Sandbox sites.
Enable Webhooks
A user must have Stripe Config permission to view or edit Stripe webhooks.
To enable Stripe webhooks in CommunitySuite, log into your Stripe account to access the publishable and secret keys before beginning these steps:
- Navigate to the Payment Processors page.
- Click Stripe.
- Click Stripe Config in the left-side menu.
- Click Edit in the left-side menu.
- Paste the copied publishable key from Stripe into the Live Publishable Key field. Make sure there are no leading or trailing spaces before or after the key.
- It is recommended to add the publishable key information first before the secret key.
- Paste the copied secret key from Stripe into the Live Secret Key field. Make sure there are no leading or trailing spaces before or after the key.
- The secret key will need to be revealed in Stripe before it can be copied. There may be additional authentication steps in Stripe in order to do this.
- Click Save.
- Navigate back to the Stripe Payment Processor page.
- Click Update Webhook in the left-side menu.
- Click Stripe Config in the left-side menu. The secret key will now be masked.
Stripe Webhooks Payment and Payout Process
When a credit card payment is processed, the webhooks tell Stripe how to "call" CommunitySuite.
Webhooks must be enabled in order to process and record payments made from the Giving Hub. Steps for enabling webhooks are included in the Enable Webhooks section. After webhooks are enabled, online donations can then be created and posted in CommunitySuite.
Payment Webhook Records the Donation
When a donor clicks Continue in the Giving Hub, CommunitySuite "calls" Stripe and records a payment intent.
Donor Enters Their Payment Information
The donor is then taken to Stripe and they can either enter their credit card information or bank account information, and then click Pay.
Successful Transactions Appear Under Undeposited and Recent Donations
Shortly after the credit card transaction is processed in Stripe, Stripe will "call" CommunitySuite to let the system know whether or not the transaction was successful. Successful transactions will appear on the Donations page under Undeposited and Recent Donations.
Payout Webhook Records the Real-World Transfer
The webhook is used by CommunitySuite to automatically record the real-world transfer of money from Stripe to the associated bank account. It also records the receipt of the money in CommunitySuite.
Logged in fund advisors are given the option to save their card for future use on the portal. The card information is saved to the Stripe ID on the fund advisor's profile.
There are a handful of scenarios where a transaction may process in Stripe but not record back to CommunitySuite. This can result in the transaction appearing as Unpaid in CommunitySuite even though it was successfully processed in Stripe. Resolve Unpaid Stripe Transactions section contains details.
Receive the Donation and Stripe Payout
Giving Hub Donation Appears as a Profile Payment
After the organization receives a donation through the Giving Hub, it will appear in the system as a profile payment associated with the profile that made the donation.
When viewing that profile payment, there will be three transactions linked to it:
- A deposit.
- One donation transaction of the total amount of the donation made to the fund.
- A second donation transaction that relates to the CC Fee Fund to cover the transaction fee from Stripe.
Stripe Transactions are Automatically Posted
All of these transactions are automatically posted based upon the default accounts set in Accounts, the checking accounts associated with the funds involved with the donation, and the STRIPE bank account that is set up with the Stripe Payment Processor.
An example of this profile payment is shown below, but it will not match the exact details of the profile payments that will exist within your organization's site based on the donations received.
Stripe Payouts are Recorded in General Ledger Transaction Detail
After receiving the donation and all transactions have been posted, at some point in the future, Stripe will send a payout amount to the bank account linked to the Stripe website. When Stripe performs a payout, it will automatically send a signal to CommunitySuite to create and post additional transactions logging the payout amount. These payout transfers will be the record populated within the TRef column of the General Ledger Transaction Detail for the profile payment.
Connect a Stripe Terminal
A Stripe payment terminal can be set up in the Stripe payment processor with additional configuration required in the Stripe account. Multiple terminals can be used.
The BBPOS WisePOS E terminal reader in the server-driven integration is supported.
To connect a Stripe terminal to the Stripe payment processor in CommunitySuite:
- Navigate to the Payment Processors page.
- Click the Stripe payment processor.
- Click Connect Terminal in the left-side menu.
- Enter the applicable Connect Stripe Reader information, and then click Register.
Process a Profile Payment Using Stripe Terminal
A profile payment must be created for the transaction. After the payment is created, there will be a new payment option, Stripe Terminal. Select this payment method and the terminal will be ready to process the credit card information. In the Stripe payment processor menu, users will see the link to the Stripe terminal that is supported.
Connect Multiple Stripe Terminals
Several terminals can be connected to CommunitySuite at one time. This will allow for several transactions to be processed at once.
Resolve Unpaid Stripe Transactions
Any successful or unsuccessful Stripe transaction that has been recorded in Stripe, but not CommunitySuite, can be viewed. This happens if there is a communication failure with CommunitySuite and Stripe between when Stripe records a payment intent, which is when the user clicks Pay with Credit Card, and when a user enters their credit card information and clicks Pay in Stripe.
It is important to note that any Stripe transaction that is initiated from CommunitySuite will show as unpaid for a short amount of time while CommunitySuite and Stripe communicate; however, this should only last a few seconds under normal circumstances. This section refers to Stripe transactions that have been stuck for extended periods of time, generally 24 hours or more.
View Unpaid Stripe Transactions
To view Stripe transactions that were recorded in Stripe but not in CommunitySuite:
- Navigate to the Payment Processors page.
- Click Stripe.
- The Stripe Transactions section shows the Stripe transactions that were recorded in Stripe but not in CommunitySuite.
Common Causes of Unpaid Stripe Transactions
There are a number of scenarios that can cause transactions to be recorded in Stripe but not CommunitySuite. The following list highlights the most common reasons this can occur.
Browser Back Button - A user reaches the Stripe payment screen but uses the web browser's back button to return to the checkout screen before clicking Pay. If a user needs to return to the checkout screen in the Giving Hub, they should use the back arrow in the upper-left corner of the Stripe payment screen.
Closed Payment Screen - A user reaches the Stripe payment screen and closes it before completing the payment.
Session Timeout - The donor leaves the Stripe payment screen open for an extended period of time and the connection times out.
Failed Internet Connection - The donor's internet connection fails while entering their credit card information before clicking Pay.
ACH Donations - ACH is enabled in Stripe and the donation is an ACH donation. ACH donations can take weeks to process, which can cause these donations to appear in the Unpaid Stripe Transactions section where they can be manually rerun.
View the Stripe.com Dashboard
Clicking Dashboard will bring you to the Stripe.com Dashboard which requires Stripe login credentials.
- Click Dashboard next to the unpaid Stripe transaction.
Manually Rerun a Transaction in CommunitySuite
CommunitySuite allows a manual rerun to be made on unpaid transactions. If a donation record has not yet been posted in CommunitySuite for a Stripe payment, payments that have been processed through Stripe can be manually rerun. This can occur due to the time delay being different than the credit card.
- Click Manually Rerun next to the unpaid Stripe transaction.
The donation date will be the date manually rerun is clicked, and the donation will process as normal through CommunitySuite.
Check for a Missing Donation
Check the Stripe Asset General Ledger Account
To check for a missing donation, begin with the Stripe asset general ledger account in CommunitySuite. Online donations get deposited there, and a few days later Stripe will initiate a real-world transfer to the checking account and create a transfer record in the system. If a transfer is listed that puts the Stripe general ledger account negative, a payment is likely missing unless a refund was recently processed.
Locate the Missing Payment in Stripe
Check Stripe.com to find the missing payment. Look for the dates in the balance from the Stripe account. If the balance goes to zero followed by a transfer that drops it to negative, check the dates during that period. Compare the payments at Stripe.com to the payments into the Stripe general ledger account.
Example: Stripe transferred $50 more into the checking account than exists in donations. Search Stripe.com for payments of the missing $50 charge.
Record the Missing Donation
To record a missing donation identified in Stripe but not in CommunitySuite:
-
Create a Profile Payment using the Other Payment method and the date of the transaction.
- Create a donation to the funds that were identified.
- Use the date of the transaction or Sell Ticket to the event listed if the transaction was for an event created in the system.
- Create a donation to the funds that were identified.
- On the Till page, reconcile the Other Payment by deducting the fees Stripe charged and deposit on the purchase date in the Stripe general ledger asset account.
- This will process like a normal online donation.
A donation can also be missing if a third-party portal is connected to Stripe but the Process Non-CSuite Stripe Transactions option is not enabled in the Stripe payment processor in CommunitySuite.
Stripe Account Shows a Remaining Balance
Causes for a Remaining Balance in the Stripe Account
Stripe may apply an extra fee that leaves a small remaining balance in the CommunitySuite Stripe account after a payout. This commonly occurs with ACH donations, as Stripe applies account validation fees for ACH transactions separately. When this happens, the Stripe.com account will show as fully paid out while the Stripe account in CommunitySuite shows an open remaining balance.
Workflow to Resolve a Remaining Stripe Balance
To resolve the CommunitySuite Stripe account remaining balance, two transactions are needed:
- Statement Voucher from the checking account that receives Stripe donations to recognize the expense.
- An account transfer to clear the CommunitySuite Stripe account balance on the Z_Cash Balancing fund.
- This will allow both accounts to reconcile and recognize the fee.
Why the Voucher Is Not Paid from the Stripe Account
The voucher is paid from the checking account that receives Stripe donations to push a net credit to that account. CommunitySuite does not allow checks written directly from the Stripe account, which is why the voucher is paid from an account other than Stripe.
The account transfer then moves the same amount out of the CommunitySuite Stripe account via the Z_Cash Balancing fund and into the checking account. The result is a net zero transaction: a credit and a debit. This reconciles the checking account correctly and the remaining balance is cleared from the CommunitySuite Stripe account.
Resolve a Remaining Stripe Account Balance
To resolve a remaining Stripe account balance in CommunitySuite:
- Navigate to the Vouchers page and click Create in the left-side menu.
- Add the applicable voucher information.
- Vendor - Stripe vendor profile
- Expense Account - applicable expense account
- Fund - operating fund most common
- Unit Cost - exact amount of the extra fee to recognize the expense
- Click Save, and then post and approve (if applicable) the voucher.
- Pay the voucher from the checking account that receives Stripe donations using an electronic payment, and then post it.
- This pushes a net credit to that account.
- Now that there is a net credit on the checking account, it needs to be trued up to be sure it doesn't continue to hold the extra fee.
- Navigate to the CommunitySuite Stripe account and transfer the fee amount via the Z_Cash Balancing fund and into the checking account.
The checking account will show the check written for the fee amount and the transfer in of the same fee amount. They offset each other and the CommunitySuite Stripe account balance returns to zero.
Resolve a Remaining Stripe Account Balance Video
The video below demonstrates how to resolve extra Stripe fees with a voucher and an account transfer.