File Coverage

blib/lib/Net/API/Stripe/Issuing/Dispute.pm
Criterion Covered Total %
statement 7 18 38.8
branch n/a
condition n/a
subroutine 3 14 21.4
pod 11 11 100.0
total 21 43 48.8


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 <@sitael.tokyo.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 1     1   826 use strict;
  1         2  
  1         29  
15 1     1   4 use parent qw( Net::API::Stripe::Generic );
  1         2  
  1         4  
16 1     1   240 our( $VERSION ) = 'v0.100.0';
17             };
18              
19 0     0 1   sub id { shift->_set_get_scalar( 'id', @_ ); }
20              
21 0     0 1   sub object { shift->_set_get_scalar( 'object', @_ ); }
22              
23 0     0 1   sub amount { shift->_set_get_number( 'amount', @_ ); }
24              
25 0     0 1   sub created { shift->_set_get_datetime( 'created', @_ ); }
26              
27 0     0 1   sub currency { shift->_set_get_scalar( 'currency', @_ ); }
28              
29 0     0 1   sub disputed_transaction { shift->_set_get_scalar_or_object( 'disputed_transaction', 'Net::API::Stripe::Issuing::Transaction', @_ ); }
30              
31 0     0 1   sub evidence { shift->_set_get_object( 'evidence', 'Net::API::Stripe::Issuing::Dispute::Evidence', @_ ); }
32              
33 0     0 1   sub livemode { shift->_set_get_boolean( 'livemode', @_ ); }
34              
35 0     0 1   sub metadata { shift->_set_get_hash( 'metadata', @_ ); }
36              
37 0     0 1   sub reason { shift->_set_get_scalar( 'reason', @_ ); }
38              
39 0     0 1   sub status { shift->_set_get_scalar( 'status', @_ ); }
40              
41             1;
42              
43             __END__
44              
45             =encoding utf8
46              
47             =head1 NAME
48              
49             Net::API::Stripe::Issuing::Dispute - A Stripe Issued Card Transaction Dispute Object
50              
51             =head1 SYNOPSIS
52              
53             my $dispute = $stripe->issuing_dispute({
54             amount => 2000,
55             currency => 'jpy',
56             disputed_transaction => $issuing_transaction_object,
57             evidence => $dispute_evidence_object,
58             livemode => $stripe->false,
59             metadata => { transaction_id => 123 },
60             reason => 'Something went wrong',
61             status => 'lost',
62             });
63              
64             See documentation in L<Net::API::Stripe> for example to make api calls to Stripe to create those objects.
65              
66             =head1 VERSION
67              
68             v0.100.0
69              
70             =head1 DESCRIPTION
71              
72             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.
73              
74             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.
75              
76             =head1 CONSTRUCTOR
77              
78             =over 4
79              
80             =item B<new>( %ARG )
81              
82             Creates a new L<Net::API::Stripe::Issuing::Dispute> object.
83             It may also take an hash like arguments, that also are method of the same name.
84              
85             =back
86              
87             =head1 METHODS
88              
89             =over 4
90              
91             =item B<id> string
92              
93             Unique identifier for the object.
94              
95             =item B<object> string, value is "issuing.dispute"
96              
97             String representing the object’s type. Objects of the same type share the same value.
98              
99             =item B<amount> integer
100              
101             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).
102              
103             =item B<created> timestamp
104              
105             Time at which the object was created. Measured in seconds since the Unix epoch.
106              
107             =item B<currency> currency
108              
109             The currency the disputed_transaction was made in.
110              
111             =item B<disputed_transaction> string (expandable)
112              
113             The transaction being disputed.
114              
115             When expanded, this is a L<Net::API::Stripe::Issuing::Transaction> object.
116              
117             =item B<evidence> hash
118              
119             Evidence related to the dispute. This hash will contain exactly one non-null value, containing an evidence object that matches its reason
120              
121             This is a L<Net::API::Stripe::Issuing::Dispute::Evidence> object.
122              
123             =item B<livemode> boolean
124              
125             Has the value true if the object exists in live mode or the value false if the object exists in test mode.
126              
127             =item B<metadata> hash
128              
129             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.
130              
131             =item B<reason> string
132              
133             Reason for this dispute. One of other or fraudulent.
134              
135             =item B<status> string
136              
137             Current status of dispute. One of lost, under_review, unsubmitted, or won.
138              
139             =back
140              
141             =head1 API SAMPLE
142              
143             {
144             "id": "idp_fake123456789",
145             "object": "issuing.dispute",
146             "amount": 100,
147             "created": 1571480456,
148             "currency": "usd",
149             "disputed_transaction": "ipi_fake123456789",
150             "evidence": {
151             "fraudulent": {
152             "dispute_explanation": "Fraud; card reported lost on 10/19/2019",
153             "uncategorized_file": null
154             },
155             "other": null
156             },
157             "livemode": false,
158             "metadata": {},
159             "reason": "fraudulent",
160             "status": "under_review"
161             }
162              
163             =head1 HISTORY
164              
165             =head2 v0.1
166              
167             Initial version
168              
169             =head1 AUTHOR
170              
171             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
172              
173             =head1 SEE ALSO
174              
175             Stripe API documentation:
176              
177             L<https://stripe.com/docs/api/issuing/disputes>, L<https://stripe.com/docs/issuing/disputes>
178              
179             =head1 COPYRIGHT & LICENSE
180              
181             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
182              
183             You can use, copy, modify and redistribute this package and associated
184             files under the same terms as Perl itself.
185              
186             =cut