PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.4
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 / Stripe / Repositories / AccountDetail.php
give / src / PaymentGateways / Stripe / Repositories Last commit date
AccountDetail.php 4 years ago Settings.php 4 years ago
AccountDetail.php
99 lines
1 <?php
2
3 namespace Give\PaymentGateways\Stripe\Repositories;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6 use Give\PaymentGateways\Exceptions\InvalidPropertyName;
7 use Give\PaymentGateways\Stripe\Models\AccountDetail as AccountDetailModel;
8
9 /**
10 * Class AccountDetail
11 *
12 * @package Give\PaymentGateways\Stripe\Repository
13 * @since 2.10.2
14 */
15 class AccountDetail
16 {
17 /**
18 * Return Stripe account id for donation form.
19 *
20 * @since 2.10.2
21 *
22 * @param int $formId
23 *
24 * @return AccountDetailModel
25 * @throws InvalidPropertyName
26 */
27 public function getDonationFormStripeAccountId($formId)
28 {
29 $formHasStripeAccount = give_is_setting_enabled(give_get_meta($formId, 'give_stripe_per_form_accounts', true));
30 if ($formId > 0 && $formHasStripeAccount) {
31 // Return default Stripe account of the form, if enabled.
32 $accountId = give_get_meta($formId, '_give_stripe_default_account', true);
33 } else {
34 // Global Stripe account.
35 $accountId = give_get_option('_give_stripe_default_account', '');
36 }
37
38 return $this->getAccountDetail($accountId);
39 }
40
41 /**
42 * Get account detail by Stripe account id.
43 *
44 * @since 2.10.2
45 *
46 * @param string $accountId
47 *
48 * @return AccountDetailModel
49 * @throws InvalidPropertyName
50 */
51 public function getAccountDetail($accountId)
52 {
53 $accountDetail = array_filter(
54 give_stripe_get_all_accounts(),
55 static function ($data) use ($accountId) {
56 return $data['account_id'] === $accountId;
57 }
58 );
59
60 $accountDetail = $accountDetail ? current($accountDetail) : $accountDetail;
61
62 return new AccountDetailModel($accountDetail);
63 }
64
65 /**
66 * Get account detail by Stripe account slug.
67 *
68 * @since 2.13.3
69 *
70 * @param string $accountSlug
71 *
72 * @return AccountDetailModel
73 * @throws InvalidArgumentException|InvalidPropertyName
74 */
75 public function getAccountDetailBySlug($accountSlug)
76 {
77 $accountDetail = array_filter(
78 give_stripe_get_all_accounts(),
79 static function ($data) use ($accountSlug) {
80 return $data['account_slug'] === $accountSlug;
81 }
82 );
83
84 if ( ! $accountDetail) {
85 throw new InvalidArgumentException(
86 sprintf(
87 'Stripe account with %s account slug does not exist',
88 $accountSlug
89 )
90 );
91 }
92
93 $accountDetail = current($accountDetail);
94
95 return new AccountDetailModel($accountDetail);
96 }
97
98 }
99