![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets-rebuild.corals.io/wp-content/plugins/give/src/PaymentGateways/ |
<?php namespace Give\PaymentGateways; use Give\Framework\Migrations\MigrationsRegister; use Give\Framework\PaymentGateways\PaymentGatewayRegister; use Give\Framework\PaymentGateways\Routes\GatewayRoute; use Give\Helpers\Hooks; use Give\LegacyPaymentGateways\Actions\RegisterPaymentGatewaySettingsList; use Give\PaymentGateways\Actions\RegisterPaymentGateways; use Give\PaymentGateways\Gateways\PayPalStandard\Webhooks\WebhookRegister; use Give\PaymentGateways\Gateways\Stripe\CheckoutGateway; use Give\PaymentGateways\Gateways\Stripe\Controllers\UpdateStatementDescriptorAjaxRequestController; use Give\PaymentGateways\Gateways\Stripe\Migrations\AddMissingTransactionIdForUncompletedDonations; use Give\PaymentGateways\Gateways\Stripe\Migrations\AddStatementDescriptorToStripeAccounts; use Give\PaymentGateways\Gateways\Stripe\Migrations\RemovePaymentIntentSecretMeta; use Give\PaymentGateways\Migrations\CopyV2GatewaysSettingsToV3; use Give\PaymentGateways\PayPalCommerce\Banners\GatewaySettingPageBanner; use Give\PaymentGateways\PayPalCommerce\Banners\PayPalStandardToDonationsMigrationGlobalBanner; use Give\PaymentGateways\PayPalCommerce\Migrations\RegisterPayPalDonationsRefreshTokenCronJobByMode; use Give\PaymentGateways\PayPalCommerce\Migrations\RemoveLogWithCardInfo; use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface; /** * Class ServiceProvider - PaymentGateways * * The Service Provider for loading the Payment Gateways for Payment Flow 2.0 * * @since 2.18.0 */ class ServiceProvider implements ServiceProviderInterface { /** * @inheritDoc */ public function register() { give()->singleton(PaymentGatewayRegister::class); give()->singleton(WebhookRegister::class); give()->alias(PaymentGatewayRegister::class, 'gateways'); } /** * @inheritDoc */ public function boot() { $this->registerMigrations(); Hooks::addFilter('give_register_gateway', RegisterPaymentGateways::class); Hooks::addFilter('give_payment_gateways', RegisterPaymentGatewaySettingsList::class); Hooks::addAction('template_redirect', GatewayRoute::class); Hooks::addAction( 'wp_ajax_edit_stripe_account_statement_descriptor', UpdateStatementDescriptorAjaxRequestController::class ); /** * Stripe Checkout Redirect Handler */ Hooks::addAction('wp_footer', CheckoutGateway::class, 'maybeHandleRedirect', 99999); Hooks::addAction('give_embed_footer', CheckoutGateway::class, 'maybeHandleRedirect', 99999); $this->registerPayPalDonationsMigrationBanners(); $this->maybeHidePayPalStandard(); } /** * @since 3.0.0 add CopyV2GatewaysSettingsToV3 migration * @since 2.33.0 add RemovePaymentIntentSecretMeta migration * @since 2.19.6 */ private function registerMigrations() { give(MigrationsRegister::class)->addMigrations([ AddStatementDescriptorToStripeAccounts::class, AddMissingTransactionIdForUncompletedDonations::class, RemoveLogWithCardInfo::class, RemovePaymentIntentSecretMeta::class, RegisterPayPalDonationsRefreshTokenCronJobByMode::class, CopyV2GatewaysSettingsToV3::class, ]); } /** * This method registers the banners. * @since 2.33.0 * @return void */ private function registerPayPalDonationsMigrationBanners() { if (! is_admin()) { return; } // Banner for the migration from PayPal Standard to PayPal Donations. give(GatewaySettingPageBanner::class)->setupHook(); give(PayPalStandardToDonationsMigrationGlobalBanner::class)->setHook(); } /** * @since 4.1.0 */ private function maybeHidePayPalStandard() { if ( ! is_admin()) { return; } $isPayPalStandardConnected = is_email(give_get_option('paypal_email', false)); $alwaysShowPayPalStandardAdminOptions = defined('GIVE_ALWAYS_SHOW_PAYPAL_STANDARD_ADMIN_OPTIONS') && GIVE_ALWAYS_SHOW_PAYPAL_STANDARD_ADMIN_OPTIONS; add_filter('give_settings_payment_gateways_menu_groups', function ($groups) use ($isPayPalStandardConnected, $alwaysShowPayPalStandardAdminOptions) { if ($isPayPalStandardConnected || $alwaysShowPayPalStandardAdminOptions) { return $groups; } if (isset($groups['v2']['gateways']['paypal'])) { unset($groups['v2']['gateways']['paypal']); } if (isset($groups['v3']['gateways']['paypal'])) { unset($groups['v3']['gateways']['paypal']); } return $groups; }, 999 ); add_filter('give_get_groups_paypal', function ($groups) use ($isPayPalStandardConnected, $alwaysShowPayPalStandardAdminOptions) { if ($isPayPalStandardConnected || $alwaysShowPayPalStandardAdminOptions) { return $groups; } if (isset($groups['paypal'])) { unset($groups['paypal']); } return $groups; }, 999 ); } }