After logging into Cognito Forms, select “+ New Form” and choose from the options: “Start from scratch”, “Choose a template” or “Copy an existing form”. Some templates already have payment fields: Basic Food Order Form, Basic Sales Form, Catering Deposit, Donation, Membership Dues and Parking Ticket Payment.
After logging into Cognito Forms, click the name of the existing form you want to collect payment from.
Adding a Payment field
You can choose from one of four fields to collect payment: Choice, Yes/No, Currency and Price. The currency of your form's Payment fields will be determined by the location settings of your form and/or organization.
Assign prices and calculate charges using options from a drop-down menu, radio buttons, or checkboxes.
If you want to charge users based on what they choose in this field, check the box for "Collect Payment for This Field." This will automatically select the "Assign Prices?" field and prompt you to connect to your PayPal or Stripe account.
After linking with PayPal or Stripe, you'll need to assign a price to each option in your field. These prices will be used to calculate the charges based on what your users select. If you leave these blank, they will be assigned a price of $0.00 automatically.
You can also select "Assign Prices?" only, if you'd just like to assign prices to each choice. These prices can then be used in a separate calculated price field, such as for quantities. Lastly, select "Show Prices in Choice Field" to display those prices on your form.
Assign prices and calculate charges using yes/no options from radio buttons, a checkbox or toggle.
A charge will only occur when a user selects the value that makes the statement true. For example, if you use the field to ask if a user would like to upgrade to a higher quality item, they will only be charged if they select “yes”.
In this example, “yes” is our true value and “no” is our false value. Now, if it is true that the user would like to upgrade to premium, they are charged the $50 you set as the upgrade price.
You can set the field to default to the true or the false value, but charges will still only occur when the true value is selected.
Allow users to specify the amount they would like to be charged, such as for donations.
If you’d like to collect custom payments from each user, add a Currency field and check “Collect Payment for This Field.” The amount entered by the user when they fill out the form is the amount they will be charged. You can set a default or suggested value for this field, but users will still be able to modify the amount.
Use the Price field to set a fixed price item, or create calculations that result in a charge, like additional quantities.
The Price field always collects payment, so it will automatically prompt you to connect with PayPal or Stripe, if you haven’t already done so. Then you’ll need to set the amount to be charged, whether it’s a fixed price or determined by calculating the results of other fields.
Remember: For help setting up calculations, you can always click the orange lightning bolt.
In addition to setting the amount, you also have the option of setting the item name and description as it will appear on the user’s receipt. These can be fixed labels, or you can use calculations to pull data from other fields.
Let’s say you want to sell boxes of cookies online. You could set up a Choice field with all your cookie varieties, then a Number field where users can enter the number of boxes they’d like to purchase (let’s call that field “How many boxes?”). If all of your varieties are the same price per box, your Price field’s calculation would be very simple:
But what if each variety has a different cost? That’s where assigning prices comes in:
With variable prices, you’ll need to alter your price calculation to accommodate them. Instead of using a set price, you’ll use the assigned price of the selected cookie variety:
Tip: You can also put these fields into a repeating section to allow users to order multiple boxes of different varieties of cookies – like 3 chocolate chip, 4 peanut butter and 2 oatmeal raisin.
Multiple Payment Fields
If you have more than one field on your form that is collecting payment, the amounts from each field will be added together and used for the subtotal.
Under your Payment Settings (accessible by clicking “Payment Settings” in the footer or by clicking on the payment area at the bottom of the form), there are multiple options to help customize your payment setup after you’ve connected your PayPal or Stripe account.
Include Processing Fees
Stripe only: Stripe fees are 2.9% + $0.30 for each transaction in USD. For Stripe users on our Individual and Pro plans, there is also a Cognito Forms fee of 1%. Refer to our location settings help content for more information on other currency fees. Check this box if you’d like to pass these fees onto your customers, instead of having them subtracted from the original total. You can set a custom label for these fees, or leave the default label of “Processing Fees”.
NOTE: If the currency of your payment form does not match the currency of your Stripe account, you may be subject to additional conversion fees from Stripe and you will not be able to include processing fees.
You can also include additional fees for each transaction. These fees will appear after the subtotal, at the bottom of the form, and on your customer’s payment receipt. You can either set a fixed amount in the box marked with a dollar sign ($) or a percentage of the subtotal in the box marked with a percent symbol (%). Click the plus sign (+) to add multiple fees, or the trash can () to remove them. Any fields left blank will not appear on your form.
Check this box if you’d like to show the subtotal and any applicable fees at the bottom of your form. This option is selected by default.
Show Line Items
Line items represent the individual fields on your form you are charging for. Line item labels are pulled from information on your form. For Choice fields, the line item name will match the field label, and the line item description will match the option chosen. For Yes/No and Currency fields, the line item name will match the field label, and there will not be a line item description. For Price fields, you can specify the line item’s name and description in the Field Settings.
Check this box if you’d like to show the individual line items and amounts at the bottom of your form and on your customer’s receipt. This option is selected by default.
Map Billing Fields
Stripe Only: Similar to the “Email Receipt” option, checking this box allows you to specify which fields on your form contain your customer’s name, address and phone number. Mapping these fields helps verify a customer’s information more thoroughly when you collect payment and will be included on the form confirmation and email receipt (if you’ve set it up). This information will be sent to Stripe as part of each payment, which will greatly enhance the experience when reviewing payments in Stripe. Additionally, you can configure Stripe to decline charges that fail zip code verification, to further reduce fraudulent credit card charges.
Each option will require a matching field type. So under the billing fields options, “Name” will require a matching Name field, “Address” will require a matching Address field and “Phone” will require a matching Phone field. Select the name of your matching fields from each drop down. We recommend that you make these fields required so you aren’t missing any critical information.
Similar to conditional logic for requiring other fields, you can opt to set conditions on when payment is required. By default, any form that collects payment will have this option set to "Always". But if you'd like to give customers to the option to pay now or pay at a later time, you can use the "When" option to set the necessary conditions.
When you click "When", a box will appear that will help you quickly build these conditions without any complicated coding. For example, you can create a Choice field that allows the customer to choose between "Pay Now" and "Pay Later". You would then set your Payment field to Require Payment when their payment option selected was "Pay Now", such as in the example below:
You can set multiple conditions within the builder, or you can select the "Advanced Editor" tab to create more complex calculations. Please refer to our blog post for more information about conditionally requiring payment.
If you're collecting payment later, you can review the entry after it's been submitted to collect payment and resolve your transactions. Check out our help topic on managing payment entries for more information.
Additionally, you can set the Payment field to never actually collect payment and only issue invoices.