NAME
Finance::Bank::Natwest - Check your Natwest bank accounts from Perl
DESCRIPTION
This module provides a rudimentary interface to the Natwest online banking system at https://www.nwolb.com/. You will need either Crypt::SSLeay or IO::Socket::SSL installed for HTTPS support to work with LWP.
SYNOPSIS
my $nw = Finance::Bank::Natwest->new( credentials => 'Constant',
credentials_options => {
dob => '010179',
uid => '0001',
password => 'Password',
pin => '4321' } );
my @accounts = $nw->accounts;
foreach (@accounts) {
printf "%25s : %6s / %8s : GBP %8.2f\n",
$_->{name}, $_->{sortcode}, $_->{account}, $_->{available};
}
METHODS
- new
-
my $nw = Finance::Bank::Natwest->new( credentials => 'Constant', credentials_options => { dob => '010179', uid => '0001', password => 'Password', pin => '4321' } ); # Or create the credentials object ourselves my $credentials = Finance::Bank::Natwest::CredentialsProvider::Constant->new( dob => '010179', uid => '0001', password => 'Password', pin => '4321' ); my $nw = Finance::Bank::Natwest->new( credentials => $credentials );newcan be called in two different ways. It can take a single parameter,credentials, which will accept an already created credentials object, of typeFinance::Bank::Natwest::CredentialsProvider::*. Alternatively, it can take two parameters,credentialsandcredentials_options. In this casecredentialsis the name of a credentials class to create an instance of, andcredentials_optionsis a hash of the options to pass-through to the constructor of the chosen class.If the second form of
newis being used, and the chosen class is not one of the ones supplied as standard then it will need to berequiredfirst.If any errors occur then
newwillcroak. - accounts
-
my @accounts = $nw->accounts; # Or get a list ref instead my $accounts = $nw->accounts;Returns a list containing a summary of any accounts available from the supplied credentials. Each item in the list is a hash reference that holds summary information for a single account, and contains this data:
WARNING
This warning is from Simon Cozens' Finance::Bank::LloydsTSB, and seems just as apt here.
This is code for online banking, and that means your money, and that means BE CAREFUL. You are encouraged, nay, expected, to audit the source of this module yourself to reassure yourself that I am not doing anything untoward with your banking data. This software is useful to me, but is provided under NO GUARANTEE, explicit or implied.
NOTES
This has only been tested on my own accounts. I imagine it should work on any account types, but I can't guarantee this.
TODO
- convert remaining existing functionality
-
I still have ministatement, direct debit and standing order functionality to copy over from my earlier, unreleased version of this code, along with ways of accessing accounts by name or account/sortcode alongside the list layout.
- more tests
- add bill payments
- add statement querys
- add statement downloads
BUGS
There are sure to be some bugs lurking in here somewhere. If you find one, please report it via RT
THANKS
Simon Cozens for Finance::Bank::LloydsTSB. Various members of London.pm for prodding me occasionally to come back to this and do some more on it.
AUTHOR
Jody Belka knew@cpan.org
COPYRIGHT AND LICENSE
Copyright 2003 by Jody Belka
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.