Business-PaperlessTrans
view release on metacpan or search on metacpan
lib/Business/PaperlessTrans/RequestPart/Card.pm view on Meta::CPAN
package Business::PaperlessTrans::RequestPart::Card;
use strict;
use warnings;
use namespace::autoclean;
our $VERSION = '0.002000'; # VERSION
use Moose;
extends 'MooseY::RemoteHelper::MessagePart';
with qw(
MooseX::RemoteHelper::CompositeSerialization
Business::PaperlessTrans::Role::Address
Business::PaperlessTrans::Role::NameOnAccount
Business::PaperlessTrans::Role::Identification
Business::PaperlessTrans::Role::EmailAddress
);
use MooseX::Types::Common::String qw( NonEmptySimpleStr );
use MooseX::Types::CreditCard 0.002 qw(
CardNumber
CardExpiration
CardSecurityCode
);
has number => (
isa => CardNumber,
is => 'ro',
required => 1,
remote_name => 'CardNumber',
);
has security_code => (
isa => CardSecurityCode,
remote_name => 'SecurityCode',
predicate => 'has_security_code',
is => 'ro',
);
has track_data => (
isa => NonEmptySimpleStr,
is => 'ro',
remote_name => 'TrackData',
);
has expiration => (
isa => CardExpiration,
is => 'ro',
required => 1,
coerce => 1,
handles => [qw( month year )],
);
has _expiration_month => (
isa => 'Int',
remote_name => 'ExpirationMonth',
is => 'ro',
lazy => 1,
reader => undef,
writer => undef,
init_arg => undef,
default => sub { shift->expiration->month },
);
( run in 1.921 second using v1.01-cache-2.11-cpan-39bf76dae61 )