February 25, 2015 - Data Collection, Tech-Admin

The University uses TouchNet for credit card payments. There are two services provided, uPay, which only processes payments, and MarketPlace which provides some shopping cart functionality. We have been using uPay for all our transactions, allowing us to have all of our records in one place.

Portal

Production
Test

Event booking payments

The Events Manager Pro booking system should be able to use uPay as a payment gateway, although there is no known gateway already working. Expected to be implemented Spring 2015.

Formidable payments

For events that are not on the calendar, and for other "non-calendar" payment needs, such as SIPJF or student lockers, we will use Formidible as the basis for the data processing. More technical details and step-by-step instructions.

Overview

The system works with a registration form built in Formidable Pro that calculates the total for the event/service and has a "payment" field that holds the amounts already paid. The form is set to "Redirect to URL" upon submission, with the URL set to a page with an embedded [touchnet_pay] shortcode and the query string set to "?entry=[key]". The short code will use the "entry" to build a Payment Confirmation screen that allows the visitor to either return to the registration form or proceed to TouchNet to complete payment.

"Registration" form

Create the form to collect the payment information via admin menu "Formidable / Forms / Add New." Set the "Form Key" to a short, unique, but meaningful name, all lower case, no spaces (use underscore instead). For example, the Employer and School registration forms for SIPJF are named "sipjf_emp" and "sipjf_sch" respectively. For the standard information fields, the field key naming convention is "frm_key_field" where "_field" is as shown below. Defaults values, if any, are shown below in {curly brackets}.

"View" field key Description
frm_key_name Used to pass the billing name.
frm_key_email Used to pass the billing email address.
frm_key_address Used to pass the billing street address 1.
frm_key_address2 Used to pass the billing street address 2.
frm_key_city Used to pass the billing city.
frm_key_state Used to pass the billing state.
frm_key_zip Used to pass the billing postal code.
frm_key_country Used to pass the billing country. {US}
form_key (internal pre-set) Used as a unique identifier for this transaction = "frm_key"  in the other field keys
label Used to describe the EXT_TRANS_ID value on the payment receipt. {CustomerID}
frm_key_total A field (often hidden) to hold the total calculated by Formidable
frm_key_payment Hidden or read-only field to hold the amount paid as reported by TouchNet
frm_key_due (optional) Passed-in amount to be collected - note: only recalcs on reg form load
frm_key_upay_id Used to select the uPay site - either a hidden field or specified in the confirmation view setup. {39} (generic payment site)
frm_key_{item}_cost For an itemized list of costs
frm_key_{item}_qty To specify the quantity of the "item" ordered
frm_key_discount
*** Not yet implemented - possible future feature
- for now, use Formidable's calculated field capabilities
If zero or not set, no discount
If contains "%" then a percentage off
otherwise, a dollars off discount
page_title The title, same as the form "Build" title (usually displayed in <h3> tag)
reg_link_class Used to hide the "Back" link if there is no link (set to 'frm-hide' or 'frm-show')
reg_page URL of registration page. {stored page or HTTP_REFERER}
go_back Text of link to go back to registration page, {"Go back to the registration page"}
url Address of payment site {https://secure.touchnet.com/C20797_upay/web/index.jsp}
Allowing edits

If a registrant is logged in to InsideLaw, the entered information can be edited if the form is set to "Allow front-end editing of form submissions" (probably want to also " Logged-in User").

If the registrant is not logged in to InsideLaw, the [allow_form_edit] shortcode must be placed on the registration form page above the  [formidable id=??] shortcode. the user is logged in by a script in the functions.php file if there is an "entry={key}" in the query string. Note that this automatically logs the visitor in as a "Subscriber" user "Anonymous".

The registrant can return to edit the form by adding a query string to the URL in the format:

http://domain/page-with-form/?frm_action=edit&entry=key

The payment confirmation form (below) will normally generate this link back to the form if editing is to be allowed. THis link is formed as follows:

<a class="[reg_link_class] frm-noprint" href="[reg_page]?frm_action=edit&entry=[key]">[go_back]</a>
The Payment Confirmation

The Payment Confirmation screen is generated by the [touchnet_pay] shortcode that creates a "receipt" payment confirmation screen page that provides a "pay" button linking to TouchNet.

Formidible Pro can perform the calculation of the total amount due. This is easily done with a read-only text field by checking the "Calculate the default value for this field" option and entering the formula (if any) to calculate the total. This field should be named "frm_key_total" for processing. If you have a field named "frm_key_due", the value will be used for the total to be collected, but the "due" value will not be updated upon payment unless the original form is visited, as Formidable does not recalculate except when the form is loaded. A field named "frm_key_payment" will be updated upon payment. For manual payments, create another field that ends in "_payment", such as "frm_key_manual_payment" that will be included in the calculations, but should not be changed when credit card payments are made.

To get the visitor to the Payment Confirmation, set the "Redirect to URL" action after submission (and edit):

Admin menu: Formidable / Edit (of desired form) / Settings / General (tab) / "Action After Form Submission" / select: Redirect to URL / set to the page to display the Payment Confirmation, e.g.:

https://insidelaw.gsu.edu/payment/?key=[key]

Formidable will replace "[key]" with the entry_key of the newly-created entry.

That destination page will contain a [touchnet_pay] shortcode  that will create the payment confirmation submission form. That page can also contain any other needed text, etc.

The default Payment Confirmation form is stored as a View to the Formidable form "TouchNet payment button setup values" (a not-yet-implemented way to insert setup values). The View is a custom content post named "touchnet_pay" (post type "frm_display").

A custom Payment Confirmation form can be used by creating a View with the Form Key set to "form_key_pay" (this is done via the "Permalink" Edit button). The content of the View would contain [placeholders] for the field keys as shown in the table above. Note that this view can be used regularly, separately from the [touchnet_pay] shortcode, if the "Filter Entries" setting is set to select "Entry Key" is "equal to" with "[get param=entry default=xxx]" - NOTE: The "default" attribute must be set to an arbitrary invalid value (e.g. "xxx") to avoid the situation where the first entry of the form is shown if the "entry" attribute is not properly set.

 

Comments are closed.