Super Forms
  • Drag & Drop Form Builder for WordPress
  • Quick start
    • Installation
    • Registration
    • Starting your 15 day trial
    • Purchasing a license
    • Activating a license
    • First time setup
    • Secure file uploads
    • Creating a form
    • Adding form elements
    • Editing elements
    • Publishing your form
    • FAQ
  • Account
    • Dashboard
      • Your Invoices
      • Billing details
      • Your Licenses
      • E-mail Notification
      • Password reset
      • Cancel subscription
  • Common problems
    • Common problems
      • Email delivery problems
        • Why is my form not sending emails?
        • Why are emails going into spam folder/inbox?
      • File upload problems
      • Session expired
      • reCaptcha Troubleshooting – Fix “Not Loading” & Verification Errors
  • Elements
    • Layout elements
      • Column/Grid
      • Multi-part / step
    • Form elements
      • Calculator
      • Signature
      • File upload
      • Datepicker
      • Variable field
      • Dropdown
      • Text field
      • Autosuggest
      • Keywords
      • Radio button
      • Keyword Field
      • Button
      • Audio Recording (microphone)
    • HTML elements
      • Heading
      • HTML (raw)
      • Image
      • TinyMCE
      • Divider
      • Spacer
      • PDF page break
      • Google map element WordPress form
  • Features
    • Basic
      • Confirmations emails
      • Save Form Progression (continue later)
      • Build In Translation System
      • Populate form
      • Popups
      • Import & Export
      • Hide form after submitting
      • Hide or lock out user from your forms
      • Validation
    • Advanced
      • WordPress form with Google sheets dropdown
      • Custom registration form for WordPress
      • Custom login form for WordPress
      • Custom lost password form for WordPress
      • Update current logged in user
      • Secrets
      • Prevent duplicate entries
      • Lock & hide form
      • Password protect
      • Conditional Logic
      • Tags system
      • Address lookup/auto complete
      • Analytics Tracking
      • Conversion Tracking
      • Distance & Duration Calculation
      • If statements
      • Foreach loops
      • E-mail Reminders
      • Variable Fields
      • Form templates - Include elements into other forms - WordPress
      • Transferring data from one form to another
    • Integrations
      • PDF Generator
      • Listings
      • WooCommerce Checkout
        • Fixed price checkout
        • Dynamic price checkout
        • Variable product checkout (variations)
        • Replacing the "Add to cart" on a product page with a form
        • Hiding product from shop and order via custom form
      • PayPal
      • MailChimp
      • Mailster
      • Zapier
      • Stripe (BETA)
      • WooCommerce Instant Order (in progress)
  • Tutorials
    • WordPress Form to Google Sheet Integration
    • GDPR Consent / Terms agreement
    • How to update the plugin
    • Sending emails to specific department for WordPress contact forms
  • Example Forms for WordPress
    • Booking 24 hours ahead of time
  • Developers
    • Code Examples
      • Lookup City by Zipcode for your WordPress form
      • Audio Recording Field
      • Custom API Phone Number Validation for Your WordPress Form
      • Updating WordPress user meta data after login
      • Automatically redirecting to next step after displaying text or a progress bar
      • Dropdown with groups (categories)
      • Prevent form submission based on entered field values
      • Track form submissions with GTM (Google Tag Manager)
      • Tracking Multi-part steps with Google Analytics
      • Tracking Multi-part steps with GTM data layer (dataLayer.push)
      • Track form submissions with third party
      • Compare input field value with database value
      • Insert form data into a custom database table
      • Delete database row after contact entry is deleted in WordPress
      • Limited date availability (slots) for your WordPress booking form
      • Send submitted form data to another site
      • Exclude empty fields from emails
      • Execute custom JS when a column becomes conditionally visible
      • Toolset Plugin: Update comma separated string to Array for meta data saved via Front-end Posting
      • Toolset Plugin: Update file ID to file URL for meta data saved via Front-end Posting
      • Delete uploaded files after email has been send
      • Increase Cookie lifetime for client data such as [Form Progression]
      • Altering cookie secure and httponly parameters
      • Define fake cronjob to clear old client data if cronjob is disabled on your server
      • Define page language attribute based on page ID or URL
      • Define custom headers when doing a POST request
      • Change checkbox/radio layout to vertical on mobile devices
      • Show remaining available form submission allowed
      • Global fields / elements
      • Trim values of fields
      • Re-sending E-mails after editing entries via Listings for WordPress
      • Combine multiple field values into one column on Contact Entries page
      • Altering the attachments for E-mails via PHP code for WordPress
      • Generate dynamic columns with dates based on user selected date from Datepicker element
      • Hide `eye` icon from Listings row based on user role
      • Variable product checkout based on variation SKU
    • Data storage
    • BETA version
  • Changelog
  • Support
Powered by GitBook
On this page
  • Quick start
  • Step 1 – Enabling PayPal Checkout
  • Step 2 – Adding merchant email to receive payments
  • Step 3 – Choosing your currency
  • Step 4 – Shipping address requirement setting
  • Step 5 – Choosing the payment checkout type
  • Step 6 – Setting up return URL
  • Step 7 – Setting up cancel URL
  • Step 8 – Sending E-mail after payment completed
  • Step 9 – Testing with sandbox account before going live
  1. Features
  2. Integrations

PayPal

Accept payments via PayPal such as one time payments, subscriptions, donations or cart checkouts (for multi-product checkout).

PreviousHiding product from shop and order via custom formNextMailChimp

Last updated 12 months ago

Quick start

Step 1 – Enabling PayPal Checkout

Go to Super Forms > Create Form (or edit an existing form of your choosing). Open the Form Settings section on the right hand side. From the dropdown menu choose PayPal Checkout (this will open all the settings related to the PayPal checkout process). Make sure to Enable the PayPal Checkout by clicking "Enable PayPal Checkout".

To enable the sandbox mode on your form you can check the Enable PayPal Sandbox mode (for testing purposes only).

Step 2 – Adding merchant email to receive payments

You can now go ahead and enter the PayPal merchant email. This will in most cases be your own PayPal email address account where you wish to receive payments on. In some cases you might have a form that requires to dynamically retrieve the email address based on user selected information. In that case you can use {tags} to retrieve this data. For now just enter your sandbox email address (see picture below):

Step 3 – Choosing your currency

The next important thing to change accordingly is the currency for the PayPal checkouts. Depending on your country you can change this to for instance USD ($), EUR (€) or any other currency supported by PayPal.

Step 4 – Shipping address requirement setting

Normally when a user checkouts out via PayPal you would ask for an address. But because you might already have the address of the user (filled out in the form) you could let the user skip to enter their shipping address. There are 3 options you can choose from. The most common one to choose would normally be the default value, but you can change it to any of the following if required:

Step 5 – Choosing the payment checkout type

In order to be able to checkout with PayPal, PayPal must know what type of checkout you want to do. It allows you to handle 4 different checkout types/methods. Depending on your needs you can choose one of the following methods:

Each payment method is explained here:

Single product or service checkout

This method is meant for only 1 product checkouts. When using this payment method you will only have to set the Item description (this will be your product name). The Item description option is compatible with {tags} so you can dynamically set this based on user selected options in your form. Of course your product has a price, which you can set under Item price (must be float number e.g. 12.59). The Item price option is also compatible with {tags} so you can also dynamically set the price based on user selected options in your form. The last requirement is the Quantity to be added to the PayPal checkout basket (must be a numeric value).

Below you can see all the settings with example values that you could enter:

Donation checkout

The Donation checkout method is only used for... (you guessed it) donations. A donation checkout requires the same options as the Single product or service checkout method with the exception that there is no Quantity option available for this method.

Subscription checkout

The Subscription checkout can be used when you wish to create a new subscription for the user who filled out the form. When enabled you will be prompted to choose the Item description just like you would with the Single product and Donation methods. The Subscription checkout has an extra option to set Subscription periods. Here you will be able to adjust the time frame regarding the subscription. A subscription may also have a trial period and a second trial period. The Subscription periods option is compatible with {tags} so you can dynamically create subscription time periods based on user selected options in your form. A good way to achieve this would be to use a variable field.

Please refer to the below examples to fully understand how to set it up for your own use cases:

Example without trial period:

You want to create a subscription without a trial period that costs $20.50 p/m:

Example with 1 trial period:

You want to create a subscription with 1 trial period for 3 days and after trial period is over $2 per week:

Example with 2 trial periods:

You want to create a subscription with 2 trial periods (1st 1 week trial), 2nd (2 weeks for $3 p/w), after that $18 p/m:

Cart checkout (for multiple product checkout)

The Cart checkout will only be used and required whenever you want to send users to the PayPal checkout where they will checkout multiple products at once. In other words, it will function as a shopping bag/cart just like with a regular web shop. To add multiple items to the PayPal checkout you have to enter each item under the Items to be added to cart option. Each item can contain the following variables:

{price}|{quantity}|{item_name}|{tax}|{shipping}|{shipping2}|{discount_amount}|{discount_rate}

In most use cases you will only be using the first 3 options like so:

{price}|{quantity}|{item_name}

Example with fixed values:

You want to add 2 products to the PayPal cart (5x Flowers $3.49) and (3x Towels $7.25):

Example with dynamic price, retrieved from your form with tags:

Based on user selected option you want to dynamically return the price for a fixed product and the user selected quantity:

Example with products inside a dynamic column:

Let's say you have a dynamic column setup with super forms with inside quantity element, dropdown for product name, and a variable field that is updated based on the dropdown option. You will have multiple products depending on how many times the user would add a new set of fields by clicking the + button on the dynamic column. You will be able to simply enter the following {tags} and it will automatically add all the available options to the PayPal checkout.

Step 6 – Setting up return URL

After you finished all the above steps and chosen your desired payment method for your checkout, you can now setup a proper return URL. This is the URL where a user will be redirect to after the user successfully returns from PayPal. This can be any URL of your choosing. By default it will be http://yourdomain.com/?page=super_paypal_response PayPal will post information about the transaction in the form of Instant Payment Notification messages. This can optionally be used by the developer to display any data regarding the payment on the page.

Note: make sure you properly change this to your own needs before going live.

Step 7 – Setting up cancel URL

This URL will be used to redirect the user back to your website after they canceled the checkout process on PayPal checkout page. User that cancels payment will be redirected to this URL. This can be any URL of your choosing, but by default it will be: http://yourdomain.com/my-custom-canceled-page

Note: make sure you properly change this to your own needs before going live.

Step 8 – Sending E-mail after payment completed

Of course you'd like to notify your customer after the payment was completed. Perhaps you want to send them an attachment, or a signup URL, or just the overview of their order. You can do so by enabling the option Send email after payment completed and configuring the email settings.

Step 9 – Testing with sandbox account before going live

The last step is to test your form functioning before going live. Use your PayPal sandbox account to simulate payments and various form submissions. If you have created an advanced form with Super Forms, try to test as many of the possible variations your form offers before going live. If everything was setup correctly you should see transactions and/or subscriptions coming in under Super Forms > PayPal transactions/subscriptions. If you are not seeing any transactions coming in, you have to look in your sandbox account for response codes from the IPN.

PayPal Transactions:

PayPal Subscriptions:

Tip: it is recommended to always enable the PayPal Sandbox mode during testing of your form. That way you can test as many times as you wish without making real transactions with real money. You can create a here.

If you do not want information about each payment method you can click here to

Where price, quantity and item_name should be replaced with your field names, please read the Tags system for more information about tags. To fully understand how PayPal handles these variables please read the . Please refer to the below examples to fully understand how to set it up for your own use cases:

sandbox account
PayPal's Variable Reference
Single product or service checkout
Donation checkout
Subscription checkout
Cart checkout (for multiple product checkout)
Step 6 – Setting up return URL
Enable PayPal checkout for your WordPress form.
PayPal enable sandbox mode for your WordPress form
PayPal enter the merchant email
PayPal checkout currency setting.
PayPal shipping requirement settings.
PayPal checkout payment type.
PayPal single product or service checkout.
PayPal subscription without trial period.
PayPal subscription with one trial period.
PayPal subscription with multiple trial periods.
PayPal checkout products with fixed price and quantity.
PayPal cart checkout with dynamic price and quantity.
PayPal cart checkout with multiple products.
Configure PayPal cancel URL.
PayPal transactions list WordPress back-end
PayPal subscriptions list WordPress back-end
Enable PayPal checkout for your WordPress form.
PayPal enable sandbox mode for your WordPress form
PayPal enter the merchant email
PayPal checkout currency setting.
PayPal shipping requirement settings.
PayPal checkout payment type.
PayPal single product or service checkout.
PayPal subscription without trial period.
PayPal subscription with one trial period.
PayPal subscription with multiple trial periods.
PayPal checkout products with fixed price and quantity.
PayPal cart checkout with dynamic price and quantity.
PayPal cart checkout with multiple products.
Configure PayPal cancel URL.
PayPal transactions list WordPress back-end
PayPal subscriptions list WordPress back-end