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.
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.
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 |
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)
For more details and an entire reference on the Signup object within the system, please check the API Reference for Signup.