File Coverage

lib/Net/API/Stripe/Payment/Method/Options.pm
Criterion Covered Total %
statement 21 52 40.3
branch n/a
condition n/a
subroutine 7 38 18.4
pod 31 31 100.0
total 59 121 48.7


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Payment/Method/Details.pm
3             ## Version v0.103.0
4             ## Copyright(c) 2020 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2022/08/11
7             ## Modified 2022/10/29
8             ## All rights reserved
9             ##
10             ## This program is free software; you can redistribute it and/or modify it
11             ## under the same terms as Perl itself.
12             ##----------------------------------------------------------------------------
13             BEGIN
14             {
15             use strict;
16 3     3   1536 use warnings;
  3         8  
  3         105  
17 3     3   17 use parent qw( Net::API::Stripe::Generic );
  3         6  
  3         91  
18 3     3   15 use vars qw( $VERSION @EXPORT_OK %EXPORT_TAGS );
  3         7  
  3         19  
19 3     3   221 our @EXPORT_OK = qw(
  3         9  
  3         417  
20 3     3   27 ach_credit_transfer ach_debit acss_debit affirm afterpay_clearpay alipay au_becs_debit
21             bacs_debit bancontact blik boleto card card_present customer_balance eps fpx
22             giropay grabpay ideal interac_present klarna konbini multibanco oxxo p24 sepa_debit
23             sofort stripe_account us_bank_account wechat
24             );
25             our %EXPORT_TAGS = ( all => \@EXPORT_OK );
26 3         9 our( $VERSION ) = 'v0.103.0';
27 3         72 };
28              
29             use strict;
30 3     3   18 use warnings;
  3         6  
  3         61  
31 3     3   15  
  3         6  
  3         2811  
32              
33 0     0 1    
34              
35 0     0 1   {
36             capture_method => { type => 'string' },
37 0     0 1   setup_future_usage => { type => 'string' },
38             }, @_ ) ); }
39 0     0 1    
40             {
41             capture_method => { type => 'string' },
42             reference => { type => 'string' },
43             setup_future_usage => { type => 'string' },
44             }, @_ ) ); }
45 0     0 1    
46             {
47             fingerprint => { type => "scalar" },
48             setup_future_usage => { type => "scalar" },
49             transaction_id => { type => "scalar" },
50             }, @_ ) ); }
51              
52 0     0 1   {
53             bsb_number => { type => "scalar" },
54             fingerprint => { type => "scalar" },
55             last4 => { type => "scalar" },
56             mandate => { type => "scalar" },
57             setup_future_usage => { type => "scalar" },
58             }, @_ ) ); }
59 0     0 1    
60             {
61             fingerprint => { type => "scalar" },
62             last4 => { type => "scalar" },
63             mandate => { type => "scalar" },
64             network_status => { type => "scalar" },
65             reference => { type => "scalar" },
66             setup_future_usage => { type => "scalar" },
67             sort_code => { type => "scalar" },
68 0     0 1   url => { type => "uri" },
69             }, @_ ) ); }
70              
71             {
72             bank_code => { type => "scalar" },
73             bank_name => { type => "scalar" },
74             bic => { type => "scalar" },
75             generated_sepa_debit => {
76             package => "Net::API::Stripe::Payment::Method",
77             type => "scalar_or_object",
78             },
79             generated_sepa_debit_mandate => { package => "Net::API::Stripe::Mandate", type => "scalar_or_object" },
80 0     0 1   iban_last4 => { type => "scalar" },
81             preferred_language => { type => "scalar" },
82             setup_future_usage => { type => "scalar" },
83             verified_name => { type => "scalar" },
84             }, @_ ) ); }
85              
86              
87             {
88             expires_after_days => { type => 'integer' },
89             setup_future_usage => { type => "scalar" },
90             }, @_ ) ); }
91              
92             # sub card { return( shift->_set_get_object( 'card', 'Net::API::Stripe::Connect::ExternalAccount::Card', @_ ) ); }
93              
94              
95              
96 0     0 1   {
97             bank_transfer => {
98 0     0 1   definition => {
99             eu_bank_transfer => { package => "Net::API::Stripe::Address", type => "object" },
100             requested_address_types => { type => "array" },
101             type => { type => "scalar" },
102             },
103             type => "class",
104             },
105             funding_type => { type => "scalar" },
106 0     0 1   setup_future_usage => { type => "scalar" },
107             }, @_ ) ); }
108 0     0 1    
109              
110 0     0 1    
111              
112              
113              
114              
115              
116             {
117             confirmation_number => { type => "scalar" },
118             expires_after_days => { type => "number" },
119             expires_at => { type => "datetime" },
120             product_description => { type => "scalar" },
121             setup_future_usage => { type => "scalar" },
122             }, @_ ) ); }
123              
124 0     0 1   {
125             entity => { type => "scalar" },
126 0     0 1   reference => { type => "scalar" },
127             }, @_ ) ); }
128 0     0 1    
129              
130 0     0 1    
131              
132 0     0 1   {
133             preferred_language => { type => "scalar" },
134 0     0 1   setup_future_usage => { type => "scalar" },
135             }, @_ ) ); }
136 0     0 1    
137              
138 0     0 1    
139             {
140             financial_connections => {
141             definition => { permissions => { type => "array" } },
142             type => "class",
143             },
144             setup_future_usage => { type => "scalar" },
145             verification_method => { type => "scalar" },
146             }, @_ ) ); }
147 0     0 1    
148              
149             1;
150             # NOTE: POD
151              
152             =encoding utf8
153 0     0 1    
154             =head1 NAME
155 0     0 1    
156             Net::API::Stripe::Payment::Method::Options - A Stripe Payment Method Details
157 0     0 1    
158             =head1 SYNOPSIS
159 0     0 1    
160             my $details = $stripe->charge->payment_method_details({
161             card => $card_object,
162             type => 'card',
163             });
164              
165 0     0 1   =head1 VERSION
166              
167 0     0 1   v0.103.0
168              
169 0     0 1   =head1 DESCRIPTION
170              
171             Transaction-specific details of the payment method used in the payment.
172              
173             =head1 CONSTRUCTOR
174              
175             =head2 new( %ARG )
176              
177             Creates a new L<Net::API::Stripe::Payment::Method::Options> object.
178             It may also take an hash like arguments, that also are method of the same name.
179 0     0 1    
180             =head1 METHODS
181              
182             =head2 ach_credit_transfer hash
183              
184             If this is a ach_credit_transfer payment, this hash contains a snapshot of the transaction specific details of the ach_credit_transfer payment method.
185              
186             This is a L<Net::API::Stripe::Payment::Source::ACHCreditTransfer> object
187              
188             =head2 ach_debit hash
189              
190             If this is a ach_debit payment, this hash contains a snapshot of the transaction specific details of the ach_debit payment method.
191              
192             This is a L<Net::API::Stripe::Payment::Source::ACHDebit> object.
193              
194             =head2 acss_debit object
195              
196             If the PaymentIntent's paymentI<method>types includes C<acss_debit>, this hash contains the configurations that will be applied to each payment attempt of that type.
197              
198             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
199              
200             =head2 affirm
201              
202             If this is an affirm PaymentMethod, this hash contains details about the Affirm payment method.
203              
204             It has the following properties:
205              
206             =over 4
207              
208             =item * C<capture_method>
209              
210             Controls when the funds will be captured from the customer’s account.
211              
212             Possible enum values
213              
214             =over 8
215              
216             =item * C<manual>
217              
218             Use manual if you intend to place the funds on hold and want to override the top-level capture_method value for this payment method.
219              
220             =back
221              
222             =item * C<setup_future_usage>
223              
224             Indicates that you intend to make future payments with this PaymentIntent’s payment method.
225              
226             Providing this parameter will attach the payment method to the PaymentIntent’s Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be attached to a Customer after the transaction completes.
227              
228             When processing card payments, Stripe also uses setup_future_usage to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA.
229              
230             Possible enum values
231              
232             =over 8
233              
234             =item * C<none>
235              
236             Use none if you do not intend to reuse this payment method and want to override the top-level setup_future_usage value for this payment method.
237              
238             =back
239              
240             =back
241              
242             =head2 afterpay_clearpay
243              
244             If this is an AfterpayClearpay PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
245              
246             =head2 alipay hash
247              
248             If this is a C<alipay> payment, this hash contains a snapshot of the transaction specific details of the C<alipay> payment method.
249              
250             It has the following properties that can be access as methods:
251              
252             =over 4
253              
254             =item * C<fingerprint> string
255              
256             Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.
257              
258             =item * C<transaction_id> string
259              
260             Transaction ID of this particular Alipay transaction.
261              
262             =back
263              
264             =head2 au_becs_debit hash
265              
266             If this is a C<au_becs_debit> payment, this hash contains a snapshot of the transaction specific details of the C<au_becs_debit> payment method.
267              
268             It has the following properties that can be accessed as methods:
269              
270             =over 4
271              
272             =item * C<bsb_number> string
273              
274             Bank-State-Branch number of the bank account.
275              
276             =item * C<fingerprint> string
277              
278             Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
279              
280             =item * C<last4> string
281              
282             Last four digits of the bank account number.
283              
284             =item * C<mandate> string
285              
286             ID of the mandate used to make this payment.
287              
288             =back
289              
290             =head2 bacs_debit hash
291              
292             If this is a C<bacs_debit> payment, this hash contains a snapshot of the transaction specific details of the C<bacs_debit> payment method.
293              
294             It has the following properties:
295              
296             =over 4
297              
298             =item * C<fingerprint> string
299              
300             Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
301              
302             =item * C<last4> string
303              
304             Last four digits of the bank account number.
305              
306             =item * C<mandate> string
307              
308             ID of the mandate used to make this payment.
309              
310             =item * C<sort_code> string
311              
312             Sort code of the bank account. (e.g., C<10-20-30>)
313              
314             =back
315              
316             =head2 bancontact hash
317              
318             If this is a C<bancontact> payment, this hash contains a snapshot of the transaction specific details of the C<bancontact> payment method.
319              
320             It has the following properties:
321              
322             =over 4
323              
324             =item * C<bank_code> string
325              
326             Bank code of bank associated with the bank account.
327              
328             =item * C<bank_name> string
329              
330             Name of the bank associated with the bank account.
331              
332             =item * C<bic> string
333              
334             Bank Identifier Code of the bank associated with the bank account.
335              
336             =item * C<generated_sepa_debit> string expandable
337              
338             The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
339              
340             When expanded this is an L<Net::API::Stripe::Payment::Method> object.
341              
342             =item * C<generated_sepa_debit_mandate> string expandable
343              
344             The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
345              
346             When expanded this is an L<Net::API::Stripe::Mandate> object.
347              
348             =item * C<iban_last4> string
349              
350             Last four characters of the IBAN.
351              
352             =item * C<preferred_language> string
353              
354             Preferred language of the Bancontact authorization page that the customer is redirected to.
355             Can be one of C<en>, C<de>, C<fr>, or C<nl>
356              
357             =item * C<verified_name> string
358              
359             Owner's verified full name. Values are verified or provided by Bancontact directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
360              
361             =back
362              
363             =head2 blik object
364              
365             If the SetupIntent's paymentI<method>types includes C<blik>, this hash contains the configurations that will be applied to each setup attempt of that type.
366              
367             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
368              
369             =head2 boleto hash
370              
371             If this is a boleto PaymentMethod, this hash contains details about the Boleto payment method.
372              
373             Possible properties are:
374              
375             =over 4
376              
377             =item * C<fingerprint> string preview feature
378              
379             =item * C<tax_id> string
380              
381             Uniquely identifies the customer tax id (CNPJ or CPF)
382              
383             =back
384              
385             =head2 card hash
386              
387             If this is a card payment, this hash contains a snapshot of the transaction specific details of the card payment method.
388              
389             This is a L<Net::API::Stripe::Payment::Card> object.
390              
391             =head2 card_present object
392              
393             This hash contains the snapshot of the C<card_present> transaction-specific details which generated this C<card> payment method.
394              
395             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
396              
397             =head2 customer_balance hash
398              
399             If the PaymentIntent's paymentI<method>types includes C<customer_balance>, this hash contains the configurations that will be applied to each payment attempt of that type.
400              
401             It has the following properties:
402              
403             =over 4
404              
405             =item C<bank_transfer> hash
406              
407             Configuration for the bank transfer funding type, if the C<funding_type> is set to C<bank_transfer>.
408              
409             =over 8
410              
411             =item C<eu_bank_transfer> hash
412              
413             Configuration for eu_bank_transfer
414              
415             When expanded, this is a L<Net::API::Stripe::Address> object.
416              
417             =item C<requested_address_types> array
418              
419             List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
420              
421             Permitted values include: C<sort_code>, C<zengin>, C<iban>, or C<spei>.
422              
423             =item C<type> string
424              
425             The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: C<eu_bank_transfer>, C<gb_bank_transfer>, C<jp_bank_transfer>, or C<mx_bank_transfer>.
426              
427              
428             =back
429              
430             =item C<funding_type> string
431              
432             The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: C<bank_transfer>.
433              
434             =item C<setup_future_usage> string
435              
436             Indicates that you intend to make future payments with this PaymentIntent's payment method.
437              
438             Providing this parameter will L<attach the payment method|https://stripe.com/docs/payments/save-during-payment> to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be L<attached|https://stripe.com/docs/api/payment_methods/attach> to a Customer after the transaction completes.
439              
440             When processing card payments, Stripe also uses C<setup_future_usage> to dynamically optimize your payment flow and comply with regional legislation and network rules, such as L<SCA|https://stripe.com/docs/strong-customer-authentication>.
441              
442             =back
443              
444             =head2 eps object
445              
446             If this is a C<eps> payment, this hash contains a snapshot of the transaction specific details of the C<eps> payment method.
447              
448             This is a L<Net::API::Stripe::Connect::Account::Verification> object.
449              
450             The properties used are:
451              
452             =over 4
453              
454             =item * C<bank> bank
455              
456             The customer’s bank. Should be one of arzte_und_apotheker_bank, austrian_anadi_bank_ag, bank_austria, bankhaus_carl_spangler, bankhaus_schelhammer_und_schattera_ag, bawag_psk_ag, bks_bank_ag, brull_kallmus_bank_ag, btv_vier_lander_bank, capital_bank_grawe_gruppe_ag, dolomitenbank, easybank_ag, erste_bank_und_sparkassen, hypo_alpeadriabank_international_ag, hypo_noe_lb_fur_niederosterreich_u_wien, hypo_oberosterreich_salzburg_steiermark, hypo_tirol_bank_ag, hypo_vorarlberg_bank_ag, hypo_bank_burgenland_aktiengesellschaft, marchfelder_bank, oberbank_ag, raiffeisen_bankengruppe_osterreich, schoellerbank_ag, sparda_bank_wien, volksbank_gruppe, volkskreditbank_ag, or vr_bank_braunau.
457              
458             =item * C<verified_name> string
459              
460             Owner’s verified full name. Values are verified or provided by EPS directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
461              
462             =back
463              
464             =head2 fpx object
465              
466             If the PaymentIntent's paymentI<method>types includes C<fpx>, this hash contains the configurations that will be applied to each payment attempt of that type.
467              
468             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
469              
470             =head2 giropay object
471              
472             If the PaymentIntent's paymentI<method>types includes C<giropay>, this hash contains the configurations that will be applied to each payment attempt of that type.
473              
474             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
475              
476             =head2 grabpay object
477              
478             If the PaymentIntent's paymentI<method>types includes C<grabpay>, this hash contains the configurations that will be applied to each payment attempt of that type.
479              
480             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
481              
482             =head2 ideal object
483              
484             If the PaymentIntent's paymentI<method>types includes C<ideal>, this hash contains the configurations that will be applied to each payment attempt of that type.
485              
486             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
487              
488             =head2 interac_present object
489              
490             If this is a C<interac_present> payment, this hash contains a snapshot of the transaction specific details of the C<interac_present> payment method.
491              
492             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
493              
494             =head2 klarna object
495              
496             If the PaymentIntent's paymentI<method>types includes C<klarna>, this hash contains the configurations that will be applied to each payment attempt of that type.
497              
498             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
499              
500             =head2 konbini hash
501              
502             If the PaymentIntent's paymentI<method>types includes C<konbini>, this hash contains the configurations that will be applied to each payment attempt of that type.
503              
504             It has the following properties:
505              
506             =over 4
507              
508             =item C<confirmation_number> string
509              
510             An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores.
511              
512             =item C<expires_after_days> integer
513              
514             The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and C<expires_after_days> set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST.
515              
516             =item C<expires_at> timestamp
517              
518             The timestamp at which the Konbini payment instructions will expire. Only one of C<expires_after_days> or C<expires_at> may be set.
519              
520             =item C<product_description> string
521              
522             A product descriptor of up to 22 characters, which will appear to customers at the convenience store.
523              
524             =item C<setup_future_usage> string
525              
526             Indicates that you intend to make future payments with this PaymentIntent's payment method.
527              
528             Providing this parameter will L<attach the payment method|https://stripe.com/docs/payments/save-during-payment> to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be L<attached|https://stripe.com/docs/api/payment_methods/attach> to a Customer after the transaction completes.
529              
530             When processing card payments, Stripe also uses C<setup_future_usage> to dynamically optimize your payment flow and comply with regional legislation and network rules, such as L<SCA|https://stripe.com/docs/strong-customer-authentication>.
531              
532             =back
533              
534             =head2 link hash
535              
536             If this is an Link PaymentMethod, this hash contains details about the Link payment method.
537              
538             =head2 multibanco hash
539              
540             If this is a C<multibanco> payment, this hash contains a snapshot of the transaction specific details of the C<multibanco> payment method.
541              
542             This is a L<Net::API::Stripe::Payment::Method::Options::MultiBanco> object.
543              
544             It has the following properties:
545              
546             =over 4
547              
548             =item * C<entity> string
549              
550             Entity number associated with this Multibanco payment.
551              
552             =item * C<reference> string
553              
554             Reference number associated with this Multibanco payment.
555              
556             =back
557              
558             =head2 oxxo object
559              
560             If this is a C<oxxo> payment, this hash contains a snapshot of the transaction specific details of the C<oxxo> payment method.
561              
562             This is a L<Net::API::Stripe::Billing::CreditNote> object.
563              
564             =head2 p24 object
565              
566             If the PaymentIntent's paymentI<method>types includes C<p24>, this hash contains the configurations that will be applied to each payment attempt of that type.
567              
568             This is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
569              
570             =head2 paynow hash
571              
572             If this is a paynow PaymentMethod, this hash contains details about the PayNow payment method.
573              
574             =head2 promptpay hash
575              
576             If this is a promptpay PaymentMethod, this hash contains details about the PromptPay payment method.
577              
578             =head2 sepa_debit hash
579              
580             If this is a sepa_debit payment, this hash contains a snapshot of the transaction specific details of the sepa_debit payment method.
581              
582             =over 4
583              
584             =item * C<bank_code> string
585              
586             Bank code of bank associated with the bank account.
587              
588             =item * C<branch_code> string
589              
590             Branch code of bank associated with the bank account.
591              
592             =item * C<country> string
593              
594             Two-letter ISO code representing the country the bank account is located in.
595              
596             =item * C<fingerprint> string
597              
598             Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
599              
600             =item * C<generated_from> hash
601              
602             Information about the object that generated this PaymentMethod.
603              
604             =over 8
605              
606             =item * C<charge> string
607              
608             This is expandable to a L<Net::API::Stripe::Charge> object.
609              
610             The ID of the Charge that generated this PaymentMethod, if any.
611              
612             =item * C<setup_attempt> string
613              
614             This is expandable to a L<Net::API::Stripe::SetupAttempt> object.
615              
616             The ID of the SetupAttempt that generated this PaymentMethod, if any.
617              
618             =back
619              
620             =item * C<last4> string
621              
622             Last four characters of the IBAN.
623              
624             =item * C<mandate> string
625              
626             ID of the mandate used to make this payment.
627              
628             =back
629              
630             =head2 sofort hash
631              
632             If the PaymentIntent's paymentI<method>types includes C<sofort>, this hash contains the configurations that will be applied to each payment attempt of that type.
633              
634             It has the following properties:
635              
636             =over 4
637              
638             =item C<preferred_language> string
639              
640             Preferred language of the SOFORT authorization page that the customer is redirected to.
641              
642             =item C<setup_future_usage> string
643              
644             Indicates that you intend to make future payments with this PaymentIntent's payment method.
645              
646             Providing this parameter will L<attach the payment method|https://stripe.com/docs/payments/save-during-payment> to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be L<attached|https://stripe.com/docs/api/payment_methods/attach> to a Customer after the transaction completes.
647              
648             When processing card payments, Stripe also uses C<setup_future_usage> to dynamically optimize your payment flow and comply with regional legislation and network rules, such as L<SCA|https://stripe.com/docs/strong-customer-authentication>.
649              
650             =back
651              
652             =head2 stripe_account hash
653              
654             If this is a stripe_account payment, this hash contains a snapshot of the transaction specific details of the stripe_account payment method.
655              
656             This is a L<Net::API::Stripe::Payment::Method::Options::StripeAccount> object.
657              
658             =head2 type string
659              
660             The type of transaction-specific details of the payment method used in the payment, one of ach_credit_transfer, ach_debit, alipay, bancontact, card, card_present, eps, giropay, ideal, klarna, multibanco, p24, sepa_debit, sofort, stripe_account, or wechat. An additional hash is included on payment_method_details with a name matching this value. It contains information specific to the payment method.
661              
662             =head2 us_bank_account hash
663              
664             If the PaymentIntent's paymentI<method>types includes C<us_bank_account>, this hash contains the configurations that will be applied to each payment attempt of that type.
665              
666             It has the following properties:
667              
668             =over 4
669              
670             =item C<financial_connections> hash
671              
672             Additional fields for Financial Connections Session creation
673              
674             =over 8
675              
676             =item C<permissions> array
677              
678             The list of permissions to request. The C<payment_method> permission must be included.
679              
680              
681             =back
682              
683             =item C<setup_future_usage> string
684              
685             Indicates that you intend to make future payments with this PaymentIntent's payment method.
686              
687             Providing this parameter will L<attach the payment method|https://stripe.com/docs/payments/save-during-payment> to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be L<attached|https://stripe.com/docs/api/payment_methods/attach> to a Customer after the transaction completes.
688              
689             When processing card payments, Stripe also uses C<setup_future_usage> to dynamically optimize your payment flow and comply with regional legislation and network rules, such as L<SCA|https://stripe.com/docs/strong-customer-authentication>.
690              
691             =item C<verification_method> string
692              
693             Bank account verification method.
694              
695             =back
696              
697             =head2 wechat hash
698              
699             If this is a wechat payment, this hash contains a snapshot of the transaction specific details of the wechat payment method.
700              
701             This is a L<Net::API::Stripe::Payment::Method::Options::WeChat> object.
702              
703             =head2 wechat_pay hash
704              
705             If this is an wechat_pay PaymentMethod, this hash contains details about the wechat_pay payment method.
706              
707             =head1 HISTORY
708              
709             =head2 v0.1
710              
711             Initial version
712              
713             =head1 STRIPE HISTORY
714              
715             =head2 2019-12-24
716              
717             Stripe added the property B<sepa_debit>
718              
719             =head1 AUTHOR
720              
721             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
722              
723             =head1 SEE ALSO
724              
725             Stripe API documentation:
726              
727             L<https://stripe.com/docs/api/charges/object#charge_object-payment_method_details>
728              
729             L<https://stripe.com/docs/api/payment_methods/object>, L<https://stripe.com/docs/api/charges/object#charge_object-payment_method_details>
730              
731             =head1 COPYRIGHT & LICENSE
732              
733             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
734              
735             You can use, copy, modify and redistribute this package and associated
736             files under the same terms as Perl itself.
737              
738             =cut