Toggle menu

Using the Payment Basket

GOSS Forms support a range of payment fields that link your forms to third party payment providers. Typically a form relates to a single product or service. Your users fill out a form which calculates how much they need to pay, and on submit directs them to a payment provider where payment is made.

The Multiple Payment Basket changes that user journey by adding items that need to be paid for to a basket. Rather than being directed to a payment provider when a form is submitted, forms linked to the basket add themselves to the list of basket items. Users can then view and edit the basket, then pay for all of the items from a single payment form.

Adding Items to a Basket

Basket-linked forms look just like any other. They add items to the basket when they are submitted.

Amount and Reference

The design of the form, the way the total is calculated, balance checking, and the account information included with the order remain the same, whether you are paying for an item directly or adding it to the basket. There's a snippet you add to the form (rather than a payment action) which will add the submission to the basket. See Adding Items to a Basket for more information.

When an form linked to a basket is submitted a workflow process starts, which stores the details of the item that needs to be paid for. Most forms will start the "generic item" process (Events tickets and packages start the Bookings Item process). The basket displays all of these active items.

Basket Overview

The "View and Edit Basket" form displays all of a user's orders created in their current site session. It should not be edited.

Order Overview

Timeouts

When an item is added to a basket a timeout, set in the Configuration Options, begins counting down. When this timeout reaches zero, all items in the current basket are removed.

Some items can also set their own timeouts, shorter than the default. This feature is currently used by Events when adding tickets to a basket.

The basket will always display and respect the shortest timeout. As items are added or removed the timeout is recalculated. This will reduce the timeout if an item with a timeout shorter than the current one is added to the order, or may reset the timeout back to the default.

Note that the basket will also reset if a user's session times out, see Session Timeouts for more information about user sessions.

Order Lines

Each item in the basket displays the following. Most are set in the forms that are used to add items into the basket:

  • Payment number - The business key of the "generic item" instance started by the item form and generated automatically
  • Description - The description set in the form that added this item to the basket
  • Reference - The reference set in the form that added this item to the basket
  • Cost - The amount to pay for this item set in the form that added this item to the basket
  • Remove - Removes the item from the table, terminating the process started when the form was submitted. Any history records, other than those for "reporting" are also deleted

Payment Button

The "Pay" button links to a single form that will take payment for all of the items in the order. 

Setting Up the Basket

Create an article on your site using the "Forms Service - Multiple Payments" template.

Relate the "View and Edit Basket" (EDITORDER) form to your article.

In the article extras, set the text that you would like to appear on the "Pay Now" button and pick the payment form the button should link to.

The Payment Form

The payment form can collect as much or as little information as you need and will vary depending upon the payment provider you use.

We have a range of snippets, one for each payment provider, which you should add to your payment form. See The Payment Form for information about setting up the payment form.

Last modified on January 19, 2022

Share this page

Facebook icon Twitter icon email icon

Print

print icon