package payments::Provider::Base; use strict; use warnings 'all'; use Contenido::Globals; use payments::Keeper; sub new { my ($proto, %params) = @_; my $class = ref($proto) || $proto; my $self = {}; my $prefix = $class =~ /\:\:(\w+)$/ ? lc($1) : undef; return unless $prefix; $self->{payment_system} = $prefix; $self->{app_id} = $state->{payments}->{$prefix."_app_id"}; $self->{secret} = $state->{payments}->{$prefix."_app_secret"}; $self->{currency} = $state->{payments}->{$prefix."_currency_code"}; $self->{test_mode} = $state->{payments}->{$prefix."_test_mode"}; bless $self, $class; return $self; } sub id { my $self = shift; return $self->{app_id}; } sub app_id { my $self = shift; return $self->{app_id}; } sub secret { my $self = shift; return $self->{secret}; } sub test_mode { my $self = shift; return $self->{test_mode}; } sub currency { my $self = shift; return $self->{currency}; } sub currency_code { my $self = shift; return $self->{currency}; } sub payment_system { my $self = shift; return $self->{payment_system}; } 1;