Access your own bank account through a self-employed application

I have been using MS Money for several years now, and because of my "interest in coding" it would be great to know where to start learning the basics of programming such an application. Better to say: not about how to design and write an application, but about "bank details". (Just displaying the amount of a specific bank account to begin with would be a nice goal for me.).

I would like to do this in C ++ or Java, since I'm used to these languages.

Will it be "too big" for a hobby project? I don’t know much about all security problems, interfaces / methods of a banking server, etc.

In the first place after "no" I need a reliable source for training.

+7
java c ++ security onlinebanking
source share
6 answers

Most of the applications that I worked with are read in a file exported from the bank’s website, which is relatively simple.

If you want to go down this road, you need to write the code:

  • Log in to the bank's website to download the file via HTTPS.
  • Either get specifications for the file format, or reverse engineer it
  • Apply any business rules that you select for the resulting data.
+9
source share

I think this is a pretty reasonable project for a hobby; start with a simple book and then you can add features.

A few things I would do to start such a project:

  • Define an initial set of functions. Only one of the registers / accounts can be a good start - basically checkbook balancing. Make it general enough to have a few.
  • Create a data model. In which fields will you have a book? What are the restrictions on the meanings of each?
  • Choose technology. What language do you want to program in? How will you store the data? What GUI do you want - a fat client, for example, MS money or a web application?

From there, write some design notes if warranted, and start coding!

+1
source share

You can see OFX4J , the implementation of Open Financial Exchange , mentioned here and in a comment from @nicerobot.

+1
source share

Are you looking for something mint.com -ish? From my understanding of their security policy, this is how they do it: you give them your online account credentials, which they give immediately to the bank, and return the read-only account. They then discard the credentials you provided and use read-only credentials to update their metrics every 24 hours. I do not know how they do it, or if they have a special relationship with banks, but it is possible.

+1
source share

The first thing to remember when trying to programmatically interact with a banking site without express written permission from the bank will NOW be a violation of the agreement to use the website and may bring you more trouble than it costs.

Secondly, you do NOT want to run “training” trying to solve something massive and sensitive. Not that something happened with the ultimate goal, but it is a journey into a thousand leagues, and you need to take the first step.

I would say start with a simple programming environment like python or perl. Of course, you do not need to worry about links, libraries, code generation, etc. Approach the basics of what you want to achieve functionally; redefining them in C ++ or Java would be the next step.

To get started, focus on learning client-server programming.

Write a client, write a server, learn all about sockets, learn all about TCP programming,

then learn about secure socket layers (SSL) and transport layer security (TLS).

Once you do this, try switching to C ++ or Java and see if you can repeat the effect.

There are TONS textbooks on these topics.

Once you get used to it, find out what tools and libraries are already available for most common things. For example, libcurl is great for creating common Internet application protocol clients (HTTP, HTTPS, FTP, etc.).

See if you can create an interactive program with which you can “log in” using your web browser, which displays the material in XML format and formats it using cascading style sheets.

This should lead you into the javascript world, where there are powerful tools like jquery. If you mix and match them correctly, you will find that development can be ANY fun and pretty fast.

:-)

Happy trip.

+1
source share

I do not think that many (if any) banks provide api.

Sweden's online budget apps seem to rely either on exporting transactions in some excel format, or simply “check all transactions in the banking system, ctrl-c, and then ctrl-v in the text box,” which then analyzes it.

0
source share

All Articles