Business-MollieAPI

 view release on metacpan or  search on metacpan

lib/Business/MollieAPI.pm  view on Meta::CPAN

package Business::MollieAPI;

use strict;
use 5.008_005;
our $VERSION = '0.10';

use Moo;
use URI;

use LWP::UserAgent;
use JSON::XS;

use Business::MollieAPI::Payments;
use Business::MollieAPI::Methods;
use Business::MollieAPI::Issuers;

has endpoint => (
    is      => 'rw',
    builder => 1,
);

sub _build_endpoint {
    my $self = shift;
    return URI->new('https://api.mollie.nl');
}

has version => (
    is      => 'rw',
    default => 'v1',
);

has client_version => (
    is      => 'rw',
    default => $VERSION,
);


has payments => (
    is => 'lazy',
);

sub _build_payments {
    my $self = shift;
    return Business::MollieAPI::Payments->new(client => $self);
}

has methods => (
    is => 'lazy',
);

sub _build_methods {
    my $self = shift;
    return Business::MollieAPI::Methods->new(client => $self);
}

has issuers => (
    is => 'lazy',
);

sub _build_issuers {
    my $self = shift;
    return Business::MollieAPI::Issuers->new(client => $self);
}

has api_key => (
    is  => 'rw',
    isa => sub {
        my $value = shift;
        die "API KEY is not valid" unless $value =~ m/^(live_|test_)\w+/;
    },
);

sub log_response {
    return;
}

sub perform {
    my $self = shift;
    my $req = shift;
    $req->header('Authorization', 'Bearer ' . $self->api_key);
    my $ua = LWP::UserAgent->new();
    my $res = $ua->request($req);



( run in 0.660 second using v1.01-cache-2.11-cpan-13bb782fe5a )