File Coverage

lib/Net/API/Stripe/Payment/Settings.pm
Criterion Covered Total %
statement 19 22 86.3
branch n/a
condition n/a
subroutine 7 10 70.0
pod 2 3 66.6
total 28 35 80.0


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Payment/Settings.pm
3             ## Version v0.1.0
4             ## Copyright(c) 2022 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2022/07/15
7             ## Modified 2022/07/15
8             ## All rights reserved.
9             ##
10             ##
11             ## This program is free software; you can redistribute it and/or modify it
12             ## under the same terms as Perl itself.
13             ##----------------------------------------------------------------------------
14             BEGIN
15             {
16             use strict;
17 1     1   1637 use warnings;
  1         2  
  1         34  
18 1     1   6 use parent qw( Net::API::Stripe::Generic );
  1         2  
  1         31  
19 1     1   5 use vars qw( $VERSION );
  1         2  
  1         6  
20 1     1   72 our $VERSION = 'v0.1.0';
  1         2  
  1         62  
21 1     1   20 };
22              
23             use strict;
24 1     1   6 use warnings;
  1         2  
  1         32  
25 1     1   7  
  1         2  
  1         118  
26              
27 0     0 0    
28              
29 0     0 1   1;
30             # NOTE: POD
31 0     0 1    
32             =encoding utf-8
33              
34             =head1 NAME
35              
36             Net::API::Stripe::Payment::Settings - Stripe API
37              
38             =head1 SYNOPSIS
39              
40             use Net::API::Stripe::Payment::Settings;
41             my $this = Net::API::Stripe::Payment::Settings->new || die( Net::API::Stripe::Payment::Settings->error, "\n" );
42              
43             =head1 VERSION
44              
45             v0.1.0
46              
47             =head1 DESCRIPTION
48              
49             Configuration settings for the PaymentIntent that is generated when the invoice is finalized.
50              
51             =head1 METHODS
52              
53             =head2 payment_method_options
54              
55             Payment-method-specific configuration to provide to the invoice’s PaymentIntent.
56              
57             =over 4
58              
59             =item * C<acss_debit> hash
60              
61             If paying by acss_debit, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice’s PaymentIntent.
62              
63             =over 8
64              
65             =item * C<mandate_options> hash
66              
67             Additional fields for Mandate creation
68              
69             =item * C<verification_method> enum
70              
71             Bank account verification method.
72              
73             Possible enum values
74              
75             =over 12
76              
77             =item * C<automatic>
78              
79             Instant verification with fallback to microdeposits.
80              
81             =item * Cinstant>
82              
83             Instant verification.
84              
85             =item * Cmicrodeposits>
86              
87             Verification using microdeposits.
88              
89             =back
90              
91             =back
92              
93             =item * C<bancontact> hash
94              
95             If paying by bancontact, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent.
96              
97             =over 8
98              
99             =item * C<preferred_language> enum
100              
101             Preferred language of the Bancontact authorization page that the customer is redirected to.
102              
103             Possible enum values
104              
105             =over 12
106              
107             =item * C<en>
108              
109             English
110              
111             =item * C<de>
112              
113             German
114              
115             =item * C<fr>
116              
117             French
118              
119             =item * C<nl>
120              
121             Dutch
122              
123             =back
124              
125             =back
126              
127             =item * C<card> hash
128              
129             If paying by card, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent.
130              
131             =over 8
132              
133             =item * C<request_three_d_secure> enum advanced
134              
135             We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and other requirements. However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on manually requesting 3D Secure for more information on how this configuration interacts with Radar and our SCA Engine.
136              
137             Possible enum values
138              
139             =over 12
140              
141             =item * C<automatic>
142              
143             Triggers 3D Secure authentication only if it is required.
144              
145             =item * C<any>
146              
147             Requires 3D Secure authentication if it is available.
148              
149             =back
150              
151             =back
152              
153             =item * C<customer_balance> hash
154              
155             If paying by customer_balance, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent.
156              
157             =over 8
158              
159             =item * C<bank_transfer> hash
160              
161             Configuration for the bank transfer funding type, if the funding_type is set to bank_transfer.
162              
163             =over 12
164              
165             =item * C<eu_bank_transfer> hash preview feature
166              
167             Configuration for eu_bank_transfer funding type.
168              
169             =over 16
170              
171             =item * C<country> string
172              
173             The desired country code of the bank account information. Permitted values include: DE, ES, FR, IE, or NL.
174              
175             =back
176              
177             =item * C<type> string
178              
179             The bank transfer type that can be used for funding. Permitted values include: C<eu_bank_transfer>, C<gb_bank_transfer>, C<jp_bank_transfer>, or C<mx_bank_transfer>.
180              
181             =back
182              
183             =item * C<funding_type> string
184              
185             The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: bank_transfer.
186              
187             =back
188              
189             =item * C<konbini> hash
190              
191             If paying by konbini, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent.
192              
193             =item * C<us_bank_account> hash
194              
195             If paying by us_bank_account, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice’s PaymentIntent.
196              
197             =over 8
198              
199             =item * C<financial_connections> hash preview feature
200              
201             Additional fields for Financial Connections Session creation
202              
203             =over 12
204              
205             =item * C<permissions> array of enum values
206              
207             The list of permissions to request. The payment_method permission must be included.
208              
209             Possible enum values
210              
211             =over 16
212              
213             =item * C<payment_method>
214              
215             Allows the creation of a payment method from the account.
216              
217             =item * C<balances>
218              
219             Allows accessing balance data from the account.
220              
221             =item * C<transactions>
222              
223             Allows accessing transactions data from the account.
224              
225             =back
226              
227             =back
228              
229             =item * C<verification_method> enum
230              
231             Bank account verification method.
232              
233             Possible enum values
234              
235             =over 12
236              
237             =item * C<automatic>
238              
239             Instant verification with fallback to microdeposits.
240              
241             =item * C<instant>
242              
243             Instant verification only.
244              
245             =item * C<microdeposits>
246              
247             Verification using microdeposits. Cannot be used with Stripe Checkout or Hosted Invoices.
248              
249             =back
250              
251             =back
252              
253             =back
254              
255             =head2 payment_method_types array of enum values
256              
257             The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your invoice template settings.
258              
259             Possible enum values
260              
261             =over 4
262              
263             =item * C<ach_credit_transfer> USD only
264              
265             ACH bank transfer
266              
267             The collection_method must be send_invoice.
268              
269             =item * C<ach_debit> USD only
270              
271             ACH
272              
273             =item * C<acss_debit> USD and CAD
274              
275             Canadian pre-authorized debit
276              
277             =item * C<au_becs_debit> AUD only
278              
279             BECS Direct Debit
280              
281             =item * C<bacs_debit> GBP only
282              
283             Bacs Direct Debit
284              
285             =item * C<bancontact> EUR only
286              
287             Bancontact
288              
289             The collection_method must be send_invoice.
290              
291             =item * C<boleto> BRL only
292              
293             Boleto
294              
295             =item * C<card>
296              
297             Card
298              
299             =item * C<customer_balance> EUR, GBP, and 3 other currencies
300              
301             Bank transfer
302              
303             The collection_method must be send_invoice.
304              
305             =item * C<eps> EUR only
306              
307             EPS
308              
309             The collection_method must be send_invoice.
310              
311             =item * C<fpx> MYR only
312              
313             FPX
314              
315             The collection_method must be send_invoice.
316              
317             =item * C<giropay> EUR only
318              
319             giropay
320              
321             The collection_method must be send_invoice.
322              
323             =item * C<grabpay> MYR and SGD
324              
325             GrabPay
326              
327             The collection_method must be send_invoice.
328              
329             =item * C<ideal> EUR only
330              
331             iDEAL
332              
333             The collection_method must be send_invoice.
334              
335             =item * C<konbini> JPY only
336              
337             Konbini
338              
339             The collection_method must be send_invoice.
340              
341             =item * C<link> USD only
342              
343             Link
344              
345             =item * C<p24> EUR and PLN
346              
347             Przelewy24
348              
349             The collection_method must be send_invoice.
350              
351             =item * C<paynow> SGD only
352              
353             PayNow
354              
355             The collection_method must be send_invoice.
356              
357             =item * C<promptpay> THB only
358              
359             PromptPay
360              
361             The collection_method must be send_invoice.
362              
363             =item * C<sepa_debit> EUR only
364              
365             SEPA Direct Debit
366              
367             =item * C<sofort> EUR only
368              
369             SOFORT
370              
371             The collection_method must be send_invoice.
372              
373             =item * C<us_bank_account> USD only
374              
375             ACH direct debit
376              
377             =item * C<wechat_pay> USD, EUR, and 11 other currencies
378              
379             WeChat Pay
380              
381             The collection_method must be send_invoice.
382              
383             =back
384              
385             =head1 AUTHOR
386              
387             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
388              
389             =head1 SEE ALSO
390              
391             L<https://stripe.com/docs/api/invoices/object>
392              
393             L<https://stripe.com/docs/api/subscriptions/object>
394              
395             =head1 COPYRIGHT & LICENSE
396              
397             Copyright(c) 2022 DEGUEST Pte. Ltd.
398              
399             All rights reserved.
400              
401             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
402              
403             =cut