QuickFile API - GoCardLess


Is it possible to make the user take payments via GoCardless with the API? i.e. I create a client and an invoice for them and make QuickFile automatically send out the GoCardless link ?


The Get_Client function has the ability to generate a new sign up URL, or there is a dedicated charged function that would allow you to collect funds via an existing agreement.

Take a look here:

It’s also worth having a look at the Sandbox functionality available through your account.

When adding a client via Client_Create would it be possible to automatically send out the GoCardless to their email from this?


@Parker1090 @Glenn

When I try doing the below all i get back is > Unable to find client (1133)


Any ideas? This client number is definitely there. I have also tried it on a couple of other client IDs for other clients and it returns the same. For info I have tried this in sandbox and via a PHP script and both return the same.

For info when trying to create an invoice to clients I get the same error also

That clientID looks far too low, where did you get it from?

In the web application if you go to the client detail screen, you will see the correct ID in the URL.

1 Like

Ah, I was looking at account reference. Can I only see the client ID from the URL?

Makes sense now :slight_smile:

If you create a client using the API it will return the clientID in the response. You can also perform a client search on the API and you’ll get the clientID in the list. Within the web application that’s the only place you can retrieve it (as far as I know).

Ok cheers Glenn. Got it working now! :slight_smile:

1 Like

@Glenn @Parker1090

Don’t suppose either of you know how to do the following?

I have it working so the API sends me back the URL for the client to set up their GoCardless details. Do you know if there is anyway for me to put the returned link into a PHP variable for example so I can then send it in a mail to the client?

Depending on your servers configuration, you should be able to use the mail() function.


One thing I found, is if you use the same code from the other topic, you will have to use something like (not sure of the data returned, but you should get the idea):

$url = (string)$return->Body->Result->Client->URL;
1 Like

Thanks @Parker1090. I get the whole part of the data returned in the code from the other topic (i.e. variable - $result0. Any ideas of how to split that down into each part? What would the above code do?

Cheers!! :slight_smile:

Also, @Glenn do you know if it possible to create a recurring invoice via the API??

The above code would get the exact parts of the $result variable. Try the following to see the parts (if in a web browser, view the source code of the output):

// Or

To answer your question to @Glenn, take a k at the docs:


Thanks @Parker1090! Tried the above 2. I can in the source code they are split into the different XML elements but i’m not sure how to store these in separate variables so I can just store the client ID and URL for example.


Are you able to post a sample of the code please? I’m working a bit blind at the moment and don’t have access to a computer to try it myself

Yeah sure:

// Send data via cURL
$ch = curl_init('http://quickfile.co.uk/WebServices/API/invoices.ashx');
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $xml );
$result = curl_exec($ch);

Sorry, I meant more of the returned data. By all means block out actual values, or if you prefer PM it to me