File Coverage

lib/Net/API/Stripe/Issuing/Dispute.pm
Criterion Covered Total %
statement 19 32 59.3
branch n/a
condition n/a
subroutine 7 20 35.0
pod 13 13 100.0
total 39 65 60.0


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Issuing/Dispute.pm
3             ## Version v0.100.0
4             ## Copyright(c) 2019 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2019/11/02
7             ## Modified 2020/05/15
8             ##
9             ##----------------------------------------------------------------------------
10             ## https://stripe.com/docs/api/issuing/disputes
11             package Net::API::Stripe::Issuing::Dispute;
12             BEGIN
13             {
14 2     2   20993815 use strict;
  2         14  
  2         62  
15 2     2   10 use warnings;
  2         5  
  2         61  
16 2     2   11 use parent qw( Net::API::Stripe::Generic );
  2         5  
  2         10  
17 2     2   200 use vars qw( $VERSION );
  2         5  
  2         130  
18 2     2   41 our( $VERSION ) = 'v0.100.0';
19             };
20              
21 2     2   12 use strict;
  2         3  
  2         48  
22 2     2   12 use warnings;
  2         3  
  2         700  
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 amount { return( shift->_set_get_number( 'amount', @_ ) ); }
29              
30 0     0 1   sub balance_transactions { return( shift->_set_get_array( 'balance_transactions', @_ ) ); }
31              
32 0     0 1   sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
33              
34 0     0 1   sub currency { return( shift->_set_get_scalar( 'currency', @_ ) ); }
35              
36 0     0 1   sub disputed_transaction { return( shift->_set_get_scalar_or_object( 'disputed_transaction', 'Net::API::Stripe::Issuing::Transaction', @_ ) ); }
37              
38 0     0 1   sub evidence { return( shift->_set_get_object( 'evidence', 'Net::API::Stripe::Issuing::Dispute::Evidence', @_ ) ); }
39              
40 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
41              
42 0     0 1   sub metadata { return( shift->_set_get_hash( 'metadata', @_ ) ); }
43              
44 0     0 1   sub reason { return( shift->_set_get_scalar( 'reason', @_ ) ); }
45              
46 0     0 1   sub status { return( shift->_set_get_scalar( 'status', @_ ) ); }
47              
48 0     0 1   sub transaction { return( shift->_set_get_scalar_or_object( 'transaction', 'Net::API::Stripe::Issuing::Transaction', @_ ) ); }
49              
50             1;
51              
52             __END__
53              
54             =encoding utf8
55              
56             =head1 NAME
57              
58             Net::API::Stripe::Issuing::Dispute - A Stripe Issued Card Transaction Dispute Object
59              
60             =head1 SYNOPSIS
61              
62             my $dispute = $stripe->issuing_dispute({
63             amount => 2000,
64             currency => 'jpy',
65             disputed_transaction => $issuing_transaction_object,
66             evidence => $dispute_evidence_object,
67             livemode => $stripe->false,
68             metadata => { transaction_id => 123 },
69             reason => 'Something went wrong',
70             status => 'lost',
71             });
72              
73             See documentation in L<Net::API::Stripe> for example to make api calls to Stripe to create those objects.
74              
75             =head1 VERSION
76              
77             v0.100.0
78              
79             =head1 DESCRIPTION
80              
81             As a card issuer (L<https://stripe.com/docs/issuing>), you can dispute transactions (L<https://stripe.com/docs/issuing/disputes>) that you do not recognize, suspect to be fraudulent, or have some other issue.
82              
83             This module looks similar to the L<Net::API::Stripe::Dispute> and has overlapping fields, but the B<event> method points to different modules, so it is by design that there are 2 <*::Dispute::Evidence> modules.
84              
85             =head1 CONSTRUCTOR
86              
87             =head2 new( %ARG )
88              
89             Creates a new L<Net::API::Stripe::Issuing::Dispute> object.
90             It may also take an hash like arguments, that also are method of the same name.
91              
92             =head1 METHODS
93              
94             =head2 id string
95              
96             Unique identifier for the object.
97              
98             =head2 object string, value is "issuing.dispute"
99              
100             String representing the object’s type. Objects of the same type share the same value.
101              
102             =head2 amount integer
103              
104             Disputed amount. Usually the amount of the disputed_transaction, but can differ (usually because of currency fluctuation or because only part of the order is disputed).
105              
106             =head2 balance_transactions array
107              
108             List of balance transactions associated with the dispute.
109              
110             =head2 created timestamp
111              
112             Time at which the object was created. Measured in seconds since the Unix epoch.
113              
114             =head2 currency currency
115              
116             The currency the disputed_transaction was made in.
117              
118             =head2 disputed_transaction string (expandable)
119              
120             The transaction being disputed.
121              
122             When expanded, this is a L<Net::API::Stripe::Issuing::Transaction> object.
123              
124             =head2 evidence hash
125              
126             Evidence related to the dispute. This hash will contain exactly one non-null value, containing an evidence object that matches its reason
127              
128             This is a L<Net::API::Stripe::Issuing::Dispute::Evidence> object.
129              
130             =head2 livemode boolean
131              
132             Has the value true if the object exists in live mode or the value false if the object exists in test mode.
133              
134             =head2 metadata hash
135              
136             Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.
137              
138             =head2 reason string
139              
140             Reason for this dispute. One of other or fraudulent.
141              
142             =head2 status string
143              
144             Current status of dispute. One of lost, under_review, unsubmitted, or won.
145              
146             =head2 transaction expandable
147              
148             The transaction being disputed.
149              
150             When expanded this is an L<Net::API::Stripe::Issuing::Transaction> object.
151              
152             =head1 API SAMPLE
153              
154             {
155             "id": "idp_fake123456789",
156             "object": "issuing.dispute",
157             "amount": 100,
158             "created": 1571480456,
159             "currency": "usd",
160             "disputed_transaction": "ipi_fake123456789",
161             "evidence": {
162             "fraudulent": {
163             "dispute_explanation": "Fraud; card reported lost on 10/19/2019",
164             "uncategorized_file": null
165             },
166             "other": null
167             },
168             "livemode": false,
169             "metadata": {},
170             "reason": "fraudulent",
171             "status": "under_review"
172             }
173              
174             =head1 HISTORY
175              
176             =head2 v0.1
177              
178             Initial version
179              
180             =head1 AUTHOR
181              
182             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
183              
184             =head1 SEE ALSO
185              
186             Stripe API documentation:
187              
188             L<https://stripe.com/docs/api/issuing/disputes>, L<https://stripe.com/docs/issuing/disputes>
189              
190             =head1 COPYRIGHT & LICENSE
191              
192             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
193              
194             You can use, copy, modify and redistribute this package and associated
195             files under the same terms as Perl itself.
196              
197             =cut