Net-Stripe
view release on metacpan or search on metacpan
lib/Net/Stripe/Card.pm view on Meta::CPAN
package Net::Stripe::Card;
$Net::Stripe::Card::VERSION = '0.42';
use Moose;
use Kavorka;
use Net::Stripe::Token;
# ABSTRACT: represent a Card object from Stripe
# Input fields
has 'number' => (is => 'ro', isa => 'Maybe[Str]');
has 'cvc' => (is => 'ro', isa => 'Maybe[Int]');
has 'name' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_line1' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_line2' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_zip' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_city' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_state' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_country' => (is => 'ro', isa => 'Maybe[Str]');
has 'metadata' => (is => 'ro', isa => 'Maybe[HashRef]');
# Both input and output
has 'exp_month' => (is => 'ro', isa => 'Maybe[Int]', required => 1);
has 'exp_year' => (is => 'ro', isa => 'Maybe[Int]', required => 1);
# Output fields
has 'id' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_line1_check' => (is => 'ro', isa => 'Maybe[Str]');
has 'address_zip_check' => (is => 'ro', isa => 'Maybe[Str]');
has 'country' => (is => 'ro', isa => 'Maybe[Str]');
has 'cvc_check' => (is => 'ro', isa => 'Maybe[Str]');
has 'fingerprint' => (is => 'ro', isa => 'Maybe[Str]');
has 'last4' => (is => 'ro', isa => 'Maybe[Str]');
has 'brand' => (is => 'ro', isa => 'Maybe[Str]'); # formerly 'type'
method form_fields_for_card_metadata {
my $metadata = $self->metadata();
my @metadata = ();
while( my($k,$v) = each(%$metadata) ) {
push @metadata, 'card[metadata]['.$k.']';
push @metadata, $v;
}
return @metadata;
}
method form_fields {
return (
$self->form_fields_for_card_metadata(),
map { ("card[$_]" => $self->$_) }
grep { defined $self->$_ }
qw/number cvc name address_line1 address_line2 address_zip
address_city address_state address_country exp_month exp_year/
);
}
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=head1 NAME
Net::Stripe::Card - represent a Card object from Stripe
=head1 VERSION
version 0.42
=head1 ATTRIBUTES
=head2 address_city
Reader: address_city
Type: Maybe[Str]
=head2 address_country
Reader: address_country
Type: Maybe[Str]
=head2 address_line1
Reader: address_line1
Type: Maybe[Str]
=head2 address_line1_check
Reader: address_line1_check
Type: Maybe[Str]
=head2 address_line2
Reader: address_line2
Type: Maybe[Str]
=head2 address_state
Reader: address_state
Type: Maybe[Str]
=head2 address_zip
Reader: address_zip
Type: Maybe[Str]
=head2 address_zip_check
Reader: address_zip_check
Type: Maybe[Str]
=head2 brand
Reader: brand
Type: Maybe[Str]
=head2 country
Reader: country
Type: Maybe[Str]
=head2 cvc
Reader: cvc
Type: Maybe[Int]
=head2 cvc_check
Reader: cvc_check
Type: Maybe[Str]
=head2 exp_month
Reader: exp_month
Type: Maybe[Int]
This attribute is required.
=head2 exp_year
Reader: exp_year
Type: Maybe[Int]
This attribute is required.
=head2 fingerprint
Reader: fingerprint
Type: Maybe[Str]
=head2 id
Reader: id
Type: Maybe[Str]
=head2 last4
Reader: last4
Type: Maybe[Str]
=head2 metadata
Reader: metadata
Type: Maybe[HashRef]
=head2 name
Reader: name
Type: Maybe[Str]
=head2 number
Reader: number
Type: Maybe[Str]
=head1 AUTHORS
=over 4
=item *
Luke Closs
=item *
Rusty Conover
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Prime Radiant, Inc., (c) copyright 2014 Lucky Dinosaur LLC.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 0.371 second using v1.01-cache-2.11-cpan-3989ada0592 )