Payment Service Providers
GoCardless
Import GoCardless Data with Merchant Groups
this guide explains how to migrate existing gocardless direct debit mandates to unaric payments without disrupting authorisations the process consist of exporting mandate data from gocardless, importing and linking it to salesforce objects, and providing the final data to unaric payments for activation overview data can be transferred from direct debit processor to direct debit processor by a deed of transfer that process will move the existing mandates from the old processor to the new one this is achieved by the transfer of a file of data that is exported from one system and then imported to the new one gocardless will manage this process for you if you are an existing gocardless customer you will not need to go through the deed of transfer process in order for your existing gocardless mandates to be made usable by unaric payments they have to be imported into the salesforce org that is being used for payment processing the object inside of salesforce that contains mandate information is called authorisation by default the authorisation object is not linked to anything else inside the salesforce org but most implementations will have had customisation applied that will create these links creating these links when data is imported is where the complexity lies how it works the unaric payments authorisation object contains two fields that, when repeat payment requests are received, validate the submission before processing it these fields are unaric payments repeat token and payment service provider repeat token unaric payments repeat token is a unique reference generated by unaric payments for every authorisation that is processed payment service provider repeat token is gocardless's internal reference value for mandates it is provided by gocardless workflow the basic process is export the mandate data from gocardless import data into the unaric payments authorisation object in salesforce resolve the links to other salesforce objects from authorisation export the authorisation object data ready for import into the unaric payments database import the data into the unaric payments database (done by unaric payments support) once data has been imported to salesforce, the unaric payments salesforce package can then take control of the creation of payment requests if you are making use of the gocardless subscription processing, you will have to liaise with gocardless to ensure these are switched off before giving unaric payments control to take payments otherwise, you might end up being double charged the target salesforce object the following table gives a list of unaric payments authorisation object's relevant fields and describes where the data comes from to populate each one field label api name data source unaric payments repeat token asp04 asperato repeat token c generated (see comment below) billing address city asp04 billing address city c gocardless customer record (city) billing address country asp04 billing address country c gocardless customer record (country code) billing address postalcode asp04 billing address postalcode c gocardless customer record (postal code) billing address state asp04 billing address state c leave blank (equates to the county but gocardless don’t seem to store this) billing address street asp04 billing address street c gocardless customer record (address line1 and address line2) company name asp04 company name c gocardless customer record (company name) cpa granted asp04 cpa granted c hard code to ‘true’ currency currencyisocode (see comment below) customer id asp04 customer id c derived from the unaric payments settings (see comment below) email asp04 email c gocardless customer record (email) first name asp04 first name c gocardless customer record (given name) last name asp04 last name c gocardless customer record (family name) merchant group asp04 merchant group picklist c name of the merchant group that the record is related to (see comment below) mandate reference asp04 mandate reference c gocardless mandate record (reference) payment route options asp04 payment route options c hard code to ‘direct debit’ payment route selected asp04 payment route selected c hard code to ‘direct debit’ payment service provider repeat token asp04 psp repeat token c gocardless mandate record (id) \[the tokens usually begins with ‘md’ unless you are importing very old gocardless data] status asp04 status c hard code to ‘in force’ unaric payments repeat token when unaric payments generates these, use this format cccc annnnnnnnnn cccc is the customer id a is a fixed constant nnnnnnnnnn is a number giving uniqueness when generating these references you should use the form cccc aconvnnnnnnn cccc is the customer id aconv is a fixed constant nnnnnnn is a value giving uniqueness (it doesn’t have to be numeric but should not contain spaces) it is important that these references are unique so if a series of data imports are created you should ensure the number sequences don’t overlap, even across different merchant groups customer id the customer id is a value that links the authorisation to a particular unaric payments customer configuration this value can be obtained from the customer id in the custom setting object called unaric payments settings and is also displayed on the unaric payments setup tab in the unaric payments app the field has a formula default value that should resolve the content automatically, but it would be good policy to set the content explicitly in case the data load process ignores the formula please contact unaric payments if you need assistance identifying your customer id merchant group the merchant group field dictates which of the set of payment service provider connections the authorisation is related to when an authorisation or a payment is created as part of a normal business flow the value to be used would be resolved by logic in that flow, but for this load process it will need to be set explicitly the value used in this field needs to exactly match the name(s) used on the unaric payments setup tab if the text is different then the data loaded will not work as expected contact unaric payments support if you need assistance identifying your merchant group names currency if the target org has multi currency enabled make sure that you set the currency code correctly on the authorisation record because that will then be reflected into the payments that will be subsequently generated using the mandate information setup export the mandate data from gocardless ‘out of the tin’ gocardless don’t provide a single report that will give the data needed for the conversion however you can engage with gocardless support and they should be able to provide you with a single csv file with the required data to get the data you need you can grab the customer data by using the export button on the customer screen inside the gocardless desktop you can then get the mandate data by using the events screen change the selection such that ‘all resources’ reads ‘mandates’, ‘all actions’ reads ‘active’ and ‘any time’ is left as it is (this will also give cancelled mandates but you can filter these out by sorting the column named ‘mandate status’ and removing the lines that are cancelled) you can then export this data to csv you will have to merge these two csv files based on customer id to get all the data you need if you are loading data from different gocardless accounts into different merchant groups then you will need to repeat this process for each account import data into the salesforce authorisation object we recommend using the salesforce data loader program to insert data into the authorisation object from a csv file that you create from the gocardless data resolve the links to other objects from authorisation this is probably the most difficult step and the one that this document can’t give real guidance about other than by example for example, if the authorisation object has been linked to account then the process will be to add account ids to the custom field(s) on the authorisation object the issue will be identifying that relationship the match could be done by email address, i e the email address stored on the authorisation record matching with an email address on the account records it could also be done by matching on some sort of custom data if that is available inside of gocardless (you might want to consider this when exporting data) data loader can also be used in this process to build up a suitable set of data that can then update the authorisation rows in bulk export the data to unaric payments once you have created all the authorisation rows and ensured that the unaric payments repeat token and payment service provider repeat token fields contain data, create a csv file using data loader containing these two fields, the merchant group, and the salesforce record id once exported, send this file to unaric payments support so they can import it to the database to reiterate, the data required by unaric payments is field label api name salesforce id id unaric payments repeat token asp04 asperato repeat token c payment service provider repeat token asp04 psp repeat token c merchant group asp04 merchant group c