This section of our guide is intended to help you build the best experience for your users, ensuring that they’re able to easily enable Direct Debit payments using GoCardless and that they’re able to effectively manage their payments — both when everything works as expected and also inevitably when sometimes it doesn’t (for example when payments fail, or mandates are cancelled).
For this section, we’ve imagined a simple invoicing application (called ‘Invoicer’) to help illustrate the points we’d like to draw your attention to. It’s difficult here to cover absolutely everything you’ll encounter when applying the principles below to your integration, as you’ll no doubt experience your own unique challenges based on your use case — but the sections of this guide should serve as a checklist for things you should consider when integrating with GoCardless.
In this guide, we’ll consider the following areas:
- How to let merchants know they can use your GoCardless integration within your product
- Providing options for merchants to configure your integration
- Best practices for managing & reporting payments, mandates
- The end customer experience
The first thing to bear in mind is how you help your users understand that Direct Debit payments are something that is available from your application. Here are some ideas for how you can achieve this:
Promote your integration from the home page of the product, avoiding simply hiding it in a ‘Settings’ section:
Promote your integration at other key points of your user’s journey around your product, such as when they’re viewing customers or invoices, or when creating an invoice:
Describe the benefits of the integration — in our example, clicking ‘Start taking Direct Debit payments’ from the above screens will take them to this section, giving more detail about what the user will gain from enabling the integration:
It would also be good to consider adding other resources to this page such as an FAQ or a video (as we’ve suggested in the screenshot above) to help merchants understand as much as possible before enabling Direct Debit payments.
After your users have completed the setup process with GoCardless and have returned to your app, consider the following:
- It’s likely that your user will need to go through GoCardless’s onboarding flow, providing further information about themselves to get their account verified - you can check whether this is required through the API, and direct the user to our onboarding flow if needed
- You could now offer ways for them to configure their integration, for example turning on automatic invoice reconciliation, or choosing whether to automatically retry failed payments
- At this point you may also want to offer some tips on how to get started with their GoCardless integration
In our example application, we’re going to focus on enabling Direct Debit payments by sending out mandate requests to our customers via email. If you’re also sending out mandate emails via your product, make sure that your users can configure the email’s contents:
Make it easy for your users to send their end customers mandate requests — in the following examples, we’ve created an ‘Actions’ dropdown for each individual customer (when viewing all customers together), and we’ve also included a ‘Setup Direct Debit mandate’ button when viewing an individual customer:
You should also consider allowing your users to perform this action in bulk:
You can also provide a mandate setup link in your product that your merchants can copy and use wherever they like, for example in emails or on their website:
From the end customer’s perspective, you could also enable ‘Pay with Direct Debit’ buttons on electronic invoices sent by your users to any of their customers who do not yet have Direct Debit enabled:
You can also make it as easy as possible to send Direct Debit requests to customers at other points in your user’s journey — in our example, we’ve imagined adding options for this when our users are creating customers, or when creating invoices for customers without Direct Debit enabled:
In the example ‘Create new invoice’ screen above, we’ve included a ‘Recurring’ dropdown. In our imagined application, you can create regular invoices that would be issued to customers at a frequency of the merchant’s choosing — in this case, we would also take advantage of being able to use Direct Debit to take recurring payments for those regular invoices.
It’s important to help your users understand exactly what state each of their Direct Debit mandates with their customers is in — in our example application, as you’ll see below, we’re going to show the mandate status of each customer when viewing all customers and also when viewing individual customers:
You should highlight mandates that have been cancelled & encourage your user to contact their customer in this case:
Consider also providing a way for users to re-send mandate requests to customers, in the event that there is a significant delay in any response from the customers:
You can also let your users know about the ability to import existing mandates they may have already set up using the GoCardless dashboard or via another integration (if you’ve included support for importing existing mandates in your integration).
It’s important to help your users understand the status of every payment they’re taking. In our example, we’ll use our ‘Invoices’ section to display the status of the payment of each invoice:
In the event that there are problems with any payment, you should alert your users and help them understand the best thing for them to do to act on these problems — for example:
- You can highlight failed payments, clearly display the reason for the failure, ensure the invoices are not marked as paid and make it as easy as possible for your users to retry these payments
- In our example, we’ve also given the option to resend a Direct Debit mandate request to customers whose payments have failed as a result of issues with a mandate
At this point, you could also remind users about automatically retrying failed payments (if you’re supporting this feature) if they haven’t enabled this option already.
Consider giving your users the option to schedule payments in advance — for example, when creating an invoice, in our example application we’ve given the option to either take the payment as soon as possible, or specify a date in the future when this payment should be taken:
In our example above, we’ve given the option to schedule a date in the future when the payment should be charged, which means that we would have to ensure that the technical solution creates the payment enough in advance of this date to ensure it’s charged on the date required by the merchant.
Consider designing a confirmation screen for your users’ customers to be redirected to once they’ve completed their mandate setup, to
Once a customer has finished setting up their Direct Debit, show them a clear confirmation page telling them that their Direct Debit has been set up, and what will happen next. You can either build your own or use our pre-made one - see the end of our “Setting up Direct Debit mandates” guide for details.