PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6
GiveWP – Donation Plugin and Fundraising Platform v4.16.6
4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / PaymentGateways / Gateways / Stripe / StripePaymentElementGateway / DataTransferObjects / StripePaymentIntentData.php
give / src / PaymentGateways / Gateways / Stripe / StripePaymentElementGateway / DataTransferObjects Last commit date
StripeGatewayData.php 2 years ago StripePaymentIntentData.php 1 year ago
StripePaymentIntentData.php
101 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\Stripe\StripePaymentElementGateway\DataTransferObjects;
4
5 class StripePaymentIntentData
6 {
7 /**
8 * @var string
9 */
10 public $amount;
11 /**
12 * @var string
13 */
14 public $currency;
15 /**
16 * @var string
17 */
18 public $customer;
19 /**
20 * @var string
21 */
22 public $description;
23 /**
24 * @var array
25 */
26 public $metadata;
27 /**
28 * @var array|null
29 *
30 */
31 public $automaticPaymentMethods;
32 /**
33 * @var string|null
34 */
35 public $applicationFeeAmount;
36 /**
37 * @var string|null
38 */
39 public $receiptEmail;
40
41 /**
42 * @since 3.20.0 removed statement_descriptor. As of 01/02/2024, Stripe no longer supports the `statement_descriptor` parameter on the PaymentIntent API for PaymentIntents in which one of the supported `payment_method_types` is `card`.
43 * @since 3.0.0
44 *
45 * @param array{amount: string, currency: string, customer: string, description: string, metadata: array, automatic_payment_methods: array, application_fee_amount: string, receipt_email: string } $array
46 */
47 public static function fromArray(array $array): self
48 {
49 $self = new self();
50 $self->amount = $array['amount'];
51 $self->currency = $array['currency'];
52 $self->customer = $array['customer'];
53 $self->description = $array['description'];
54 $self->metadata = $array['metadata'];
55 $self->automaticPaymentMethods = !empty($array['automatic_payment_methods']) ? $array['automatic_payment_methods'] : null;
56 $self->applicationFeeAmount = !empty($array['application_fee_amount']) ? $array['application_fee_amount'] : null;
57 $self->receiptEmail = !empty($array['receipt_email']) ? $array['receipt_email'] : null;
58
59 return $self;
60 }
61
62 /**
63 * @since 3.0.0
64 */
65 public function toParams()
66 {
67 $args = [
68 'amount' => $this->amount,
69 'currency' => $this->currency,
70 'customer' => $this->customer,
71 'description' => $this->description,
72 'metadata' => $this->metadata
73 ];
74
75 if ($this->automaticPaymentMethods){
76 $args['automatic_payment_methods'] = $this->automaticPaymentMethods;
77 }
78
79 if ($this->applicationFeeAmount){
80 $args['application_fee_amount'] = $this->applicationFeeAmount;
81 }
82
83 if ($this->receiptEmail){
84 $args['receipt_email'] = $this->receiptEmail;
85 }
86
87 return apply_filters(
88 'givewp_stripe_create_intent_args',
89 $args
90 );
91 }
92
93 /**
94 * @since 3.0.0
95 */
96 public function toOptions(string $stripeConnectAccountId): array
97 {
98 return ['stripe_account' => $stripeConnectAccountId];
99 }
100 }
101