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