PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.13.3
GiveWP – Donation Plugin and Fundraising Platform v2.13.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 / PayPalCommerce / PayPalCommerce.php
give / src / PaymentGateways / PayPalCommerce Last commit date
DataTransferObjects 5 years ago Models 5 years ago Repositories 5 years ago Webhooks 5 years ago AccountAdminNotices.php 5 years ago AdminSettingFields.php 5 years ago AdvancedCardFields.php 5 years ago AjaxRequestHandler.php 5 years ago DonationDetailsPage.php 5 years ago DonationFormPaymentMethod.php 5 years ago DonationProcessor.php 5 years ago PayPalClient.php 5 years ago PayPalCommerce.php 5 years ago RefreshToken.php 5 years ago RefundPaymentHandler.php 5 years ago ScriptLoader.php 5 years ago Utils.php 5 years ago onBoardingRedirectHandler.php 5 years ago
PayPalCommerce.php
149 lines
1 <?php
2
3 namespace Give\PaymentGateways\PayPalCommerce;
4
5 use Give\Helpers\Hooks;
6 use Give\PaymentGateways\PaymentGateway;
7 use Give\PaymentGateways\PayPalCommerce\Models\MerchantDetail;
8 use Give\PaymentGateways\PayPalCommerce\Webhooks\WebhookChecker;
9
10 /**
11 * Class PayPalCommerce
12 *
13 * Boots the PayPalCommerce gateway and provides its basic registration properties
14 *
15 * @since 2.9.0
16 */
17 class PayPalCommerce implements PaymentGateway {
18 const GATEWAY_ID = 'paypal-commerce';
19
20 /**
21 * @inheritDoc
22 */
23 public function getId() {
24 return self::GATEWAY_ID;
25 }
26
27 /**
28 * @inheritDoc
29 */
30 public function getName() {
31 return esc_html__( 'PayPal Donations', 'give' );
32 }
33
34 /**
35 * @inheritDoc
36 */
37 public function getPaymentMethodLabel() {
38 return esc_html__( 'Credit Card', 'give' );
39 }
40
41 /**
42 * @inheritDoc
43 */
44 public function getOptions() {
45 $settings = [
46 [
47 'type' => 'title',
48 'id' => 'give_gateway_settings_1',
49 'table_html' => false,
50 ],
51 [
52 'id' => 'paypal_commerce_introduction',
53 'type' => 'paypal_commerce_introduction',
54 ],
55 [
56 'type' => 'sectionend',
57 'id' => 'give_gateway_settings_1',
58 'table_html' => false,
59 ],
60 [
61 'type' => 'title',
62 'id' => 'give_gateway_settings_2',
63 ],
64 [
65 'name' => esc_html__( 'Account Country', 'give' ),
66 'id' => 'paypal_commerce_account_country',
67 'type' => 'paypal_commerce_account_country',
68 ],
69 [
70 'name' => esc_html__( 'Connect With Paypal', 'give' ),
71 'id' => 'paypal_commerce_account_manger',
72 'type' => 'paypal_commerce_account_manger',
73 ],
74 [
75 'name' => esc_html__( 'PayPal Donations Gateway Settings Docs Link', 'give' ),
76 'id' => 'paypal_commerce_gateway_settings_docs_link',
77 'url' => esc_url( 'http://docs.givewp.com/paypal-donations' ),
78 'title' => esc_html__( 'PayPal Donations Gateway Settings', 'give' ),
79 'type' => 'give_docs_link',
80 ],
81 [
82 'type' => 'sectionend',
83 'id' => 'give_gateway_settings_2',
84 ],
85 ];
86
87 if ( give( MerchantDetail::class )->accountIsReady ) {
88 $settings = give_settings_array_insert(
89 $settings,
90 'paypal_commerce_gateway_settings_docs_link',
91 [
92 [
93 'name' => esc_html__( 'Collect Billing Details', 'give' ),
94 'id' => 'paypal_commerce_collect_billing_details',
95 'type' => 'radio_inline',
96 'desc' => esc_html__(
97 'If enabled, required billing address fields are added to PayPal Donations Donation forms. These fields are required to process the transaction when enabled. Billing address details are added to both the donation and donor record in GiveWP.',
98 'give'
99 ),
100 'default' => 'disabled',
101 'options' => [
102 'enabled' => esc_html__( 'Enabled', 'give' ),
103 'disabled' => esc_html__( 'Disabled', 'give' ),
104 ],
105 ],
106 ]
107 );
108 }
109
110 /**
111 * filter the settings
112 *
113 * @since 2.9.6
114 */
115 return apply_filters( 'give_get_settings_paypal_commerce', $settings );
116 }
117
118 /**
119 * @inheritDoc
120 */
121 public function boot() {
122 Hooks::addAction( 'wp_ajax_give_paypal_commerce_user_on_boarded', AjaxRequestHandler::class, 'onBoardedUserAjaxRequestHandler' );
123 Hooks::addAction( 'wp_ajax_give_paypal_commerce_get_partner_url', AjaxRequestHandler::class, 'onGetPartnerUrlAjaxRequestHandler' );
124 Hooks::addAction( 'wp_ajax_give_paypal_commerce_disconnect_account', AjaxRequestHandler::class, 'removePayPalAccount' );
125 Hooks::addAction( 'wp_ajax_give_paypal_commerce_create_order', AjaxRequestHandler::class, 'createOrder' );
126 Hooks::addAction( 'wp_ajax_give_paypal_commerce_onboarding_trouble_notice', AjaxRequestHandler::class, 'onBoardingTroubleNotice' );
127 Hooks::addAction( 'wp_ajax_nopriv_give_paypal_commerce_create_order', AjaxRequestHandler::class, 'createOrder' );
128 Hooks::addAction( 'wp_ajax_give_paypal_commerce_approve_order', AjaxRequestHandler::class, 'approveOrder' );
129 Hooks::addAction( 'wp_ajax_nopriv_give_paypal_commerce_approve_order', AjaxRequestHandler::class, 'approveOrder' );
130
131 Hooks::addAction( 'admin_enqueue_scripts', ScriptLoader::class, 'loadAdminScripts' );
132 Hooks::addAction( 'wp_enqueue_scripts', ScriptLoader::class, 'loadPublicAssets' );
133 Hooks::addAction( 'give_pre_form_output', DonationFormPaymentMethod::class, 'handle' );
134
135 Hooks::addAction( 'give_paypal_commerce_refresh_token', RefreshToken::class, 'refreshToken' );
136 Hooks::addAction( 'give_paypal-commerce_cc_form', AdvancedCardFields::class, 'addCreditCardForm' );
137 Hooks::addAction( 'give_gateway_paypal-commerce', DonationProcessor::class, 'handle' );
138
139 Hooks::addAction( 'admin_init', AccountAdminNotices::class, 'displayNotices' );
140 Hooks::addFilter( 'give_payment_details_transaction_id-paypal-commerce', DonationDetailsPage::class, 'getPayPalPaymentUrl' );
141
142 Hooks::addAction( 'give_update_edited_donation', RefundPaymentHandler::class, 'refundPayment' );
143 Hooks::addAction( 'admin_notices', RefundPaymentHandler::class, 'showPaymentRefundFailureNotice' );
144 Hooks::addAction( 'give_view_donation_details_totals_after', RefundPaymentHandler::class, 'optInForRefundFormField' );
145
146 Hooks::addAction( 'admin_init', WebhookChecker::class, 'checkWebhookCriteria' );
147 }
148 }
149