Plugin Documentation

Detailed documentation about all features and settings of CP Contact Form with PayPal.

How it works?

From the dashboard/configuration area the process is as follows:

  1. Insert data fields into the form
  2. Configure the general form processing, email and PayPal settings if needed
  3. Publish the form from a post or page (go to edit posts or pages).

From the end user (visitor) point of view, the process is as follows:

  1. The user fills the data fields
  2. If PayPal integration isn't enabled:
    1. The user clicks "submit" and you (the website owner or administrator) receive a notification email with the data posted by the user.
    2. The user receives an automatic "confirmation/thank you" email.
    3. The user is redirected to a "confirmation/thank you" page into your WordPress website
  3. If PayPal integration is enabled:
    1. The user clicks "submit" and is automatically sent to PayPal for the payment
    2. In background (transparent to the user): The request is saved into the local database and mark as "un-paid"
    3. The user completes the payment at PayPal
    4. In background (transparent to the user): Upon completed the payment, you (the website owner or administrator) receive a notification email with the data posted by the user.
    5. In background (transparent to the user): The request is marked as "paid".
    6. The user receives an automatic "confirmation/thank you" email.
    7. The user returns to a "confirmation/thank you" page into your WordPress website

Installation

To install the WordPress plugin follow these steps:

  1. Download the plugin to your computer.
  2. Go to the plugins section in WordPress
  3. If has been installed installed another version of the plugin, deactivate it, and then press the corresponding "Delete" button.
  4. Press the "Add New" button at top of section.
  5. Press the "Upload Plugin" button, and select the zipped file downloaded in the first step.
  6. Finally, install and activate the plugin.

Inserting the form on Page

  1. Configure the settings at the administration menu >> Settings >> CP Contact Form with PayPal.
  2. To insert a form into some pages or posts, uses the icon that will appear when editing contents:

    Insert Form

  3. After doing that, the tag [CP_CONTACT_FORM_PAYPAL id="1"] will be inserted into your content. The "id" is optional, if not specified the first form will be used. When you preview the content in the public website that tag will be replaced by the reservation form:

    Form

Managing Forms

After going to the WordPress administration menu >> Settings >> CP Contact Form with PayPal you will see the list of forms like in the following image:

Forms List

For each form you will see the following options:

  • ID: Identification number of the form, useful when publishing an specific contact form.
  • Form Name: Name to identify the form. Visible only from the admin area.
  • Update: Updates the form name.
  • Settings: For managing the form settings.
  • Clone: Duplicate/clone a form.
  • Messages: Printable list of messages (both paid and unpaid).
  • Delete: Deletes the form and all its messages and settings.
  • Shortcode: An alternative way for publishing the form.

After clicking the "Settings" button you will jump to a new page with the form builder a other configuration options as explained below.

Check the submissions

Press the "Messages" button, corresponding to the form. The messages screen displays the list of submissions, and a filtering section to reduce the submissions by form, a time interval, or a text in the data

From the messages screen it is possible remove a submission, or submissions group, change its status to paid/unpaid, but from this screen is possible export all submissions to a CSV file

Export the submissions to a CSV File

For exporting the submitted information to a CSV file, press the "Messages" button corresponding to the form, and press the "Export to CSV" button, select the location where will be saved the CSV and that's all. The first row of CSV file allows identify each of fields, the text used to identify the field will be the short label, defined in the field, or the label in case that the short label is not defined.

The Form Builder

The Form Builder lets you to add/edit/remove fields into the form and also to specify the validation rules for your form (required fields, email fields, etc...).

Form Builder

Form title and predefined designs

The "Form Settings" tab allows define the form's title and description, as the placement of labels respect the fields (at top, at left, aligned to the right). In the "Form Settings" tab is possible to decide the form's design. The plugin includes multiple predefined designs.

Form Settings Tab

The following field types are currently available(*):
  • Single Line Text: Classic text input.
  • Number: This field can validate if only digits or a valid number was entered.
  • Slider: Numeric field whose value is modified sliding a handle.
  • Currency: A classic input field for currency values, that allows separator for thousands, and currency symbols.
  • Hidden: A hidden field.
  • Email: This field validates that the email address has a valid format.
  • Date/Time: Date-picker. Can be setup also to show also a selectable year and month, for example for birth date fields, and time fields.
  • Checkboxes: Classic checkboxes, select one or more on a group.
  • Multiple Choice: Radio buttons, select one of many.
  • Dropdown: Classic select / dropdown field.
  • Upload File: For uploading files.
  • Password: A field that shows * instead the typed letters. You can also add a confirm password validation.
  • Phone field: Supports international formats line ###-###-#####. The format is configurable.
  • Comment area: It's a comment to introduce to a section of the form or give instructions to the user.
  • Summary: Displays a summary of form fields with the values entered.
  • Section Break: It's a line for separating areas group of fields
  • Page Break: Useful for creating multi-page forms. The "page break" marks the start of a new page in the form builder
  • Instruct. Text: Text field to display instructions for users.
  • HTML Content: Field for general purpose, to include HTML tags in the form.
  • Media: Allows insert images, audios or videos.
  • Button: Insert a button in the form.

* Note: Some of the field types are available only in the Developer and Platinum versions of the plugin.

Container Fields

The form builder includes some container controls. The container controls allow to insert another controls in them:

  • Fieldset Container: Allows insert a fieldset control in the form, with a legend.
  • Div Container: Inserts a container very useful for grouping related controls, and not modifies the appearance of the form.
DataSource Fields

In addition to the above, the following fields are available only in the Developer and Platinum versions of plugin:

  • Line Text DS: An input field that gets its default values from one of following datasources - Database, Posts information, Taxonomies information or Users information.
  • Number DS: An input field that gets its default values from one of following datasources - Database, Posts information, Taxonomies information or Users information.
  • Email DS: An input field for Email address that gets its default values from one of following datasources - Database or Users information.
  • Text Area DS: A text area field that gets its default values from one of following datasources - Database, Posts information.
  • Checkboxes DS: Checkboxes for selecting one or more options into the same field that gets its options from one of following datasources - Database, CSV, Posts information, Taxonomies information or Users information.
  • Radio Btns DS: Radiobuttons for selecting one option between the options available for the field that gets its options from one of following datasources - Database, CSV, Posts information, Taxonomies information or Users information.
  • Drop-down DS: A select / drop down list for selecting one of the values listed that gets its options from one of following datasources - Database, CSV, Posts information, Taxonomies information or Users information.
  • Hidden DS: A hidden field that gets its value from one of following datasources - Database, Posts information, Taxonomies information, or Users information.
Editing the field settings in the Form Builder

Field Settings

When you click a field already added, you can edit its details and validation rules. The following properties are useful:

  • Field Label: Label for the field in the public form and into the email.
  • Field tag for the message: In addition to the general <%INFO%> tag, you can use this tag to show the field value into a specific tag of the email.
  • Specific settings: The settings depends of the field type, for example the format of the phone number, the date format, etc...
  • Validation rule: The validation rules depends of the field type, example: required, only digits, valid email, valid number, etc...
  • Predefined value: Pre-filled value for the field, if any.
  • Instructions for user: This text will appear in a smaller form below the field. It's useful for giving instructions to the user.
  • Add CSS layout keywords: Customize the look & feel. If used, this field must contain the name of the CSS class and not the styles rules directly.
Other features in the form builder:
  • Equal fields validation: Use it for example to confirm if the email or password typed in two different fields are the same. This is valid for "Single Line Text", "Password" and "Email" fields.
  • Dependent fields: Use this feature for show/hide fields (any field type) based in the selection made on other fields (checkboxes, radiobuttons or select/drop-down fields).
For DataSource controls (only available in the Developer and Platinum versions of plugin)

This is a step by step about the use of datasource controls

  1. Insert in the form the control with access to external datasources (these controls are represented with the DS at the end of its names)
  2. Select the control in the form, and pays attention to the "Define Datasource" section.

    There are different datasources: Database, CSV file, Post Type, Taxonomy, and User Data.

    • Database, allows populate the field with the data stored in database.
    • CSV, allows populate the field with the data stored in a CSV file (Datasource available only in fields with multiple entries: DropDown DS, Checkbox DS, Radio Button DS).
    • Post Type, allows populate the field with the information associated to a specific post type (like the products names in a Woocommerce, etc.)
    • Taxonomy, allows populate the field with the information of taxonomies.
    • And finally the User Data, with the data of users in WordPress.

    Note: Depending of control selected will be available all available datasources, or not.

So, suppose we want populate the field with the data stored in a database table.

  1. Select Database, from the list of datasources.
  2. If the database is different that used by WordPress, will be required enter the Host's address, the authentication data to connect to the database (username and password), and the name of database(a host can include multiple databases). There is a button for testing the database connection.

    Note: If the database is the same used by WordPress, leave empty the fields above.

Now its time to define the query to database

  1. Enter the name of table's column, that store the control's values. If you are using the Drop-down DS control, it has multiple options; each option of drop-down list includes a value and text; in this option you determine the column in the table that includes the values of options.
  2. Enter the column's name that stores the control's texts. Similar to the previous step, but in this case the column stores the texts of the options (in case of checkbox or radio buttons, this column contain the label of options)
  3. Type the table name, a database can include multiple tables, you should identify the table you are using.
  4. Type a condition if required. If you want filtering the values to display in the control, type the condition in this attribute. For example, suppose you want load the data of posts that are public, the condition in this case would be: post_status='publish', where post_status is the name of column, and publish is the value for filtering.
  5. The "Order by" is used to order the query results by the values in columns, and not by the order that data were stored in database. For example, suppose you want populate the control with the users names of WordPress, and you want order the results alphabetically, in this case the "order by" would be: display_name ASC, where display_name is the column's name, and will be ordered in ascending way.
  6. Limit, enter an integer number to reduce the number of query results.

If your query is very complex, and you prefer create it manually; selects the option "Custom Query", but in this case you should type all the query. Pay attention because you should use alias in the "SELECT" clause, to indicate the colum used to get the values, and the column used to get the texts. For example, a hypothetical query:

SELECT column1 AS value, column2 AS text FROM tablename WHERE column3 > 5 ORDER BY column2 ASC LIMIT 5

The use of database as datasource, allows filtering the information to populate the fields with the values on other fields in the form, or javascript variable. The use of variables are only accepted in the "Condition" section ("WHERE" clause), and requires the format: <%varname%>. For example, to get the title of a post, filtering by its ID, if the id is defined through the fieldname3 field, the "Condition" attribute of the query would be: ID=<%fieldname3%>

How to use CSV files as datasource?

The CSV files can be used as data sources for fields with multiple choices (DropDown DS, Radio Btns DS, Checkboxes DS). The initial steps are similar to the previous section, but selecting the "CSV" option as data-source instead of selecting "Database".

A comma-separated values (CSV) file stores tabular data (numbers and text) in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. The use of the comma as a field separator is the source of the name for this file format.

For CSV files, the plugin includes the attributes:

Select CSV file: file field to select the CSV file.

Use headline: tick the checkbox if the first line of CSV file is a headline to identify the data in the next records.

Delimiter: enter the delimiter symbol used as the field separator on each record.

Press the "Import CSV" button to import the records into the form. This action will feed the lists "Select column for texts" and "Select column for values", that are used for selecting which fields will be used texts and values of the choices in the DS field.

Create dependencies between fields

Some fields, like radio groups, checkboxes and drop-down menu, allow dependencies in function to the option selected.

For example, suppose your form includes a radio-group control with multiple choices: - House, - Car, - Electrodomestics, and each of them, uses different attributes. The house requires fields for address, number of rooms, etc; the car requires a field for trademark, model, etc. and finally the electrodomestics, will need type of electrodomestic,and more. So, if you want display the fields, depending of choice selected:

  1. Select the radio group fied in the form editor.
  2. Press the "Show dependencies" link, in the choices area.
  3. and select the field to display if the choice is selected. If you need associate multiple fields to the choice, press the plus button and select the new fields.

Settings area of the forms

For each form you will be able to edit the following settings:

Form Builder: Already explained in the previous sections (see above).

Validation Settings:

Validation Settings

This area contains the "texts" used for the validations. You can easily translate them to other languages.

  • is required: Error message for required field.
  • is email: Error message for email format.
  • is valid date (mm/dd/yyyy): Error message for date format.
  • is valid date (dd/mm/yyyy): Error message for date format.
  • is number: Error message if the value is not a number.
  • only digits: Error message if the value has not only digits.
  • under maximum: Error message if the value is not in the correct interval.
  • over minimum: Error message if the value is not in the correct interval.
PayPal Payment Configuration:

PayPal Payment Configuration

  • Enable Paypal Payments: Allows to enable/disable the PayPal payment option.
  • When should be sent the notification-confirmation emails?: Select if you want to receive the email before or after receiving the PayPal payment.
  • PayPal mode: Select here if you want to process real payments (production mode) or you want to test the form with the PayPal Sandbox.
  • PayPal email: The email of the PayPal that will receive the payments.
  • Request cost: Payment amount requested to confirm a booking.
  • Automatically identify prices on dropdown and checkboxes? If marked, any price in the selected checkboxes, radiobuttons and dropdown fields will be added to the above request cost. Prices will be identified if are entered in the format $NNNN.NN, example: $30 , $24.99 and also $1,499.99
  • Use a specific field from the form for the payment amount: If selected, any price in the selected field will be added to the above request cost. Use this field for example for having an open donation amount.
  • Currency: The currency, example: USD, EUR, GBP, etc...
  • Taxes (percent): Taxes percent to apply at PayPal, if any.
  • Request address at PayPal: Select if you want to request the customer address at PayPal.
  • A $0 amount to pay means: Select "skip payment" for accepting 100% discount codes or select "let the user enter any amount" for accepting donations or open payment amounts. The "Base Amount" attribute has precedence over this attribute.
  • PayPal product name: The name that will appear to the customer at PayPal. It is possible to define the name of the product through a field in the form. For example, for defining the product name with the value entered in the fieldname3 field, should be entered the special tag <fieldname3> as the value of this attribute.
  • PayPal language: The language that will be used for the PayPal payment. It's any PayPal supported language.
  • Payment frequency: Select here if you will be requesting a one-time payment or a recurrent/subscription payment.

    For recurring payments it is possible define a first period price different to the next recurring payments.

  • Discount Codes: Use this section to define the accepted discount codes and the discount percent. A 100% discount means that the payment isn't required.
PayPal Pro Integration

PayPal Pro Add-on

With the PayPal Pro Integration (only Developer and Platinum versions of the plugin) you can insert a form into a WordPress website and use it to process credit card payments directly into your website without navigating to an external payment page.

You can check the differences betwen PayPal Pro and PayPal Standard at https://www.paypal.com/webapps/mpp/compare-business-products

For integrating PayPal Pro you must have a PayPal Pro account. In addition to that a SSL connection is also needed, the SSL connection isn't a technical requirement since the plugin can work without it but anyway it is strongly recommended for accepting credit cards into your website, otherwise the transactions won't be secure.

In the settings area the following information is needed to activate and link the PayPal Pro account to the form:

  • Enable PayPal: Select "PayPal Pro" to enable PayPal Pro.
  • PayPal Pro - API UserName: The API Username provided by PayPal into your account.
  • PayPal Pro - API Password: The API Password provided by PayPal into your account.
  • PayPal Pro - API Signature: The API Signature provided by PayPal into your account.

When enabled, the form on the public website will display an additional set of fields to request the data needed to process the payment, like for example the billing address, credit card details. This info is only for the payment processing, as mentioned it won't be stored into the website unless explicitly indicated.

After the submission Once the payment is processed and the posted data (excluding the credit card related information unless explicitly indicated) is saved into the WordPress database.

Turning on the option to store the payment information:

Even when not recommended in most cases, the pugin offers the possibility to store the payment information. To enable this option set the settings field "Store payment info?" to "Yes" into the PayPal Pro settings area.

With that setting enabled you can use the following tags into the notification emails:

<%ppro_firstname%>
<%ppro_lastlame%>
<%ppro_cctype%>
<%ppro_ccnumber%>
<%ppro_expmonth%>
<%ppro_expyear%>
<%ppro_cvv%>
<%ppro_address1%>
<%ppro_address2%>
<%ppro_city%>
<%ppro_state%>
<%ppro_zip%>
<%ppro_country%>

The credit card number will be automatically masked as XXXX-XXXX-XXXX-1234 for security reasons.

Form Processing / Email Settings:

Form Processing/Email Settings

  • "from" email: The email used as from in the notifications.

    It is strongly recommended the use of an email address in the website's domain. The main emails services (as Gmail, Hotmail, Yahoo, MSN, etc.) check the correspondence between the email address in the "Sender" header on emails, and the domains that send the emails. If the correspondence fails, the emails can be managed as Spam or as a "Phishing" email, in whose case would be deleted for security reasons.

  • Destination emails (comma separated): List of administrators that will receive the email notification.
  • Email subject: Subject of the notification email sent after completing the payment.
  • Include additional information?: Optional information about the user IP and browser.
  • Thank you page (after sending the message): After the completing the payment the user may go back to a page into your website (usually a "thank you" page). Type the page address into this field.
  • Email format? Select if the email will be sent as plain-text or HTML-formatted.
  • Message: Content of the notification email that you will receive. Keep the tag <%INFO%>, it will be replaced automatically with the form data send by the user.
Email Copy to User:

Email Copy to User

  • Send confirmation/thank you message to user?: Select if you want to sent the "confirmation/thank you" message to the user.
  • Email field on the form: Select here the field that contains the user's email on the form.
  • Email subject: Subject of the email sent to the user after payment
  • Email format? Select if the email will be sent as plain-text or HTML-formatted.
  • Message: Content of the email sent to the user after payment. The tag <%INFO%> will be replaced by the information sent using the form, if needed.
Captcha Settings:

Captcha Settings

  • Use Captcha Verification?: Select if the captcha image will be used.
  • Width: Width of the captcha image.
  • Height: Height of the captcha image.
  • Chars: How many characters will appear in the captcha image.
  • Min font size: Minimum size used for the font (randomized).
  • Max font size: Maximum size used for the font (randomized).
  • Preview: Preview for checking how the captcha image will look.
  • Noise: Amount of noise to make it stronger.
  • Noise Length: Length of the noise to modify its look.
  • Background: Background color.
  • Border: Border color.
  • Font: Base font used to render the text. Four options already included.

Special tags in the notification emails

There are special tags that can be used in the notification emails to display the forms information:

<%INFO%>, the tag <%INFO%> is replaced by the labels and values of fields that are submitted from the form.

To insert only specific fields, use the format <%fieldname#%>, for example, if you want include the fieldname1 and fieldname3 in the notification email, use the tags <%fieldname1%>, and <%fieldname3%>, the tag will be replace by value of field.

To display the final price posted to PayPal, after apply the discount if was defined, use the tag <%Cost%>

To display the tax posted to PayPal, use the tag <%Costtax%>

To display the coupon/discount applied, if was applied a discount, uses the tag <%coupon%>

To display the payment option selected, in case that PayPal has been set as optional, use the tag <%payment_type%>

To include an unique number that identifies the submitted data into the system, uses the tag <itemnumber>. This number allows to identify easier the PayPal transference, and could be used as an order reference.

To display the tax posted to PayPal, use the tag <%Costtax%>

Other tags supported are:

  • <%user_login%>: Username of the user logged in to the site that made the submission (if any)
  • <%user_id%>: ID of the user logged in to the site that made the submission (if any)
  • <%user_email%>: Email of the user logged in to the site that made the submission (if any)
  • <%user_firstname%>: Firstname of the user logged in to the site that made the submission (if any)
  • <%user_lastname%>: Lastname of the user logged in to the site that made the submission (if any)
  • <%display_name%>: Display name of the user logged in to the site that made the submission (if any)


Payment Integration

To enable a specific payment method you should enable the related add-on.

The same form can be connected to multiple payment gateways at the same time, in that case the user will see a radio-button group to select which payment method prefers to complete the submission. With payments enabled the notification and confirmation emails are sent after completing the payment.

The following sections explain the different payment gateway integrations available in the plugin.

PayPal Standard Payments Integration add-on

PayPal Standard is built-in into the plugin, for more details about setting up PayPal Standard check the documentation of the settings area of the form.

PayPal Pro add-on

PayPal Pro Add-on

With Payment Form for PayPal Pro you can insert a form into a WordPress website and use it to process credit card payments directly into your website without navigating to an external payment page.

You can check the differences betwen PayPal Pro and PayPal Standard at https://www.paypal.com/webapps/mpp/compare-business-products

For integrating PayPal Pro you must have a PayPal Pro account. In addition to that a SSL connection is also needed, the SSL connection isn't a technical requirement since the plugin can work without it but anyway it is strongly recommended for accepting credit cards into your website, otherwise the transactions won't be secure.

For more details about setting up PayPal Pro check the documentation of the settings area of the form.

When enabled, the form on the public website will display an additional set of fields to request the data needed to process the payment, like for example the billing address, credit card details. This info is only for the payment processing, as mentioned it won't be stored into the website unless explicitly indicated.

After the submission Once the payment is processed and the posted data (excluding the credit card related information unless explicitly indicated) is saved into the WordPress database.

Authorize.Net Server Integration Method (www.authorize.net) add-on

Authorize.Net

The Authorize.net Server Server Integration Method (Authorize.net SIM) is a hosted payment processing solution that handles all of the steps in processing a transaction, including:

  • Collecting customer payment information through a secure, hosted form
  • Generating a receipt to the customer
  • Securely transmitting to the payment processing networks for settlement
  • Funding of proceeds to the merchant's bank account
  • Securely storing cardholder information

Authorize.net SIM is an ideal integration solution because merchants are not required to collect, transmit, or store sensitive cardholder information to process transactions. Additionally, Authorize.net SIM does not require merchants to purchase and install a SSL or TLS digital certificate, reducing the complexity of securely handling and storing cardholder information, simplifying compliance with the Payment Card Industry (PCI) Data Security Standard. For more information go to www.authorize.net

Authorize.Net Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Authorize.net Server Integration Method", and press the "Activate/Deactivate addons" button

Authorize.Net settings

In the settings area the following information is needed to activate and link the Authorize.net Server Integration Method account to the form:

Enable Authorize.net SIM?: Select "Yes" to enable the Authorize.net Server Integration Method payment.

Mode: Change the mode between "test" for testing purposes and "production" for accepting real payments.

API Username: Change this value with API Username received from Authorize.net.

API Key: Change this value with API Key received from Authorize.net.

Receipt URL: User will return here after a successfull payment. Important!: You must also configure the receipt link URL in the Merchant Interface.

Cancel URL: User will return here if payment fails.

In addition to the above required setting fields there are other fields to link the form fields to the Authorize.net payment form, like for example the client name, address, phone, email, ... These fields are optional. To link the fields you can indicate the ID of the field on the form that contains the related info. Sample values: fieldname1, fieldname2, ..

When enabled, the customer will be redirected to the Authorize.net Server Integration Method payment form after the submision. The process will be similar to the way PayPal Standard works.

Stripe (www.stripe.com) add-on

Stripe

The Stripe Payments addon provides a way to accept all major cards from customers around the world on web. This addon requires SSL on your website to be able to carry the transaction in a secure way. Credit card data is entered directly in the website without navigating to an external page.

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Stripe Payment Integration", and press the "Activate/Deactivate add-ons" button...

In the settings area the following information is needed to activate and link the stripe account to the form:

Stripe settings

  • Enable Stripe?: Select "Yes" to enable the stripe Payments Integration.
  • Stripe.com Publishable Key: Publishable Key you will find into your Stripe account.
  • Stripe.com Secret Key: Secret Key you will find into your Stripe account.
  • Payment frequency? Select "one-time payments" or recurrent (subscription) payments.
  • Trial period length in days for subscription payments: If recurrent payments is selected put here the trial period length in days if any.
  • Plan name for subscription payments: If recurrent payments is selected put here the plan name for subscription payments.

When enabled, after clicking the CP Contact Form with PayPal submit button, a Stripe floating panel will be displayed to ask for the credit card data and process the transaction and after that the form submission will continue as usual keeping the customer all the time into your website.

Skrill (www.Skrill.com) add-on

Skrill

The Skrill Payments addon provides a secure interface for accepting payments through a secure page. You can accept cards, more than 20 local payment methods and over 80 direct bank transfer connections with a single integration. Form more information go to https://www.skrill.com/en/merchants/

Skrill Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Skrill Payment Integration", and press the "Activate/Deactivate addons" button.

Skrill settings

In the settings area the following information is needed to activate and link the Skrill account to the form:

Enable Skrill Payments?: Select "Yes" to enable the Skrill Payments Integration.

Skrill Email?: Emai linked to the Skrill merchant account, this will be the account that will receive the payments.

Receipt URL: User will return here after a successfull payment.

Cancel URL: User will return here if payment fails.

Currency: Currency code for the received payment. example: USD, EUR, CAD, GBP ....

When enabled, the customer will be redirected to the Skrill hosted payment form payment form after the submision. The process will be similar to the way PayPal Standard works.

TargetPay (iDeal) add-on

TargetPay (iDeal)

The TargetPay addon provides integration with iDeal, the most popular Dutch payment method. The integration is made via TargetPay: https://www.targetpay.com/info/ideal?setlang=en

With TargetPay you can set up iDEAL payments for your website easily. Acting as a "Payment Service Provider" it aggregates payments for a large number of webstores. The iDEAL platform combines the online banking systems of 10 of the largest Dutch banks (ABN AMRO, ASN Bank, Bunq, ING, Knab, Rabobank, RegioBank, SNS Bank, Triodos Bank and van Lanschot) into one payment method.

After the consumer selects the iDEAL payment method the consumer's bank is selected. The actual payment then takes place in the bank's trusted online banking environment for which security is guaranteed by the bank. Through iDEAL buyer and seller are guaranteed a transparent transaction without hidden fees or other unpleasant surprises.

TargetPay (iDeal) Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "iDeal TargetPay", and press the "Activate/Deactivate Addons" button.

TargetPay (iDeal) settings

In the settings area the following information is needed to activate and link the iDeal-TargetPay account to the form:

Enable iDeal-TargetPay?: Select "Yes" to enable the iDeal-TargetPay payment option for the form.

RTLO Subaccount ID: Change this value with the account ID received from iDeal-TargetPay.

If payment fails return to this page: Return page if the payment fails or is cancelled before completing it.

Payments Mode: Change the mode between "test" for testing purposes and "production" for accepting real payments.

When enabled, the customer will be redirected to the iDeal-TargetPay payment form after the submision. The process will be similar to the way PayPal Standard works.

Mollie (iDeal) add-on

iDeal

The Mollie addon provides integration with iDeal, the most popular Dutch payment method. The integration is made via Mollie: www.mollie.com.

You're easily connected to iDEAL through Mollie without the dreaded technical and administrative hassle. The iDEAL platform combines the online banking systems of 10 of the largest Dutch banks (ABN AMRO, ASN Bank, Bunq, ING, Knab, Rabobank, RegioBank, SNS Bank, Triodos Bank and van Lanschot) into one payment method.

After the consumer selects the iDEAL payment method the consumer's bank is selected. The actual payment then takes place in the bank's trusted online banking environment for which security is guaranteed by the bank. Through iDEAL buyer and seller are guaranteed a transparent transaction without hidden fees or other unpleasant surprises.

Mollie (iDeal) Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "iDeal Mollie", and press the "Update" button...

Mollie (iDeal) form settings

In the settings area the following information is needed to activate and link the Mollie - iDeal account to the form:

Enable iDeal-Mollie?: Select "Yes" to enable the Mollie - iDeal addon.
Mollie API Key: The API Username provided by Mollie for your account, it may be the test key or the production key.
If payment fails return to this page: If the payment fails the customer is redirected to the page indicated in this field.

When enabled, the customer will be redirected to the Mollie - iDeal payment form after the submision. The process will be similar to the way PayPal Standard works.

RedSys / Servired / Sermepa add-on

RedSys Document

The RedSys / Servired / Sermepa addon provides a secure interface for accepting credit card payments through most banks in Spain (Sabadell, Banco Popular, BBVA, Santander, Bankia, Caixa, Bankinter, etc...). You can read more about RedSys at www.redsys.es.

RedSys TPV Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "RedSys TPV", and press the "Update" button...

RedSys TPV form settings

In the settings area the following information is needed to activate and link the RedSys account to the form:

Enable TPV: Select "Yes" to enable the RedSys TPV. If "Pay Later" or "PayPal" are also selected in this option, a radiobutton will appear in the form to select if the payment will be made with RedSys, with PayPal or if the form will be submitted without payment.
CÓDIGO COMERCIO: The API Username provided by RedSys or your bank.
CLAVE SECRETA: The API Password provided by RedSys or your bank.
Mode: Select "Sandbox" for testing purposes and "Production" for charging real payments.

When enabled, the customer will be redirected to the RedSys payment form after the submision. The process will be similar to the way PayPal Standard works.

SagePay add-on

SagePay

The SagePay addon provides a secure interface for accepting payments through SagePay. You can read more about SagePay at www.sagepay.co.uk.

SagePay Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "SagePay", and press the "Update" button...

SagePay form settings

In the settings area the following information is needed to activate and link the SagePay account to the form:

Enable SagePay?: Select "Yes" to enable the SagePay payment gateway.
Vendor ID: The Vendor ID provided by SagePay.
SagePay Encrypt Password: The SagePay Encrypt Password provided by PayTM.
Mode: Select "Sandbox" for testing purposes and "Production" for charging real payments.

When enabled, the customer will be redirected to the SagePay payment form after the submision. The process will be similar to the way PayPal Standard works.

Sage Payment add-on

Sage Payment

The SagePayments addon provides a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions. All authorized and approved transactions will be delivered into your current bankcard and/or virtual check batches viewable within the Virtual Terminal for order processing and settlement. You can read more about Sage Payment Solutions at http://www.sage.com/us/sage-payment-solutions/accept-payments. The integration implemented in this addon is for Sage Payment Solutions >> Shopping ExpressPay

Sage Payment Add-On

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", "SagePayments Payment Gateway", and press the "Update" button.

Sage Payment form settings

In the settings area the following information is needed to activate and link the Sage Payment Solutions >> Shopping ExpressPay account to the form:

Enable SagePayments?: Select "Yes" to enable the SagePayments TPV.

Merchant ID (M_id): Change this value with M_id received from SagePayments.

In addition to the mentioned two required setting field there are other fields to link the form fields to the Sage Payment Solutions payment form, like for example the client name, address, phone, email, tax and shipping cost. These fields are optionals and to link the fields you can indicate the ID of the field on the form that contains the related info. Sample values: fieldname1, fieldname2, ...

When enabled, the customer will be redirected to the Sage Payment Solutions payment form after the submision. The process will be similar to the way PayPal Standard works.

Add-Ons

The list of add-ons available in the plugin, appear in the "Add-ons area" of settings page of the plugin. For enabling the add-ons, simply should tick the corresponding checkboxes, and press the "Activate/Deactivate Addons" button.

Add-ons



iCal Export Attached add-on

With iCal addon the users will receive an iCal file as part of the confirmation email after the form submission. The iCal file allows to be imported into most popular calendars like Outlook and Google Calendar.

To activate the new iCal attachment add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "iCal Export Attached", and press the "Activate/Deactivate addons" button.

With the add-on activated go to the form settings page and at the bottom of that page you can configure the iCal file that will be attached into the emails. You will need to specify the ID of the field that contains the date and you can modify the iCal content and time conversion settings if needed.

In the settings area the following information is needed to activate and setup the addon:

iCal export settings

  • ID of the field that contains the date: ID of the field that contains the date, must be a date field. Example: fieldname1. If empty the iCal won't be generated.
  • iCal entry summary: Summary of the iCal event. You can get the field IDs/tags from the form builder to customize this field with the submitted data.
  • iCal entry description: Description of the iCal event. You can get the field IDs/tags from the form builder to customize this field with the submitted data.
  • iCal timezone difference vs server time: If you see differences in the selected and imported dates in the calendar then use this field to adjust that difference.
  • Observe daylight saving time?: Indicates if the daylight saving time will be taken in account.
  • Daylight saving time zone: If the daylight saving time will be used then indicate here the zone used as reference.

When enabled, after clicking the Calculated Fields Form submit button, an iCal file will be generated and attached to the emails.



Signature add-on

Signature Add-on

The add-on converts the form fields selected in "Signature" fields, allowing the users to sign with the mouse or directly in the touchscreens.

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Signature", and press the "Update" button.

Signature Add-on

From the form's settings, selects the fields to convert in Signature fields. It is possible convert multiple fields in the form in signature fields.

Signature settings:

Color: the color code for signatures. For example: #000000

Line thickness: an integer number defining the line thickness of the signature.

Show guideline: checkbox to include or not a guideline in the signature fields.

Guideline color: the color code for guideline. For example: #000000



MailChimp add-on

MailChimp Logo

The add-on creates new members in the MailChimp service with the information collected by the forms in the website: www.mailchimp.com.

MailChimp is an online email marketing solution to manage subscribers, send emails, and track results.

* MailChimp is a third party service not related to our company. MailChimp may charge for their service.

MailChimp Subscribers

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "MailChimp", and press the "Update" button...

After activating the MailChimp add-on, the form settings will include a new section to create the correspondence between the signup form associated to a list in MailChimp, and the form fields in the form created with the "CP Contact Form with PayPal" plugin.

MailChimp Settings

  1. Enter the API Key.
  2. Press the "Get Lists" button. The action generates a list with all "Lists" associated to the MailChimp account.
  3. Select the list and press the "Get Fields and Groups" button. The action displays multiple input fields, for connecting the fields in the form with the fields in the signup form of to the list, and the interests groups defined in MailChimp, that are displayed in the public form too to be selected by the users.


Twilio add-on

The Twilio service allows sending messages (SMS) to mobile phones around the world.

The add-on integrates the forms with the Twilio service for sending notification messages (SMS) after submit the forms.

Twilio

* Twilio is a third party service not related to our company. Twilio may charge for their service.

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Twilio", and press the "Activate/Deactivate addons" button...

After activating the Twilio add-on, a new section will be available section in the form's settings for entering the required data.

Add-on settings

The add-on settings are:

Twilio enabled: for enabling/disabling the integration with the form.

Account SID: enter the Account SID provided by Twilio.

Authentication Token: enter the Authentication Token provided by Twilio.

From Phone Number: enter the phone number used as the "Origin" of SMS (enter a valid phone number including the country code).

To Phone Number: enter the phone numbers (separated by comma symbols) where to send the SMS (enter a valid phone number including the country code).

Message: enter SMS content (it is possible to use the same special tags than in the notification emails).

For sending a SMS to the phone number entered through the form

To Phone fields: enter the names of phone fields inserted in the form (fieldname#, separated by comma symbols).

Message: enter SMS content (it is possible to use the same special tags than in the notification emails).



Clickatell add-on

The Clickatell service allows sending messages (SMS) to mobile phones around the world.

The add-on integrates the forms with the Clickatell service for sending notification messages (SMS) after submit the forms.

Clickatell

* Clickatell is a third party service not related to our company. Clickatell may charge for their service.

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "Clickatell", and press the "Activate/Deactivate addons" button...

After activating the Clickatell add-on, a new section section will be available in the form's settings for entering the required data.

Add-on settings

The add-on settings are:

Clickatell enabled: for enabling/disabling the integration with the form.

Account API Key: enter the Account API Key provided by Clickatell.

To Phone Number: enter the phone numbers (separated by comma symbols) where to send the SMS (enter a valid phone number including the country code).

Message: enter SMS content (it is possible to use the same special tags than in the notification emails).

For sending a SMS to the phone number entered through the form

To Phone fields: enter the names of phone fields inserted in the form (fieldname#, separated by comma symbols).

Message: enter SMS content (it is possible to use the same special tags than in the notification emails).

WooCommerce add-on (Beta Version)

The Platinum version of the plugin includes the WooCommerce add-on, to integrate the forms created by the "CP Contact Form with PayPal" with the WooCommerce products. The add-on inserts an additional metabox in the WooCommerce products, with two settings fields:

  • Enter the ID of the form: Allows select the form that will be associated to the product.
  • Calculate the product price through the form: Allows calculate the price of the products through the form.
  • Minimum price allowed: The minimum price applied to a product.
  • Activate the summary: Allows customize the fields included in the cart page of WooCommerce.
  • Summary title: Enter the summary title.
  • Summary: Define the summary, are accepted all special tags supported by the notification emails and the thank you page.

Note: If you want calculate the price of products through the form, will be required that you select the field of the price in the attribute: "Request cost" in the form's settings.

WooCommerce Add-on

SalesForce add-on (Beta Version)

The add-on allows create new leads in the SalesForce account with the data submitted by the forms.

To create new leads in SalesForce with the data submitted by a form, be sure that the SalesForce account has enabled the Web-to-lead option, and then go to the form's settings:

  • Enter the OID (Organization ID)
  • For debugging the lead creation, tick the "Enabling debug" option, and enter the email address where receive the information. For production, untick the debugging option.
  • Press the "Add attribute" button, select the Lead attribute, and enter a fixed text, or the name of the field in the form (fieldname#)

Note: The Add-on includes the list of predefined attributes of Leads, but it is possible to enter custom attributes too.

SalesForce Add-on

WebHook add-on (Beta Version)

The add-on allows posting the submitted information by the forms to WebHooks URLs. With the WebHook add-on it is possible integrate the forms created by the plugin with services like Zapier. The Zapier connects services as important and popular as Zoho CRM, Dropbox, Mailchimp, Evernote, Google Drive, Facebook, Twitter, and more than 300 services(Zapier apps)

Use this add-on is as simple as entering the WebHooks URLs, through the WebHook section in the forms settings. To associate a form with multiple WebHooks, simply press the "Add new url" button, to add a new input field.

Note: About Zapier service, select Webhook as the Trigger app, and "Catch Hook" as the trigger for this app.

WebHook Add-on

reCAPTCHA add-on (Beta Version)

The add-on allows to protect the forms using the Google reCAPTCHA instead of the captcha distributed with the plugin. reCAPTCHA is more visual and intuitive than the traditional captcha, with just a single click the users confirm they are not a robot.

reCAPTCHA (its official name is No CAPTCHA reCAPTCHA) as they define themselves:

reCAPTCHA is a free service that protects your website from spam and abuse. reCAPTCHA uses an advanced risk analysis engine and adaptive CAPTCHAs to keep automated software from engaging in abusive activities on your site. It does this while letting your valid users pass through with ease.

reCAPTCHA offers more than just spam protection. Every time our CAPTCHAs are solved, that human effort helps digitize text, annotate images, and build machine learning datasets. This in turn helps preserve books, improve maps, and solve hard AI problems.

To use reCAPTCHA in your forms, activate the add-on in the the settings page of the plugin, through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "reCAPTCHA", and press the "Update" button.

The activation of reCAPTCHA displays a new section for entering the site key, and the secret key, two keys provided by Google reCAPTCHA to protect the website, and validate the forms submissions respectively.

reCAPTCHA Add-on

Post Creation Add-on

The purpose Post Creation Add-on is to create a post and publish it after the submission (or after payment if the payment option is enabled). The title, content, category and tags of the post will be taken from the data entered into the form.

Post Creation Add-on

In the settings area the following information is needed to enable the post creation and indicate the source fields for the post content:

  • Enable the Post Creation and Publishing?: Select "Yes" to enable the Post Creation feature for the selected form.
  • Fields that contains the Post Title: ID of the field that contains the post title. Example: fieldname1, fieldname2, ...
  • Fields that contains the Post Tags: ID of the field that contains the post tags. Example: fieldname1, fieldname2, ...
  • Fields that contains the Post Category: ID of the field that contains the post category. Into the form this field should contain the category name. Example: fieldname1, fieldname2, ...
  • Fields that contains the Post Content: ID of the field that contains the post content. Example: fieldname1, fieldname2, ...
  • Fields that contains the Post Image: ID of the field that contains the post image. This image will be left-aligned as default behavior. Example: fieldname1, fieldname2, ...



IP to Country Add-on

The IP to Country Add-on identifies the country of the used that submitted the form according to its IP address. In addition to that, using the country information, it pre-selects the language of the PayPal payment page and the country field in the cases where is possible.

To activate the add-on, simply visit the plugin page through the menu option: "Settings/CP Contact Form with PayPal", tick the checkbox: "IP2Country", and press the "Activate/Deactivate addons" button...

After that go to the form settings and enable the addon for the form. If enabled you the following tags can be used into the notification emails:

<%ip%>
<%countrycode%>
<%countryname%>
                

Troubleshoot Area & General Settings

Throubleshoot Area

The "Troubleshoot Area & General Settings" section, allows correct some possible issues, or conflicts with third party plugins, and define the general settings.

  • Script load method: Changes the script load method if the form doesn't appear in the public website.
  • Character encoding: Updates the charset, if you are getting problems displaying special/non-latin characters. After updated you need to edit the special characters again.


Storing Data in a Different Database

The Developers version of the "Calculated Fields Form" plugin, allows storing the data submitted in a database different to the own plugin database.

To use this feature are required some basic skills, because should be edited the "cp_calculatedfieldsf_insert_in_database.php" file included in the code of plugin.

This file is a mockup to integrate the plugin with other MySQL database. The file should be modified manually because each database has its own structure, and gives to the users a total control on the process.

The file's edition:

Open the file with the text editor your choice. There are some text editors, widely recommended for code editing, like: Notepad++, Sublime Text, Vim, Atom, UEditor.

The first section of file allows defining the constants needed for connecting with the database, and its authentication:

define( 'DATABASE_HOST', '' );
define( 'DATABASE_USER', '' );
define( 'DATABASE_PASS', '' );
define( 'DATABASE_NAME', '' );
define( 'DATABASE_TABLE', '' );

The name of constants are auto-descriptives:

  • DATABASE_HOST: hosname or IP of database server.
  • DATABASE_USER: username for database's authentication.
  • DATABASE_PASS: password for database's authentication.
  • DATABASE_NAME: database name.
  • DATABASE_TABLE: table name.

The plugin checks if the constants have been defined, before for running the insertion queries.

The second section to be edited by the developers, is the creation of the variables to use in the queries. The file includes some variables as a guide of section:

$field1 = mysqli_escape_string( $db_link, $params[ 'fieldname%' ] );
$field2 = mysqli_escape_string( $db_link, $params[ 'fieldname%' ] );
$field3 = mysqli_escape_string( $db_link, $params[ 'fieldname%' ] );

I'll explain this section with an example. Suppose you want store in the "my_users" table, the firstname, lastname, and email of the user, submitted through the form, and the corresponding fields in the form for these information are: fieldname1, fieldname2, and fieldname3, respectively. So, the variables are created like follow:

$field1 = mysqli_escape_string( $db_link, $params[ 'fieldname1' ] );
$field2 = mysqli_escape_string( $db_link, $params[ 'fieldname2' ] );
$field3 = mysqli_escape_string( $db_link, $params[ 'fieldname3' ] );

In the previous code has been created a varaible for each field in the form. All fields are included in the $params array.

After create the variables, is time to generate the insertion queries. The plugin includes a mockup for a hypotetical insertion query, that must be replaced with the structure of your database and the fields created previously.

mysqli_query( $db_link, "INSERT INTO `".DATABASE_TABLE."` (field1, field2, field3) VALUES ('$field1', '$field2', '$field3');" );

Returning to the previous example. If the columns of the table are: firstname, lastname, and email, respectively, the query should be modified like follow:

mysqli_query( $db_link, "INSERT INTO `".DATABASE_TABLE."` (firstname, lastname, email) VALUES ('$field1', '$field2', '$field3');" );

Pay attention, if the type of data in a column of table is a numeric value, should be removed the quotes around the variable name. For example, suppose the form includes a DropDown field for the year of birth, that evidently is a numeric value, I will assume this is the fieldname4. So, you should create a new variable for the new field:

$field4 = mysqli_escape_string( $db_link, $params[ 'fieldname4' ] );

and modify the insertion query too:

mysqli_query( $db_link, "INSERT INTO `".DATABASE_TABLE."` (firstname, lastname, email, year) VALUES ('$field1', '$field2', '$field3',$field4);" );

The $field4 variable is not closed between quotes.

A last tip: It is possible create as many insertion queries as needed, even can use the table name directly without use the constant defined in the first section.

Populate a Form by Default

The plugin adds a consecutive number to each form inserted in a webpage to prevent conflicts between different copies of a same form, starting in "1". The process will be explained in an example. I will suppose your form includes only one form created with the "Caculated Fields Form", and the form includes three fields: - a numeric field (fieldname1), a DropDown field (fieldname2), a checkbox field (fieldname3), and a single text field (fieldname4). Furthermore, the form fields should be prefilled with the values: 3 for the fieldname1, the choice with the value 4 in the fieldname2, tick the choices with the values: 1, and 2 for the fieldname3, and the "qwerty" text in the fieldname4, follows the steps below:

  1. Enable the text tab in the content's editor of your webpage. If are inserted HTML tags with the "Visual" tab enabled, the symbols "<" and ">" are encoded as "&lt;" and "&gt" respectively.
  2. Inserts a pair of <SCRIPT>...</SCRIPT>, with the piece of code:
    <SCRIPT>
    cpcff_default = { 1 : {} };
    cpcff_default[1][ 'fieldname1' ] = 3;
    cpcff_default[1][ 'fieldname2' ] = 4;
    cpcff_default[1][ 'fieldname3' ] = [1,2];
    cpcff_default[1][ 'fieldname4' ] = "qwerty";
    </SCRIPT>
    

Pay attention to the values of the fieldname3 and fieldname4. The fieldname3 is a checkbox, as it is possible select multiple choices, should be assigned an array of values. For the fieldname4, whose value is a text, it should be closed with quotes or double quotes.

Populate the form B with the data submitted by the form A

The process will be explained with an example. Assuming will be populated the fields: fieldname3, and fieldname7 in the form B (whose id=2) with the values of the fields: fieldname1, and fieldname2 submitted by the form A:

  1. Inserts the shortcode corresponding to the form B in the thank you page associated to the form A: [CP_CALCULATED_FIELDS id="2"]
  2. Inserts in the same page, the shortcode to manage the submitted data, including the javascript tags with the code to populate the form B:
    [CP_CALCULATED_FIELDS_RESULT]
    <SCRIPT>
    cpcff_default = { 1 : {} };
    cpcff_default[1][ 'fieldname3' ] = '<%fieldname1_value%>';
    cpcff_default[1][ 'fieldname7' ] = '<%fieldname2_value%>';
    </SCRIPT>
    [/CP_CALCULATED_FIELDS_RESULT]
    

A particular case: If there are two forms in the thank you page, and you want populate the fields: fieldname3, and fieldname7 of the first form in the page, and the fields: fieldname2, and fieldname3 in the second form, the piece of code to use would be:

[CP_CALCULATED_FIELDS_RESULT]
<SCRIPT>
cpcff_default = { 1 : {},2 : {} };
cpcff_default[1][ 'fieldname3' ] = '<%fieldname1_value%>';
cpcff_default[1][ 'fieldname7' ] = '<%fieldname2_value%>';
cpcff_default[2][ 'fieldname2' ] = '<%fieldname1_value%>';
cpcff_default[2][ 'fieldname3' ] = '<%fieldname2_value%>';
</SCRIPT>
[/CP_CALCULATED_FIELDS_RESULT]