PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / Gateways / Stripe / LegacyStripeAdapter.php
give / src / PaymentGateways / Gateways / Stripe Last commit date
Actions 2 years ago Controllers 4 years ago Exceptions 3 years ago Helpers 4 years ago Migrations 2 years ago StripePaymentElementGateway 1 month ago Traits 1 week ago ValueObjects 4 years ago Webhooks 5 months ago BECSGateway.php 11 months ago CheckoutGateway.php 11 months ago CreditCardGateway.php 11 months ago LegacyStripeAdapter.php 1 year ago SEPAGateway.php 11 months ago
LegacyStripeAdapter.php
115 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\Stripe;
4
5 use Give\Donations\Models\Donation;
6 use Give\Helpers\Gateways\Stripe;
7 use Give\PaymentGateways\Gateways\Stripe\StripePaymentElementGateway\StripePaymentElementGateway;
8 use Give_Stripe;
9
10 class LegacyStripeAdapter
11 {
12 /**
13 * Legacy Stripe gates these files by the use of give_stripe_supported_payment_methods.
14 * This makes it possible to load the files without having to enable a legacy stripe gateway.
15 * This also makes it possible to load the files without the use of the give_stripe_supported_payment_methods filter.
16 *
17 * @since 3.0.0
18 */
19 public function loadLegacyStripeWebhooksAndFilters()
20 {
21 $settings = give_get_settings();
22 $gatewaysFromSettings = $settings['gateways'] ?? [];
23 $gatewaysFromOption = give_get_option('gateways_v3', []);
24
25 // for some reason, the gateways from the settings are not always in the gateways from the option.
26 // this might be a service provider race conditions.
27 // for now im merging the two arrays to make sure we're checking both places..
28 $gateways = array_merge(
29 $gatewaysFromOption,
30 $gatewaysFromSettings
31 );
32
33 if (!class_exists('Give_Stripe_Webhooks') && array_key_exists(StripePaymentElementGateway::id(), $gateways)) {
34 (new Give_Stripe())->include_frontend_files();
35 }
36 }
37
38 /**
39 * This adds the Next Gen Stripe Gateway to the list of give_stripe_supported_payment_methods.
40 *
41 * If this is not included, then the webhooks will not be registered unless a legacy stripe gateway is enabled.
42 *
43 * @since 3.0.0
44 */
45 public function addToStripeSupportedPaymentMethodsList()
46 {
47 add_filter('give_stripe_supported_payment_methods', static function ($gateways) {
48 $gatewayId = StripePaymentElementGateway::id();
49
50 if (!in_array($gatewayId, $gateways, true)) {
51 $gateways[] = $gatewayId;
52 }
53
54 return $gateways;
55 });
56 }
57
58 /**
59 * This adds the Stripe details to the donation details page.
60 *
61 * @since 3.0.0
62 */
63 public function addDonationDetails()
64 {
65 /**
66 * Transaction ID link in donation details
67 */
68 add_filter(
69 sprintf('give_payment_details_transaction_id-%s', StripePaymentElementGateway::id()),
70 'give_stripe_link_transaction_id',
71 10,
72 2
73 );
74
75 /**
76 * Displays the stripe account details on donation details page.
77 */
78 add_action('give_view_donation_details_payment_meta_after', static function ($donationId) {
79 /** @var Donation $donation */
80 $donation = Donation::find($donationId);
81
82 if ($donation->gatewayId === StripePaymentElementGateway::id()) {
83 $stripeAccounts = give_stripe_get_all_accounts();
84 $accountId = give_get_meta($donationId, '_give_stripe_account_slug', true);
85 $accountDetail = $stripeAccounts[$accountId] ?? [];
86 $account = 'connect' === $accountDetail['type'] ?
87 "{$accountDetail['account_name']} ({$accountId})" :
88 give_stripe_convert_slug_to_title($accountId);
89 ?>
90 <div class="give-donation-stripe-account-used give-admin-box-inside">
91 <p>
92 <strong><?php
93 esc_html_e('Stripe Account:', 'give'); ?></strong><br />
94 <?php
95 echo $account; ?>
96 </p>
97 </div>
98 <?php
99 }
100 });
101
102 /**
103 * Adds the stripe account details to donation notes and donation meta.
104 */
105 add_action('give_insert_payment', static function ($donationId) {
106 /** @var Donation $donation */
107 $donation = Donation::find($donationId);
108
109 if ($donation->gatewayId === StripePaymentElementGateway::id()) {
110 Stripe::addAccountDetail($donationId, $donation->formId);
111 }
112 });
113 }
114 }
115