To use the basic PayPal WPS integration, you need one or two form fields: a price or product field and an optional quantity field.
When setting up your price/product field on the form, if you use a Radio Button, Dropdown List, or Checkbox field, you can go to the Advanced Options Editor and select "Use Separate Values" to associate a price with your product name. Check out the "Using Separate Values" section of the document found here for more information on that process.
To add the PayPal WPS Integration to your form, go to Settings > Integrations > Payments. Then, click the "Add" button for PayPal Website Payments Standard. This will place the integration below the Integrations tab where you can complete the setup.
At this point, you need to enter your PayPal account information. If you've already used the PayPal WPS integration on another form, you will have the option to copy the credentials by selecting the appropriate form from the dropdown list under "Copy Authentication Credentials."
If you are not able to copy the credentials, you will need to enter your PayPal account email address in the "PayPal Email" field.
PayPal WPS: Products and Services
1. Single Item
In the Transaction Information section, you must choose the type of transaction and the number of items involved. If you are setting up the integration for a single product or service, you will see one Item listed for mapping.
If you need the integration to multiply the price by the quantity to get the total, you will need to map that accordingly.
Note: If you set up the price as the total field on your form, do not map the quantity field. If you do so, the integration will automatically multiply the price by the quantity upon submission, and the amount owed may be incorrect.
Once you have completed the integration setup, users who fill out your form on Formstack will be redirected to PayPal to complete the payment process.
If you have multiple products or services and you'd like an itemized list to show on the PayPal page the customer is redirected to upon submission of the form, you should select the "Multiple Items" option in the Transaction Information section of the PayPal WPS Integration. This will bring up an items list for mapping.
You may also choose to calculate a total on the form itself using a self-calculating form field and pass that number on to PayPal as the price field, leaving the quantity field blank. Either method for multiple items will work.
PayPal WPS: Donations
If you use your form to take donations, you can choose the "Donations" option for transaction type to replace the price and quantity fields with a field for the donation amount.
Note: The invoice number feature is optional. However, if you choose to enable this setting, you may only use numbers. Characters that are not numeric, such as alphabetical symbols or punctuation marks, will break the integration if entered into the invoice field.
PayPal WPS: Subscriptions
Under Transaction Information, you also have the option of setting up recurring subscriptions. You choose the fields for Recurring Amount, which is the amount the user will be billed, and Billing Cycle, which is how often the user will be billed (once a week, once a month, once a year, etc.). You can also set how many times you want the user to be re-billed (infinite is selected by default).
Delaying Email Notifications
You can prevent notification or confirmation emails from going out until the user completes payment by checking those boxes on the PayPal WPS integration page. If you don't check those boxes, emails will go out as soon as the user hits the submit button, and he or she will receive them whether payment is complete or not.
There are two modes for Paypal WPS integration: Production and Test. Production is the mode that lets you accept real payments. Test mode lets you test your form in the sandbox to see if it's working. You will need a Paypal sandbox account in order to use test mode.
Note: Since PayPal Standard (WPS) is an off-form payment processor integration that collects credit card information after submission, a credit card field is not required on the form itself.
Here are the solutions to a couple frequently encountered issues:
1. My payment status never changes to paid even after a user pays me.
If you're not getting Payment Status notifications but your form does redirect to PayPal, you may have a URL set in your IPN settings inside of PayPal. That URL needs to be either blank or set to https://www.formstack.com/admin/submitaction_notify/paypal.php.
2. Paypal is calculating a different total than what I'm getting on my form.
You may be mapping the quantity field in the PayPal integration when you have already multiplied the price and quantity together on the form. If you are calculating the total on the form just leave the quantity field at the "--Quantity Field--".
You can only have one redirect or message action that will execute per form submission, so once you've redirected the user to another URL (to PayPal, for example) after submission, any subsequent redirects won't work, and no messages will be displayed to the user. Similarly, if you have a custom message displayed to the user, the user can't be redirected afterward.
The thank you message is set up by default, so that needs to be removed when you're using the PayPal integration. However, you can still run any behind-the-scenes actions, such as sending payments to Authorize.Net or adding contacts to Highrise. There is also the option to add a redirect URL in the PayPal integration settings so end-users will be redirected to that URL after payment is processed by PayPal.
PayPal WPS and PSD2 Compliance: PayPal WPS is one of the payment processor options that will meet PSD2 Compliance by September 14, 2019. More information can be found here: https://help.formstack.com/hc/en-us/articles/360030912852-FAQ-Second-Payment-Services-Directive-PSD2-