PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.3.1
GiveWP – Donation Plugin and Fundraising Platform v4.3.1
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 / Stripe / ApplicationFee.php
give / src / PaymentGateways / Stripe Last commit date
Admin 1 year 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 1 year ago DonationFormElements.php 4 years ago DonationFormSettingPage.php 4 years ago
ApplicationFee.php
66 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 2.10.2
60 */
61 public function doesCountrySupportApplicationFee(): bool
62 {
63 return 'BR' !== $this->accountDetail->accountCountry;
64 }
65 }
66