File Coverage

lib/Net/API/Stripe/Payment/Intent/TransferData.pm
Criterion Covered Total %
statement 19 21 90.4
branch n/a
condition n/a
subroutine 7 9 77.7
pod 2 2 100.0
total 28 32 87.5


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Payment/Intent/TransferData.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             BEGIN
11             {
12             use strict;
13 2     2   24003802 use warnings;
  2         16  
  2         64  
14 2     2   10 use parent qw( Net::API::Stripe::Generic );
  2         4  
  2         61  
15 2     2   10 use vars qw( $VERSION );
  2         3  
  2         13  
16 2     2   155 our( $VERSION ) = 'v0.100.0';
  2         4  
  2         117  
17 2     2   40 };
18              
19             use strict;
20 2     2   13 use warnings;
  2         4  
  2         60  
21 2     2   12  
  2         8  
  2         183  
22              
23 0     0 1    
24             1;
25 0     0 1    
26              
27             =encoding utf8
28              
29             =head1 NAME
30              
31             Net::API::Stripe::Payment::Intent::TransferData - A Stripe TransferData Object
32              
33             =head1 SYNOPSIS
34              
35             my $tf_data = $stripe->payment_intent->transfer_data({
36             amount => 2000,
37             destination => $connect_account_object,
38             });
39              
40             =head1 VERSION
41              
42             v0.100.0
43              
44             =head1 DESCRIPTION
45              
46             The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents use case for connected accounts for details.
47              
48             This is instantiated by method B<transfer_data> in module L<Net::API::Stripe::Payment::Intent>
49              
50             =head1 CONSTRUCTOR
51              
52             =head2 new( %ARG )
53              
54             Creates a new L<Net::API::Stripe::Payment::Intent::TransferData> object.
55             It may also take an hash like arguments, that also are method of the same name.
56              
57             =head1 METHODS
58              
59             =head2 amount integer
60              
61             A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
62              
63             =head2 destination string (expandable)
64              
65             The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to upon payment success.
66              
67             When expanded, this is a L<Net::API::Stripe::Connect::Account> object.
68              
69             =head1 API SAMPLE
70              
71             {
72             "id": "pi_fake123456789",
73             "object": "payment_intent",
74             "amount": 1099,
75             "amount_capturable": 0,
76             "amount_received": 0,
77             "application": null,
78             "application_fee_amount": null,
79             "canceled_at": null,
80             "cancellation_reason": null,
81             "capture_method": "automatic",
82             "charges": {
83             "object": "list",
84             "data": [],
85             "has_more": false,
86             "url": "/v1/charges?payment_intent=pi_fake123456789"
87             },
88             "client_secret": "pi_fake123456789_secret_kfhksfhlajfl",
89             "confirmation_method": "automatic",
90             "created": 1556596976,
91             "currency": "jpy",
92             "customer": null,
93             "description": null,
94             "invoice": null,
95             "last_payment_error": null,
96             "livemode": false,
97             "metadata": {},
98             "next_action": null,
99             "on_behalf_of": null,
100             "payment_method": null,
101             "payment_method_options": {},
102             "payment_method_types": [
103             "card"
104             ],
105             "receipt_email": null,
106             "review": null,
107             "setup_future_usage": null,
108             "shipping": null,
109             "statement_descriptor": null,
110             "statement_descriptor_suffix": null,
111             "status": "requires_payment_method",
112             "transfer_data": null,
113             "transfer_group": null
114             }
115              
116             =head1 HISTORY
117              
118             =head2 v0.1
119              
120             Initial version
121              
122             =head1 AUTHOR
123              
124             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
125              
126             =head1 SEE ALSO
127              
128             Stripe API documentation:
129              
130             L<https://stripe.com/docs/api/payment_intents/object>
131              
132             =head1 COPYRIGHT & LICENSE
133              
134             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
135              
136             You can use, copy, modify and redistribute this package and associated
137             files under the same terms as Perl itself.
138              
139             =cut
140