Table of Contents

Signup forms

The standard signup form allows a client to sign up for a single service. We do intend to add other types of signups, perhaps a single page and shopping cart version, at a later stage, but for now only the default single service version is the only one available.

You can view your SnapBill signup form at:

https://<your-username>.snapbill.com

Your signup forms are branded by default with the same settings configured in the branding section of the SnapBill setup pages.

Skipping steps

You can skip the “Are you a new or existing customer?” step simply by including a

?customer=new

value at the end of your signup url. If you want to skip any other steps you can simply provide values for every field on the page. If you leave out any fields whatsoever, the fields provided are simply used as default values during the signup.

As an example, to skip the client form as well you can use (example):

https://<your-username>.snapbill.com/signup?customer=new
  &client-title=Mr&client-firstname=Website&client-surname=Example
  &client-email=website@example.com&client-cell=&client-company=
  &client-data-custom_field=

If you wanted to you could even skip straight to the payment step (example):

https://<your-username>.snapbill.com/signup?customer=new
  &client-title=Mr&client-firstname=Website&client-surname=Example
  &client-email=website@example.com&client-cell=&client-company=
  &client-data-custom_field=
  &service_type=Sample+Service
  &service-package_name=Small&service-term=1

An example with default values for a few client details would look like (example):

https://<your-username>.snapbill.com/signup?customer=new
  &client-firstname=Website&client-surname=Example
  &client-email=website@example.com

Note that any custom fields you add will need to be included. Custom field added to the client take the form client-data-field_name, while custom fields on the service are similarly service-data-field_name.

Redirects

You can configure your signup page to redirect back to your website once a signup is complete. You'll find the option for this under Setup > Services > Signup Forms. Instead of message, select redirect and input the URL to redirect to.

Parameter Description
id The id of the signup object which was completed
total Total price of the signup to be paid now as a floating point value
currency The three-letter currency code the signup was done in
client_id The id of the client object which had the signup
service_id Optional id of each service created during the signup
payment_id Optional id of the payment if one was created with the signup
payment_state Optional state of the payment (either paid, or pending)
payment_amount Optional amount of the payment as measured as a floating point value
signature A signature using a shared secret confirming that the above fields were not tampered with

Invoice signups

This signup type allows you to include a prepared invoice for the signup. It is useful for the cases where you want a client to pay a fee, but do not want them invoiced unless they actually make payment.

Setting up an invoice signup is quite trivial. Simply include ?signup_type=Invoice on the signup url to get started. You can then append each of the invoice lines with the following parameters:

Name Availability Description
description[X] get Description for invoice line X
price[X] get Price for the invoice line. This field is required, or alternatively you can provide unit_cost and quantity
unit_cost[X] get Cost per unit
quantity[X] get Quantity for the line. This field allows two decimal places
item_name[X] get If the 'Invoice Items' app is enabled you can use this field to select the item

An example for a signup for six bags of rice, and one chocolate follows (example):

https://<your-username>.snapbill.com/signup?signup_type=Invoice
  &description[0]=Bag+of+rice&unit_cost[0]=25&quantity[0]=6
  &description[1]=Chocolate+bar&price[1]=6.50
  &customer=new
  &client-title=Mr&client-firstname=Website&client-surname=Example
  &client-email=website@example.com&client-cell=&client-company=
  &client-data-custom_field=

Note: That for clarity this example also skips everything except the payment step (using the technique described above)

Reference

For more details and an entire reference on the Signup object within the system, please check the API Reference for Signup.