PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / Stripe / ApplicationFee.php
give / src / PaymentGateways / Stripe Last commit date
Admin 11 months ago Controllers 2 years ago DataTransferObjects 3 years ago Exceptions 4 years ago Models 3 years ago Repositories 4 years ago Traits 4 years ago ApplicationFee.php 11 months ago DonationFormElements.php 4 years ago DonationFormSettingPage.php 4 years ago
ApplicationFee.php
76 lines
1 <?php
2
3 namespace Give\PaymentGateways\Stripe;
4
5 use Give\License\Repositories\LicenseRepository;
6 use Give\PaymentGateways\Stripe\Models\AccountDetail as AccountDetailModel;
7
8 /**
9 * Class ApplicationFee
10 * @package Give\PaymentGateways\Stripe
11 *
12 * @see https://github.com/impress-org/givewp/issues/5555#issuecomment-759596226
13 *
14 * @since 2.10.2
15 */
16 class ApplicationFee
17 {
18 /**
19 * @since 2.10.2
20 */
21 protected AccountDetailModel $accountDetail;
22
23 /**
24 * @since 4.3.0
25 */
26 protected LicenseRepository $licenseRepository;
27
28 /**
29 * @since 4.3.0 added LicenseRepository
30 * @since 2.10.2
31 */
32 public function __construct(AccountDetailModel $accountDetail)
33 {
34 $this->accountDetail = $accountDetail;
35 $this->licenseRepository = give(LicenseRepository::class);
36 }
37
38 /**
39 * Returns true or false based on whether the Stripe fee should be applied or not
40 *
41 * @since 4.3.0 updated logic to check license for gateway fee
42 * @since 2.10.2
43 */
44 public static function canAddFee(): bool
45 {
46 /* @var self $gate */
47 $gate = give(static::class);
48
49 if (!$gate->doesCountrySupportApplicationFee()) {
50 return false;
51 }
52
53 return $gate->licenseRepository->hasPlatformFeePercentage();
54 }
55
56 /**
57 * Return whether country support application fee.
58 *
59 * @since 4.5.0 Add India, Malaysia, Mexico, Singapore, Thailand to the list of unsupported countries
60 * @since 2.10.2
61 */
62 public function doesCountrySupportApplicationFee(): bool
63 {
64 $unsupportedCountries = [
65 'BR', // Brazil
66 'IN', // India
67 'MY', // Malaysia
68 'MX', // Mexico
69 'SG', // Singapore
70 'TH', // Thailand
71 ];
72
73 return !in_array($this->accountDetail->accountCountry, $unsupportedCountries);
74 }
75 }
76