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.
Once an account has been setup, 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.
Create a Stripe Account
- 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 Processor and Payment Method Setup
In order 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.
- 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
- Navigate back 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.
- For your Sandbox site, enter a letter for each of these fields.
- For your Sandbox site, enter a letter for each of these fields.
- Click Edit in the left-side menu.
- Complete the applicable Payment Processor information, and then click Save.
- Cash Receipt Account, Deposit Account, Live Secret Key, and Live Publishable Key are required fields.
-
Cash Receipt Account - Assign the Stripe bank account used for clearing transactions.
- This is generally named Stripe.
- Deposit Account - Select the checking account linked to the Stripe account on Stripe's website.
-
Stripe Email Receipts - If enabled, 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 Setttings.
- This is not a tax receipt. CommunitySuite generates a tax receipt based on the tax receipt templates.
-
Process Non-Csuite Stripe Transactions - If enabled, 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.
- Live Secret Key - Copy and paste the key from Stripe.
-
Live Publishable Key - Copy and paste the key from Stripe.
The Stripe Webhooks setup can now be completed in the Stripe Webhooks area that appears after clicking Save. The Stripe Webhooks section below details this setup.
Stripe Preferences
Once 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
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.
Enable Webhooks
- Navigate to the Payment Processors page.
- Click Stripe.
- Click Edit in the left-side menu.
- Many any necessary updates, and then click Save.
- Click Setup for the Public Donation Webhook.
- If this option is not available, confirm that the correct Stripe keys are entered into the payment processor.
- Click Enable in the Status column.
- Click Setup for the Transfer/Payout Webhook.
- Click Enable in the Status column.
Details on the two available webhooks are available in the sections below.
Public Donation Webhook
This webhook tells Stripe how to "call" CommunitySuite when a credit card payment is processed.
The Public Donation Webhook must be enabled in order to process and record payments made from the Giving Hub. When this is enabled, online donations are created and posted in CommunitySuite.
- When a donor clicks Continue in the Giving Hub, CommunitySuite "calls" Stripe and records a payment intent.
- The user is then taken to Stripe and can either enter their credit card information or bank account information, and then click Pay.
- The user is then taken to Stripe and can either enter their credit card information or bank account information, and then click Pay.
Logged in fund advisors are given the option to save their card for future use on the portal. If checked, the card information is saved to the Stripe ID on the fund advisor's profile.
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.
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. The Unpaid Stripe Transactions section contains details.
Transfer/Payout Webhook
This 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.
The Transfer/Payout webhook is not required, but it is recommended to enable it.
Receive the Donation and Stripe Payout
Once the organization receives a donation through the Giving Hub, it will appear in the system as 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 and two donations. One donation relates directly to the total amount of the donation made to the fund. The other donation relates to the CC Fee Fund to cover the transaction fee from Stripe.
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.
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.
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.
- 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.
- Several terminals can be connected to CommunitySuite at one time. This will allow for several transactions to be processed at once. A payment must be created for the transaction. Once 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.
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.
View Unpaid Stripe Transactions
- Navigate to the Payment Processors page.
- Select the ID number for Stripe.
- The Unpaid Stripe Transactions section shows the Stripe transactions that were recorded in Stripe but not in CommunitySuite.
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.
- A user gets to the Stripe payment screen but uses the web browser's back button to return to the checkout screen before clicking Pay in Stripe.
- 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.
- A user gets to the Stripe payment screen and closes the payment screen.
- The donor leaves the Stripe payment screen open for an extended period of time, and the connection times out.
- The donor's internet connection fails while entering their credit card information before they click Pay.
- ACH is enabled in Stripe, and the donation is an ACH donation.
- ACH donations can take weeks to process; this slow process can lead to these donations landing in the Unpaid Stripe Transactions section where they can be manually rerun.
Review and Correct Unpaid Stripe Transactions
Re-call a Transaction in Stripe
Once a payment is processed in Stripe, Stripe will attempt to "call" CommunitySuite so CommunitySuite can record the transaction. If the first attempt fails, Stripe will try again every hour after. If a Stripe transaction continues to be Unpaid, navigate to Stripe to review the transaction and "re-call" the transaction.
- Click [Dashboard] next to the unpaid Stripe transaction.
- The transaction can now be reviewed on the Stripe payment page and can be "re-called" if necessary.
Manually Rerun a Transaction in CommunitySuite
Similar to "re-calling" a transaction in Stripe, 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
To check for a missing donation, begin with the Stripe asset general ledger account. 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. 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.
Identify the Fund of the Missing Donation
- Log into the stripe.com account and find the payment in stripe.com.
- Click on the Payment Intent Code to access the record which has details of what was purchased.
Record the Missing Donation
-
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.