File Coverage

lib/Net/API/Stripe/Billing/TaxID.pm
Criterion Covered Total %
statement 19 28 67.8
branch n/a
condition n/a
subroutine 7 16 43.7
pod 9 9 100.0
total 35 53 66.0


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Billing/TaxID.pm
3             ## Version v0.100.0
4             ## Copyright(c) 2019 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2019/12/19
7             ## Modified 2020/05/15
8             ##
9             ##----------------------------------------------------------------------------
10             ## https://stripe.com/docs/api/customer_tax_ids
11             package Net::API::Stripe::Billing::TaxID;
12             BEGIN
13             {
14 1     1   1028 use strict;
  1         3  
  1         31  
15 1     1   6 use warnings;
  1         2  
  1         28  
16 1     1   9 use parent qw( Net::API::Stripe::Generic );
  1         1  
  1         5  
17 1     1   63 use vars qw( $VERSION );
  1         2  
  1         51  
18 1     1   23 our( $VERSION ) = 'v0.100.0';
19             };
20              
21 1     1   5 use strict;
  1         2  
  1         116  
22 1     1   6 use warnings;
  1         2  
  1         221  
23              
24 0     0 1   sub id { return( shift->_set_get_scalar( 'id', @_ ) ); }
25              
26 0     0 1   sub object { return( shift->_set_get_scalar( 'object', @_ ) ); }
27              
28 0     0 1   sub country { return( shift->_set_get_scalar( 'country', @_ ) ); }
29              
30 0     0 1   sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
31              
32 0     0 1   sub customer { return( shift->_set_get_scalar_or_object( 'customer', 'Net::API::Stripe::Customer', @_ ) ); }
33              
34 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
35              
36 0     0 1   sub type { return( shift->_set_get_scalar( 'type', @_ ) ); }
37              
38 0     0 1   sub value { return( shift->_set_get_scalar( 'value', @_ ) ); }
39              
40 0     0 1   sub verification { return( shift->_set_get_hash( 'verification', @_ ) ); }
41              
42             1;
43              
44             __END__
45              
46             =encoding utf8
47              
48             =head1 NAME
49              
50             Net::API::Stripe::Billing::TaxID - A Stripe Customer Tax ID Object
51              
52             =head1 SYNOPSIS
53              
54             my $tax = $stripe->tax_id({
55             country => 'JP',
56             customer => $customer_object,
57             # or maybe 'unknown'
58             type => 'eu_vat',
59             });
60              
61             =head1 VERSION
62              
63             v0.100.0
64              
65             =head1 DESCRIPTION
66              
67             You can add one or multiple tax IDs to a customer. A customer's tax IDs are displayed on invoices and credit notes issued for the customer.
68              
69             See Customer Tax Identification Numbers L<https://stripe.com/docs/billing/taxes/tax-ids> for more information.
70              
71             =head1 CONSTRUCTOR
72              
73             =head2 new
74              
75             Creates a new L<Net::API::Stripe::Billing::TaxID> object.
76             It may also take an hash like arguments, that also are method of the same name.
77              
78             =head1 METHODS
79              
80             =head2 id string
81              
82             Unique identifier for the object.
83              
84             =head2 object string, value is "tax_id"
85              
86             String representing the object’s type. Objects of the same type share the same value.
87              
88             =head2 country string
89              
90             Two-letter ISO code representing the country of the tax ID.
91              
92             =head2 created timestamp
93              
94             Time at which the object was created. Measured in seconds since the Unix epoch.
95              
96             =head2 customer string (expandable)
97              
98             ID of the customer. When expanded, this is a L<Net::API::Stripe::Customer> object.
99              
100             =head2 livemode boolean
101              
102             Has the value true if the object exists in live mode or the value false if the object exists in test mode.
103              
104             =head2 type string
105              
106             Type of the tax ID, one of au_abn, ch_vat, eu_vat, in_gst, mx_rfc, no_vat, nz_gst, za_vat, or unknown
107              
108             =head2 value string
109              
110             Value of the tax ID.
111              
112             =head2 verification hash
113              
114             Tax ID verification information.
115              
116             =over 4
117              
118             =item I<status> string
119              
120             Verification status, one of pending, unavailable, unverified, or verified.
121              
122             =item I<verified_address> string
123              
124             Verified address
125              
126             =item I<verified_name> string
127              
128             Verified name.
129              
130             =back
131              
132             =head1 API SAMPLE
133              
134             {
135             "id": "txi_123456789",
136             "object": "tax_id",
137             "country": "DE",
138             "created": 123456789,
139             "customer": "cus_fake123456789",
140             "livemode": false,
141             "type": "eu_vat",
142             "value": "DE123456789",
143             "verification": {
144             "status": "pending",
145             "verified_address": null,
146             "verified_name": null
147             }
148             }
149              
150             =head1 HISTORY
151              
152             =head2 v0.1
153              
154             Initial version
155              
156             =head1 STRIPE HISTORY
157              
158             =head2 2019-12-19
159              
160             Initially introduced by Stripe in December 2019.
161              
162             =head1 AUTHOR
163              
164             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
165              
166             =head1 SEE ALSO
167              
168             Stripe API documentation:
169              
170             L<https://stripe.com/docs/api/customer_tax_ids/object>, L<https://stripe.com/docs/billing/migration/taxes#moving-from-taxinfo-to-customer-tax-ids>,
171             L<https://stripe.com/docs/billing/taxes/tax-ids>
172              
173             =head1 COPYRIGHT & LICENSE
174              
175             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
176              
177             You can use, copy, modify and redistribute this package and associated
178             files under the same terms as Perl itself.
179              
180             =cut
181