PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.4
GiveWP – Donation Plugin and Fundraising Platform v2.10.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 / Models / AccountDetail.php
give / src / PaymentGateways / Stripe / Models Last commit date
AccountDetail.php 5 years ago
AccountDetail.php
83 lines
1 <?php
2
3 namespace Give\PaymentGateways\Stripe\Models;
4
5 use Give\Helpers\ArrayDataSet;
6 use InvalidArgumentException;
7
8 /**
9 * Class AccountDetail
10 *
11 * @package Give\PaymentGateways\Stripe\Models
12 * @since 2.10.2
13 *
14 * @property-read string $type
15 * @property-read string $accountName
16 * @property-read string $accountSlug
17 * @property-read string $accountEmail
18 * @property-read string $accountCountry
19 * @property-read string $accountId
20 * @property-read string $liveSecretKey
21 * @property-read string $livePublishableKey
22 * @property-read string $testSecretKey
23 * @property-read string $testPublishableKey
24 */
25 class AccountDetail {
26 protected $args;
27 protected $propertiesArgs;
28 protected $requiredArgs = [
29 'type',
30 'account_name',
31 'account_slug',
32 'account_email',
33 'account_country',
34 'account_id',
35 'live_secret_key',
36 'live_publishable_key',
37 'test_secret_key',
38 'test_publishable_key',
39 ];
40
41 /**
42 * AccountDetail constructor.
43 *
44 * @since 2.10.2
45 * @param array $args
46 */
47 public function __construct( array $args ) {
48 $this->args = $args;
49 $this->propertiesArgs = ArrayDataSet::camelCaseKeys( $args );
50 $this->validate( $args );
51 }
52
53 /**
54 * @since 2.10.2
55 * @param string $key
56 *
57 * @return mixed
58 */
59 public function __get( $key ) {
60 return $this->propertiesArgs[ $key ];
61 }
62
63 /**
64 * Validate array format.
65 *
66 * @since 2.10.2
67 * @param array $array
68 *
69 * @throws InvalidArgumentException
70 */
71 private function validate( $array ) {
72 if ( array_diff( $this->requiredArgs, array_keys( $array ) ) ) {
73 throw new InvalidArgumentException(
74 sprintf(
75 esc_html__( 'To create a %1$s object, please provide valid: %2$s', 'give' ),
76 __CLASS__,
77 implode( ' , ', $this->requiredArgs )
78 )
79 );
80 }
81 }
82 }
83