Verified mandate
Use this type of form if:
- You want to set up bank mandates so that you can take payments and set up subscriptions via Direct Debit at a later date.
- If you wish to use Verified Mandates, you must agree to be bound by the GoCardless Product Specific Terms, which can be found here.
Here’s an example of this type of form, and later on we show you how to build something similar.
Creating the form
Start by creating a new form in Gravity Forms.
Adding fields to your form
Initially your form is blank. We’ll drag and drop some fields onto it using the Gravity Forms editor.
Start by adding a Name field, an Email field and an Address field. You’ll find these under the Gravity Forms Advanced fields section.
That’s all of the fields you need to set up bank mandates. Save the form.
The completed form looks like this (in form preview):
You may want to add some more fields, to complete the form.
For example, it’s a good idea to get a record of the customer agreeing to your terms and conditions, or opting in to receive further communications. The Gravity Forms Consent field allows you to offer a “yes/no” consent checkbox and a detailed description of what is being consented to. It is available under the Advanced Fields section within the form editor.
Having added all of the fields to your form, save it and return to the feed settings because you now need to add a GoCardless feed and configure the form feed.
Configuring the form feed
First we’ll explain briefly about field mapping.
What is field mapping?
As you’re about to see, some feed settings have a drop-down menu. This menu is populated with the names of fields that exist on the form. By mapping, we mean selecting a field from the drop-down menu. When the user enters a value into this field, it will be associated with the feed field. This is how WPdirectdebit ‘understands’ the meaning of the data on the form, and is able to pass the relevant information to GoCardless.
Creating a new feed
With GoCardless highlighted, click Add New to create a feed.
GoCardless Feed Section
From the list of feed actions, select Verified mandate.
Feed name
The feed name is auto generated; you can change it if you wish, it just needs to be unique.
Mandate Section
Mandate description
As this description will appear on GoCardless emails, it should be meaningful to the customer, reminding them what the mandate is for (maximum 255 characters).
Currency Section
Currency
Our demo form has no currency field to map. However, if you’d like to offer the user a choice of currencies, add a drop-down or radio field to your form, with the values of the choices being the 3-letter currency codes. Then map the field here. If you decide you don’t need a currency field, then you can ignore this section. The currency will default to the one selected in your Gravity Forms settings.
Form Prefilling Section
Form pre-filling is optional. The user will need to enter their details when they set up the mandate via GoCardless, but if these details are entered on the form into name and address and email fields that you provide, you can map them here to the respective fields on the form. The advantage for you is that you will then have these details captured on the form entry. You might later decide to export the data, create accounts, etc.
If the customer has a user profile on your website and is logged in when they complete the form, it’s possible using Gravity Forms to pre-populate the name and email fields from the user’s profile, reducing the amount of typing for your customers. See your Gravity Forms documentation. Alternatively, if you enable autocomplete on the fields (look under the Advanced settings for each field) then the customer’s browser can complete the fields using saved details, even if the user is not logged in. A third option that may be open to you to reduce the amount of data entry is to enable dynamic population.
The user can change the details during the set-up process, so there is no guarantee that the data captured on the form will match that of the payee.
Post Processing Section
When the user submits the form, an overlaid window is displayed that is hosted by GoCardless. The purpose of this is to obtain and verify the user’s bank details. Hopefully the process completes successfully, however it can fail if the user does not complete it or if the details entered cannot be verified. What happens after is controlled by these settings.
The settings are intended to replace the Gravity Forms confirmation settings. You should always leave the confirmation settings set to Text; do not use Page or Redirection because this will prevent the overlaid window from opening.
Successful set-up confirmation message
This message will overwrite the Gravity Forms confirmation message on successful completion of the set-up process. You can add images and formatting if you want to, however keep the contents relatively short – there is a limit of approximately 1,000 characters of html.
Success redirection page
Here, you can map a page that the user will be redirected to if the set-up completes successfully. The default action is to stay on the same page.
Unsuccessful set-up confirmation message
This message will overwrite the Gravity Forms confirmation message if the set-up process does not complete for any reason. It will also appear in an alert box. For this reason, it needs to be short (up to 255 characters). Do not include html formatting.
Exit redirection page
Here, you can map a page that the user will be redirected to if the payment does not complete for any reason. You might want to do this if, for example, you want to offer an alternative payment method or you want to direct them to your customer services page. Obviously you will need to have created it before it will be listed here. The default action is to stay on the same page.
Pass Field Data via Query String
You can build a query string using merge tags here. The string will be added to the URL of the redirection pages you have defined. This give you a way to feed the data entered on the form, or any available merge tag data, over to a subsequent page. For example you could use it to pre-populate a membership application form.
Conditional Logic
With conditional logic, you can control whether the mandate set-up feed is activated depending on entries made on the form. For instance you may not wish to create a mandate if the user has indicated they do not wish to do so. To do this, enable Conditional Logic, then select the conditions that will control whether the feed is active or not.
Confirmations
As has been discussed, you should leave the confirmation setting for the form set to ‘Text’; otherwise, the payment window cannot open and your customer will not be able to complete the payment.
Notifications
Notifications are emails that are automatically sent when selected events occur related to form submissions.
The default notification is to send an email to the site administrator. You’ll probably want to add a notification for the customer to remind them what they have agreed to, and here you can add any other information that you’d like the customer to know at this stage: your refunds policy, customer service contact details etc. And if they have opted in to marketing emails on your form, you’ll want to give them details on how to opt out.
In the example shown, the Event selected for the Donor notification is ‘GoCardless Billing request flow completed’. This means that the email is only sent if the customer’s mandate is set up, and not if they simply submit the form and then fail to complete the sign-up steps.
In the message area, we’ve used Gravity Forms merge tags to personalise the message.
Be sure to check the relevant legislation in your jurisdiction for the content of emails sent to your contacts. The example shown here may not meet these rules.
However, rest assured that GoCardless will also send an email confirmation to the customer when the mandate has been set up and this will automatically comply with the relevant legislation.
Adding the form to your site
Gravity forms are embedded using shortcodes like this:
[gravityform id="67" title="true" description="true" ajax="false"]
Note that ajax has been set to “false” here; this is the recommended setting.
Refer to the Gravity Forms documentation for more information.