Online Payments Quick Start

Stripe Setup

You'll need to setup your Stripe account(s) to get things rolling. See the below help articles on how to get started. NOTE: If you will have more than just a single "General Fund" account, you will need to setup a Stripe account PER fund you need. Stripe accounts can be easily setup within minutes, are free, and you can have multiple accounts without issue, especially as a non-profit. An example here would be if you accept donations or tithes for multiple funds each with their own bank account. An example might be someone donates to the 'Youth Ministry' which has its own bank account, and also donates to 'Benevolence' which has its own bank account. 

General Account Setup

Stripe Testing (Live Mode and Test Mode)

You can test your forms and submissions by setting your 'add on' to 'test' mode and using the test API keys and test credit card numbers. These card numbers for both posting test successful and denied transactions can be found at: This is very useful in testing your form live and ensuring your settings and notifications are working as expected. When you are done testing, ensure your add-on is set to Live mode and save.

Once you have an active account with Stripe, we'll need a couple pieces of info from EACH ACCOUNT (if you are using multiple accounts).

  1. Setup a Stripe account and get verified for your Non-Profit Status.
  2. In your Stripe Dashboard, click the 'Developers' button. 
  3. Next, click the 'API Keys' link in the left navigation menu.
  4. Click the '+ Create Secret Key' button and follow the process.
  5. Copy your publishable and Secret key info. These 2 values are what's needed in NPOHarmony to tie your specific NPOHarmony form to your specific Stripe account. You can also copy 'test keys' by toggling the Test Mode switch in the Stripe Dashboard.

Create a Form

  1. Click the 'Forms' Main menu item.
  2. To create a prebuilt form with its various associated settings, choose the 'Add From Template' button and select your form type. This allows you to create the form with most settings, and even add-ons already configured for you. 
  3. To create a form from scratch as a blank template, click the '+ Create Form' button to add a form.
  4. Add the various form elements you need to your form to accept information. You can do this by clicking on each item or via drag and drop. Click here to read more on our Form Builder tool, how it works, and how to use it efficiently.
    1. You must have a least 1 number field (for the amount / value).
    2. You must have an email address field (for the submitter's email address for Stripe).
    3. If you are going to allow or require the donor to cover the processing fees, read that section below.
  5. Click the 'Settings' tab to choose the layout of your form (vertical or horizontal).
  6. When done editing the form, click the 'Save Form' button at the bottom of the screen. A modal window will be displayed asking what you'd like to do next.

Edit Form Settings

  1. When you are done creating your form and have 'saved it', in the modal window that displays, click the 'Let's go to Form Settings' option.
  2. Within the Form Settings tab, edit all the various settings that you'd like to have set for this form and click the 'Save' button at the bottom of the page.
    1. Category. Select the type of Form that this will be. This is a very important step as this determines which area within NPOHarmony that your form resides. 
      1. General Forms. Forms here will display in the 'Forms' main menu item. These are forms that do not fall into one of the other categories.
      2. Giving / Donations. Forms here will display in the 'Online Giving' main menu item. Useful for forms that you will use for accepting online donations, giving, gifts, tithes, etc. Forms that accept payment for things outside of 'donations' can fall into one of the other categories and do not have to be here.
      3. Registrations. Forms here will display in 'Registrations' main menu item. Forms that you need to track sign-ups for and even accept payments for as well.
      4. Attendance Tracking. Forms here will display in 'Attendance Tracking' main menu item. Forms that you will use for Attendance tracking that have attendance tracking form elements and settings set.
  3. Within the Confirmation Settings tab, edit the various confirmation settings that you'd like to have set for this form and click the 'Save' button at the bottom of the page.
  4. Within the Notifications Settings tab, edit the various notification settings that you'd like to have set for this form and click the 'Save' button at the bottom of the page.

Conditional Logic, Add-Ons, Analytics & More

  1. On your Forms Dashboard, click the 'Actions' drop down button to display a variety of options for your form. This allows you to go back and update your form or settings, as well as a plethora of other actions. Set conditional rules, view form results, reporting and analytics, or form sharing tools.

Stripe Add-On

  1. Access the Forms Dashboard, and on the row that contains the form you want to edit, click the actions button drop down and choose Add-Ons.
  2. In the list of available Add-Ons in the right, Click the (+) icon to add the Stripe addon to your Form.
  3. You then will create the Stripe add on for your Form and Save.
  4. Enter the various information needed to create the Payment Form.
    1. By default, the payment form is in 'Test' mode allowing you to test transactions and flow until you are ready to 'go live' with it.
    2. Enter your API keys you retrieved from Stripe in the associated inputs based on if you will be posting live or test data.
    3. Ensure 'checkout page' is on (it is by default).
    4. Create at least 1 item and associate the number field you added when you created the form.
    5. Setup your Checkout Page Settings including your payment types. If you will accept card, ACH debit, or both this is where you set that option. If you only want to offer say ACH debit, you only choose that option and the same for cards.
    6. Within additional fields at the bottom, associate the email field you added when you created the form to the receipt email option.
    7. Save.
  5. That's it, you can start accepting payments for the form you are working on.

Recurring Donations / Subscriptions

Easily create options for your end users to setup recurring giving. You'll create the plans inside of Stripe which will allow your end users to set amounts and schedules. You'll need a new subscription plan per amount choice. 

To create a recurring subscription (donation in this case) within Stripe:

  1. Access your Stripe Dashboard at:
  2. Choose if you will work in "Live" or "Test" mode.
  3. Click on the 'Products' main menu tab.
  4. Click '+Add Product' and enter your various plan details.
  5. Ensure Recurring option is toggled and select the billing period of choice
  6. When finished click save product in the upper right area of screen.

Additionally, to the Stripe Addon payment configuration, you need two things:

  1. With the Stripe Add-On you need to enable the "Subscription" option.
  2. Stripe will automatically charge the payment method on file for the end user based on the schedule and settings that you created with the associated plan in Stripe.
  3. As Stripe charges the user(s), we'll receive notification of the transaction and will update the form results / submissions of the form.

Note: You can view your recurring subscription payment data / reports by clicking on Giving / Donations > Actions > Giving Report. If someone has setup a recurring payment, subsequent successful payments are entered our system and the data is displayed in this report.

Create a simple quick recurring donation form via these settings

  1. After creating and activating your Stripe account in the steps above, create a form and insert at least the following fields.
    1. Name (Text field)
    2. Email (Email field)
    3. Amount (Number field for end user to enter their donation amount)
    4. Interval (Select List field for selecting day,week,month,year)
    5. Payment Method (Select List field for selecting card or ACH debit / bank)
    6. Cover the Processing Fees (Checkbox field to give option or force require end users to cover the payment transaction fees).
    7. Submit button.
  2. Save form and adjust settings as needed.
  3. Add a 'Stripe add-on' to the form. Within the Stripe add-on, adjust these settings.
    1. Set 'Subscription' to ON.
    2. Description: Enter a description that will be used for the Subscription Plan name passed to Stripe.
    3. Price: Select the Amount number field you created within the form.
    4. Type: Select 'Inline Pricing'. This is the setting that allows you to create Stripe 'subscriptions' or "recurring payments" on demand without having to setup subscription plans within Stripe and enter their plan IDs in our system.
    5. Interval: Select the Interval select list field you created within the form. This allows the end user to select the 'recurrence' of the donation such as day,week,month,year
    6. Click Save.
  4. Your form is now ready to go and you can proceed with the Share Form section below to get folks to your form!

Share Form

Share by link, QR code, or embed your form on another website.

  1. Once your Form has been created, all settings are good, you're ready to share your Form.
  2. If you would like to share your form with others, first you must set your Form sharing options when editing your Form Settings.
    1. On your Forms Dashboard, click the 'Actions' drop down button by the Form you want to edit and click 'Settings'. If others should be able to edit the form or see the form results, adjust this in the 'Shared With' section.
    2. Ensure 'Private' setting is as you would like it to be. If it is toggled off, the form is accessible by anyone in the USA. If toggled on, the form will only be viewable by those logged into NPOHarmony. If someone is not logged in, they will be routed to the login screen.
    3. Save Form Settings.
  3. On your Forms Dashboard, click the 'Actions' drop down button by the Form you want to edit and click 'Publish & Share'.
  4. Choose how you would like to share your form from the options that are available.

Donor Covering the Processing Fees

Just a couple of form settings will allow you to give the option to allow the donor to cover your processing fees. 

Note: An admin can override a form's donor covers processing fee setting. This is helpful to ensure you are always collecting processing fees for current or future forms across your entire account. To enable this an admin needs to access the Back Office > Admin Actions > Manage Account. Next set the 'Global: Payee Pays Processing Fee" to yes, scroll down a bit, and click 'Update' to save your account settings.

  1. First, you must specify the rates and costs that will be charged for processing fees. Access this in your 'Back Office -> Manage Account' left menu tab. This allows us to calculate the total processing fees on a transaction so that we can pass this value over to the donor during the checkout process.
    1. Stripe Card Processing Fee - the fee Stripe charges as a rate per card transaction. For most of our non-profit customers, this is 2.2%. Enter as 2.2
    2. Stripe Bank Processing Fee - the fee Stripe charges as a rate ACH Debit (bank) transaction. For most of our non-profit customers, this is 0.8%. Enter as 0.8
    3. Stripe Card Per TRX Fee - the fee Stripe charges as a cost per card transaction. Stripe doesn't charge this fee for ACH Debit (bank) transactions. For most of our non-profit customers, this is $0.30. Enter as 0.30
    4. NPOHarmony Per TRX Fee - the fee we charge as a cost per transaction regardless of transaction type. This is $0.30. Enter as 0.30
  2. Add a checkbox input to your form that will be for allowing the user to choose to pay the processing fees (when checked) and save your form. On save click the go to form settings to work with the necessary settings. For the label, a good example would be "Cover the Processing Fees" and a good checkbox value would be "Yes, I want to cover the processing fees".
    1. If you want to require the donor to cover the fees, within the input field settings, check Required. 
    2. If you want to hide this checkbox so that it is always required and always selected, add 'hide-field' to the container CSS Class input setting. An example CSS that would do this in its entirety would be: col-xs-12 hide-field
    3. Click save to save the input checkbox.
    4. Click Save Form to save the form.
  3. Add a 'Hidden Field' form element for Processing Fees ($). This is used to pass the values and calculations to Stripe at checkout.
    1. You do not have to enter any other data unless you'd like to.
    2. Click Save Form to save the form.
  4. Add a 'Hidden Field' form element for Total Amount ($). This is used to pass the values and calculations to Stripe at checkout.
    1. You do not have to enter any other data unless you'd like to.
    2. Click Save Form to save the form.
  5. Add a select input to your form that will be for allowing the user to choose the payment method type during checkout. 
    1. You do not have to enter any other data unless you'd like to.
    2. Click Save Form to save the form.
  6. Stripe Add On. Associate the checkbox created as the Cover Processing Fees setting.
    1. Access the form's Stripe add-on (Forms -> Actions -> Add On -> Stripe -> Pencil icon) and edit it.
    2. Within the additional fields at the bottom of the Stripe add-on settings:
      1. Select the input checkbox you created for the 'Cover Processing Fee' setting.
      2. Select the input checkbox you created for the 'Payment Method Type' setting. This will display the available payment methods you select within your Stripe add-on.
      3. Select the hidden field you created for the 'Fees Amount' setting.
      4. Select the hidden field you created for the 'Total Amount' setting.
    3. Click Update / Save.
  7. Within Form Settings, Select the Form Type of 'Online Giving'. This ensures the system knows that this is an online giving form for underlying logic, as well as, ensures your form displays within the 'Online Giving' left menu tab.

Successful & Declined Transactions

The system will redirect the user back to the originating form on a successful payment transaction and will display a thank you message that their payment was successful. If the transaction declines at Stripe, they will be notified on Stripe with the opportunity to fix.

Stripe Tax

You can utilize the Stripe Tax module within your Stripe account to setup tax for your online sales. This DOES NOT apply to online donations. To read more about utilizing Stripe tax for your online sales, read our help article about Stripe Tax here.

Giving Statements, Reporting, Tax Receipts

Users and admins can access printable giving statements by date range at anytime. Admins can also print and email statements at anytime. 

Users can access the 'My Account -> My Financials' tab in the left menu. The Statements page allows three types of downloads:

  • By Detail. It will be downloaded as a receipt by transaction.
  • By User. It will be downloaded as a receipt by user (sum of all transactions)
  • By Total. It will be downloaded as a single receipt (sum of all transactions). This download link will only appear when the user sees their own transactions.

Admins can access the 'Back Office -> Manage Financials tab in the left menu. The statements page will display and you can click to filter your view of reporting for viewing, printing, or emailing by registered users (your members in your database) or anonymous users (folks not in your database). 

  • Select a date range (optional)
  • Click Download > Receipts by user. This will generate a download of a .pdf per user of their online giving by the selected date range.
  • Click Email > Receipts by user. In this case, the system will send an email to each user with their respective statement by the selected date range.
  • You can also click the 'Actions' button drop down by any transaction to download the .pdf or email the .pdf to the associated user at anytime. 

Batch Manager (Combine Online and In-Person Transactions in a flash!)

  1. First, create the 'Online Giving' form type form(s) with the appropriate settings.
  2. In Form Settings > Select Type: Online Giving. In addition, you must select the fields that will pass the information that will be stored in the batch (Eg. Batch Amount Field should be the Amount Field and  Batch Name Field should be the Name Field...).
  3. If you are wanting to bind this form to multiple batches, create multiple batches and Select the same Giving Form, but with different start date and end dates.

The batch manager allows users to create a batch of transactions for reporting. This includes associating donation payment forms, and in person gifts, by date range. To access the batch manager click the 'Online Giving' tab in the left menu. Admins will see a button for 'Batches' and 'Fund Categories'. To access the Batch Report by Users go to "Online Giving" > "Batches" > "Report by Users".

Creating Batches & Adding Manual Entries

To Create a new batch click the '+ Add' button. Enter the necessary details for the batch, associate your online giving form(s), and begin by adding entries to the batch, if you will not be importing them in the step below. When you are done editing the batch click the 'Save' button.

Importing Batch Entries

To import batch entries, go to "Online Giving" > "Batches" > "Actions" > "Import Entries". Then, select the CSV file and proceed with the field mapping. There are some required columns, like email, last name, first name, amount, and fund name.

  • We use the Email address to assign the entry to a registered user.
  • We use the Fund Name to link the entry to a form. So the Fund Name should be the same Form Name.
  • Amount must be a number. It can include the dollar sign ($) and dot (.) for decimals.
  • We suggest using "Cash" in Check Number.

Note: Form ID and User ID. These values will be used by default (when they are present) if the email address or Fund Name don't match the DB data. It's optional. Also, as these are batch entries, admins can edit them later.

To view, edit, update, or delete an existing batch, click the 'Actions' button in line with the batch of choice and choose the appropriate action.

Fund (Categories)

To setup a category (fund) to associate with your online giving forms, click the 'Funds' button. If you are needing a separate bank account for deposits per 'fund', then you'll need to setup separate stripe accounts for each (that part's free) as each Stripe account can only deposit to 1 bank account. The 'funds' in our system is just a way to earmark money received towards a goal or purpose but that could share a bank account with other things. For example, someone donates to Youth. That would have its on payment form, Stripe settings, and a Stripe account. Someone may earmark they want it to go towards food and clothing for the youth or for lock-ins and party nights for the youth. This is where you could setup a 'fund' for 'Clothing and Food' or for 'Party Nights' both associated to the Youth account.


Access the giving report (to view live totals) of any giving form by clicking on Online Giving > "Actions" Drop Down > Giving Report

Budget Planning and Giving Goals (Goal & Generosity Calculator)

Need to ask your members what they plan to give for the coming year to help your leadership build a budget against? We've seen this with congregations asking their members to fill out estimated giving or planning forms for the upcoming year. You can easily do this and see instant results with our planning and goals functionality.

When viewing the online giving section, click on the 'Goals' button. Individual members can input their giving goals so that you can view a live summary at any point per fund to build a budget against! Admins will see an extra button within the goals area for 'Summary'. This allows you to see instant live results of the planned giving amounts per fund.

For Members

  • Multiple Goals - Can establish multiple goals such as amounts per fund they'd like to give. If the member selects an overall amount and selects multiple goals at one time, the amount will be equally divided among the selected funds. If the user would like to give a different amount per fund (more to 1 fund or another) rather than having their total amount divided equally, the member can just submit multiple goals. As an example, I want to give $1000 this coming year. I select the general giving fund and the youth fund when doing so. The system will slate $500 to each fund. However, if I would rather give $400 to general giving and $600 to youth, then I just need to create two goals and select the one fund per each and save.
  • Each Goal is a "Yearly" pledge (To capture how much they plan on donating)
  • Each Goal has an "In Person" Form to capture how much they have donated on a specific date. This value is not added to any other part of the system, it will be used for user goal calculations only.
  • Summary: User Goal calculations. The user sees how much they've given so far this year and this month and their progress to their goals. It's just a summary, not a table. This includes Stripe Payments, Batch entries and "In Person" amounts.
  • Note: Currently the goal progress is calculated based in Stripe payments and Batch entries, in-person donations (pledges) are not taken into account. This calculation is compatible with the Giving Dashboard widget.

For Admins

  • Quick Summary: Users "Yearly" pledge: This is the sum of all amounts entered by users.
  • Where are we at today in actual donations vs pledged for the year.
  • What is the total pledged amount for the year.


Related Questions

Do you have the option to allow the member to cover the payment processing fees with their donation, gift, or tithe like some other software that is out there does? Open

We sure do. When creating your online giving form, you'll have a plethora of settings available, one being to allow…

We sure do. When creating your online giving form, you'll have a plethora of settings available, one being to allow the donor to cover the Stripe payment processing fee.

0 answersPosted 1 year ago
Was this helpful?