Finance-Bank-Natwest
view release on metacpan or search on metacpan
lib/Finance/Bank/Natwest.pm view on Meta::CPAN
package Finance::Bank::Natwest;
use strict;
use vars qw( $VERSION );
use Carp;
use HTML::TokeParser;
use Finance::Bank::Natwest::Connection;
$VERSION = '0.05';
=head1 NAME
Finance::Bank::Natwest - Check your Natwest bank accounts from Perl
=head1 DESCRIPTION
This module provides a rudimentary interface to the Natwest online
banking system at C<https://www.nwolb.com/>. You will need
either C<Crypt::SSLeay> or C<IO::Socket::SSL> installed for HTTPS
support to work with LWP.
=head1 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};
}
=head1 METHODS
=over 4
=item B<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 );
C<new> can be called in two different ways. It can take a single parameter,
C<credentials>, which will accept an already created credentials object, of type
C<Finance::Bank::Natwest::CredentialsProvider::*>. Alternatively, it can take two
parameters, C<credentials> and C<credentials_options>. In this case
C<credentials> is the name of a credentials class to create an instance of, and
C<credentials_options> is a hash of the options to pass-through to the
constructor of the chosen class.
If the second form of C<new> is being used, and the chosen class is I<not> one
of the ones supplied as standard then it will need to be C<required> first.
If any errors occur then C<new> will C<croak>.
=cut
use constant URL_ROOT => 'https://www.nwolb.com';
use constant DIR_BASE => '/secure/';
sub url_base { $_[0]->URL_ROOT . $_[0]->DIR_BASE };
sub new {
( run in 3.403 seconds using v1.01-cache-2.11-cpan-2398b32b56e )