Starling query

Not used starling in a while but thinking with the free post office deposits. As well as the pictures on pots might give it a go again. Is there anyway geeky to do round ups. Also do starling have the option to have list of things upcoming like Monzo do including standing g orders and regular card payments.

There isn’t a way to see what’s upcoming (although I really wish there was).

You could use the API to make a little round up script, if that’s geeky enough for you? Tempted to do one myself

Does this help either of you?


Thanks for sharing those @anon87932641 - wasn’t aware of them!


How do these work? Do I need to save the code somewhere and run it on a server or have a certain application to run this on?

Sorry for the dumb questions just never used the API. Just want an easy way to do this.

The billglover script runs on AWS (Amazon Web Services).

The other script, which is likely to be easier to set up, can just be uploaded to a web host that supports PHP.

Both of the links have a “readme” file with some instructions, but let me know if you need any help :slight_smile:


I’ve used the php one in the past - can confirm that it works nicely except for the odd blip (probably on my host’s side) where the roundup would be taken twice but given that its pennies it’s not that big a deal :smiley:

I couldn’t be more in the dark about how this works. I am relatively technical but not in web stuff at all.

Is there a serious idiots (step by step) guide anywhere.

I have a Synology diskstation which has php on it but apart from that I am lost.

Any help would be appreciated.

ducey’s has a guide on the github page, along with links for where to set up your webhook but in a nutshell:

  1. Upload the php files to your server
  2. Get your Personal Access Token from the Starling Developer site (you will need to register for a development account if you don’t already have one).
  3. Make sure the Access Token has the rights to the following actions: transaction:read, savings-goal:read and savings-goal-transfer:create (I believe these are check boxes that can be selected when generating the token)
  4. Edit the showAllGoals.php file to use your Token and save.
  5. Go to [your_server_url]/ShowAllGoals.php
  6. Copy the long string that relates to the goal pot where round ups should go
  7. Edit the webhook.php file to add the goal pot name, and the destination email address if you want an email notification every time it rounds up (and save)
  8. Go back to the starling development site
  9. Make a new webhook with the trigger types Mobile Wallet and Card.
  10. Use [your_server_url]/webhook.php as the link to the webhook
  11. Save it all
  12. Make a test spend

Thank you very much.

At the risk of despair and rolling of eyes, what do I need to do for point 1. Can I use Apache as a server. If I load that on my Synology can I just upload the php files or do I need to have some sort of website?

As I said before - total noob asking here!

If you have a static IP then you won’t need a website and can just point to the IP of your Apache or Synology server. If the IP of those are likely to change then it might be worth seeing if there’s some free hosting somewhere that’d let you upload or make php files and point it there. You don’t need databases or anything like that, just a static address

Thanks @feff for explaining, and you’re right, if the transaction is taken twice, it means your host is slow at responding to the webhook call from Starling. I’ve seen this happen on free hosting, so I moved my script to my personal server and it now works fine.

No worries!

Mine isn’t on a free hosting package, but it is through a company who do reseller hosting packages. It honestly doesn’t bother me that much, I’m just thankful that you went to the effort of making this, and putting it up publically, and taking the time to make an explanation of how to use it, so thank you!

Just to confirm, with these scripts you’d end up with two transactions showing in the Starling app for each payment, one for the acutal payment and another for the “round-up” payment into the goal?

Yep, that’s right. I’ve got a Goal called RoundUps and this is an example of the 2 transactions:


Where’s Chester Chester? :rofl:

Just outside New York, New York!

I’m struggling with this. I’m seeing an error 500 in the server logs when it’s called by Starling.

I’m getting the 500 when I manually visit the file too.

if I call the file using php from the terminal it complains about the following line:
$amnt = abs(number_format((float)$response->{‘content’}->{‘amount’}, 2, ‘.’, ‘’));


1 Like

How are you getting Starling to call it? Through setting up a Personal Webhook in the Developer console and then using your card or mobile wallet to buy something?

Best to also check the Personal Access Token you’ve set in the Webhook.php file has the correct scopes.

You’ll see an error in the logs when you manually call it because there is no data being sent to the Webhook script. The line you posted is looking for the amount in the what Starling sends, which doesn’t exist.

You can only really test this when you make a transaction using your card or mobile wallet (Google/Apple pay).


Thank you to @feff and @ducey for reaching out and helping. After a very late night crash coursing in Web Servers and Certificates etc. I have finally managed to get this to work.

I am over the moon as Round Ups was the one thing missing from Starling for me!

Thanks again


Given the above…God know why starling just don’t implement it…

1 Like