PayPal is our most commonly used payment processor and the simplest to set up! In this post, I’ll show you how to set up your form to collect payments and integrate PayPal Pro so that you can successfully process those payments.
Let’s get started!
Creating Your Payment Form
First, create a form from scratch or select one of our pre-built templates.
You need to have the following three fields on your form to set up and run the PayPal integration:
- Price Field
- Credit Card Number Field
- Expiration Date Field
For the Credit Card and Expiration Date Fields, you can use our default Credit Card and Date Fields listed on the left side of the screen within the builder.
For the Price Field, you can use:
- Number or Short Answer Fields set to read-only with your price as the default value:
2. A Radio Button, Checkbox, or Select List with your prices included in the value column across from the corresponding option label:
Adding The PayPal Integration
Once you have those fields on your form, you can set up the integration. To add the PayPal Pro integration, go to Settings > Integration Hub > Payments in your form.
Next, click “Add” under the PayPal Pro integration icon. You will be immediately redirected to the integration settings page to map the fields from your form to the fields in PayPal. You will need to enter your PayPal API username, password, and signature key in order to link your form with your PayPal account.
To obtain these API credentials, follow the steps below:
- Log in to your PayPal Pro account.
- Click the “My Account” tab.
- Click the “Profile” tab. If you haven’t already done so, you need to verify your account before requesting API credentials.
- Click “Request API credentials” under Account information.
- Click “Set up PayPal API credentials and permissions” under Option 1.
- Click “Request API Credentials.”
- Click “Request API signature.”
- Click “Agree and Submit.”
Once you have entered these credentials into the integration settings in Formstack, you can map the rest of the fields. There are many optional fields, but as I mentioned above the required fields are price/amount, credit card number, and expiration date.
I did want to highlight and provide some clarification on a couple of the options in the Transaction Information section.
First, you will see that you can pick either Products and Services or Subscriptions as the transaction type. In basic terms, these options mean single charge or recurring charge. You can only have one or the other per integration. Both can be offered on the same form, but you will need to use multiple integrations to handle this. You can read more about setting up multiple payment methods (and options) here: Using Multiple Payment Options.
Secondly, you can choose to map to a single item on your form or to multiple items. You would choose “Single Item” if you were mapping to a total field that includes the sum of all your products listed on the form or if you only have one price field (i.e., a Total Field) and don’t need itemized billing.
The multiple item option is good when you need to offer or collect itemized billing information, but this is a bit trickier to set up. You will need to set up a separate price field (from the options I listed above) for each potential item and if you are tracking quantities as well, each item will require its own quantity field. However, it is not necessary to map anything to the quantity field if you don’t need this functionality or if the quantity is already included in your product total field calculation.
To further explain, you could use three Checkbox Fields on your form, each with a separate product as the option and the price as the value of that field. You would then map them separately in the integration settings. When the end-user selects a product on your form, it will be itemized in your submission details in Formstack and in your transaction details in PayPal.
There are several optional fields you can send over to PayPal to be included in the transaction details, but it just depends on what you need. You still have all the collected field data in Formstack to compare.
After you have all the settings the way you want them, make sure the integration mode is set to “Production” and toggle the on/off switch in the top right corner of the integration settings to “On.” Once you have done that, the integration is live and ready to begin accepting payments.
You can opt to allow submissions to be saved in the database even if the integration fails, or simply enter an email address in the error handling box and you will receive an email if the integration fails. If you are allowing for both failed and successful submissions to be added to your database, you’ll need to pay attention to the “Payment Status” column in your data table.
“Passed” means the payment was successful and the funds were transferred to your PayPal account. “No Response” means the integration failed for some reason. If it fails, you can try to troubleshoot a couple things yourself:
- Make sure API credentials are correct. If they are, go ahead and try requesting a new signature key from PayPal and update it in your settings in Formstack.
- Make sure you are sending a positive price value to PayPal. It’s always a good idea to check the mapping on the Total and Quantity Fields.
Or, you can email our Customer Support Team at firstname.lastname@example.org and we will gladly help you!
Still have questions? Check out the Support docs in our Knowledge Base or let our Support Team know with the email above!