PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.16.4
GiveWP – Donation Plugin and Fundraising Platform v3.16.4
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 / Helpers / Gateways / Stripe.php
give / src / Helpers / Gateways Last commit date
Stripe.php 4 years ago
Stripe.php
236 lines
1 <?php
2
3 namespace Give\Helpers\Gateways;
4
5 /**
6 * Class Stripe
7 *
8 * @package Give\Helpers\Gateways
9 */
10 class Stripe
11 {
12
13 /**
14 * Check whether the Account is configured or not.
15 *
16 * @since 2.7.0
17 * @access public
18 *
19 * @return bool
20 */
21 public static function isAccountConfigured()
22 {
23 $publishableKey = give_stripe_get_publishable_key();
24 $secretKey = give_stripe_get_secret_key();
25
26 return ! empty($publishableKey) || ! empty($secretKey);
27 }
28
29 /**
30 * This function is used to add Stripe account details to donation if donation process with any stripe payment method.
31 *
32 * @since 2.7.0
33 *
34 * @param int $formId
35 *
36 * @param int $donationId
37 */
38 public static function addAccountDetail($donationId, $formId)
39 {
40 $accountId = give_stripe_get_default_account_slug($formId);
41 $accountDetail = give_stripe_get_default_account($formId);
42 $accountName = 'connect' === $accountDetail['type'] ? $accountDetail['account_name'] : give_stripe_convert_slug_to_title(
43 $accountId
44 );
45
46 $stripeAccountNote = 'connect' === $accountDetail['type'] ?
47 sprintf(
48 '%1$s "%2$s" %3$s',
49 esc_html__('Donation accepted with Stripe account', 'give'),
50 "{$accountName} ({$accountId})",
51 esc_html__('using Stripe Connect.', 'give')
52 ) :
53 sprintf(
54 '%1$s "%2$s" %3$s',
55 esc_html__('Donation accepted with Stripe account', 'give'),
56 $accountName,
57 esc_html__('using Manual API Keys.', 'give')
58 );
59
60 give_update_meta($donationId, '_give_stripe_account_slug', $accountId);
61
62 // Log data to donation notes.
63 give_insert_payment_note($donationId, $stripeAccountNote);
64 }
65
66 /**
67 * Return whether or not a Stripe payment method.
68 *
69 * @param $paymentMethod
70 *
71 * @return bool
72 */
73 public static function isDonationPaymentMethod($paymentMethod)
74 {
75 return in_array($paymentMethod, give_stripe_supported_payment_methods(), true);
76 }
77
78 /**
79 * Show Stripe Credit Card Fields.
80 *
81 * @since 2.8.0
82 * @access public
83 *
84 * @param string $idPrefix ID Prefix to define same forms uniquely.
85 *
86 * @return mixed|void
87 */
88 public static function showCreditCardFields($idPrefix)
89 {
90 ob_start();
91 $ccFieldFormat = give_get_option('stripe_cc_fields_format', 'multi');
92
93 if ('single' === $ccFieldFormat) {
94 // Display the stripe container which can be occupied by Stripe for CC fields.
95 echo sprintf(
96 '<div id="%1$s" class="give-stripe-single-cc-field-wrap"></div>',
97 "give-stripe-single-cc-fields-{$idPrefix}"
98 );
99 } elseif ('multi' === $ccFieldFormat) {
100 ?>
101 <div id="give-card-number-wrap-<?php
102 echo esc_html($idPrefix); ?>"
103 class="form-row form-row-two-thirds form-row-responsive give-stripe-cc-field-wrap">
104 <div>
105 <label for="give-card-number-field-<?php
106 echo esc_html($idPrefix); ?>" class="give-label">
107 <?php
108 esc_attr_e('Card Number', 'give'); ?>
109 <span class="give-required-indicator">*</span>
110 <span class="give-tooltip give-icon give-icon-question"
111 data-tooltip="<?php
112 esc_attr_e(
113 'The (typically) 16 digits on the front of your credit card.',
114 'give'
115 ); ?>"></span>
116 <span class="card-type"></span>
117 </label>
118 <div id="give-card-number-field-<?php
119 echo esc_html($idPrefix); ?>"
120 class="input empty give-stripe-cc-field give-stripe-card-number-field"></div>
121 </div>
122 </div>
123
124 <div id="give-card-cvc-wrap-<?php
125 echo esc_html($idPrefix); ?>"
126 class="form-row form-row-one-third form-row-responsive give-stripe-cc-field-wrap">
127 <div>
128 <label for="give-card-cvc-field-<?php
129 echo esc_html($idPrefix); ?>" class="give-label">
130 <?php
131 esc_attr_e('CVC', 'give'); ?>
132 <span class="give-required-indicator">*</span>
133 <span class="give-tooltip give-icon give-icon-question"
134 data-tooltip="<?php
135 esc_attr_e(
136 'The 3 digit (back) or 4 digit (front) value on your card.',
137 'give'
138 ); ?>"></span>
139 </label>
140 <div id="give-card-cvc-field-<?php
141 echo esc_html($idPrefix); ?>"
142 class="input empty give-stripe-cc-field give-stripe-card-cvc-field"></div>
143 </div>
144 </div>
145
146 <div id="give-card-name-wrap-<?php
147 echo esc_html($idPrefix); ?>" class="form-row form-row-two-thirds form-row-responsive">
148 <label for="give-card-name-field-<?php
149 echo esc_html($idPrefix); ?>" class="give-label">
150 <?php
151 esc_attr_e('Cardholder Name', 'give'); ?>
152 <span class="give-required-indicator">*</span>
153 <span class="give-tooltip give-icon give-icon-question"
154 data-tooltip="<?php
155 esc_attr_e('The name of the credit card account holder.', 'give'); ?>"></span>
156 </label>
157 <input
158 type="text"
159 autocomplete="off"
160 id="give-card-name-field-<?php
161 echo esc_html($idPrefix); ?>"
162 name="card_name"
163 class="card-name give-input required"
164 placeholder="<?php
165 esc_attr_e('Cardholder Name', 'give'); ?>"
166 />
167 </div>
168
169 <?php
170 do_action('give_before_cc_expiration'); ?>
171
172 <div id="give-card-expiration-wrap-<?php
173 echo esc_html($idPrefix); ?>"
174 class="card-expiration form-row form-row-one-third form-row-responsive give-stripe-cc-field-wrap">
175 <div>
176 <label for="give-card-expiration-field-<?php
177 echo esc_html($idPrefix); ?>" class="give-label">
178 <?php
179 esc_attr_e('Expiration', 'give'); ?>
180 <span class="give-required-indicator">*</span>
181 <span class="give-tooltip give-icon give-icon-question"
182 data-tooltip="<?php
183 esc_attr_e(
184 'The date your credit card expires, typically on the front of the card.',
185 'give'
186 ); ?>"></span>
187 </label>
188
189 <div id="give-card-expiration-field-<?php
190 echo esc_html($idPrefix); ?>"
191 class="input empty give-stripe-cc-field give-stripe-card-expiration-field"></div>
192 </div>
193 </div>
194 <?php
195 }
196
197 return ob_get_clean();
198 }
199
200 /**
201 * Collect Billing Address?
202 *
203 * @since 2.8.0
204 *
205 * @return bool
206 */
207 public static function collectBillingAddress()
208 {
209 return give_is_setting_enabled(give_get_option('stripe_collect_billing'));
210 }
211
212 /**
213 * Can Show Billing address Fields.
214 *
215 * @since 2.8.0
216 *
217 * @param array $args List of additional arguments.
218 *
219 * @param int $formId Donation Form ID.
220 *
221 * @return bool|mixed
222 */
223 public static function canShowBillingAddress($formId, $args)
224 {
225 if ( ! self::collectBillingAddress()) {
226 remove_action('give_after_cc_fields', 'give_default_cc_address_fields');
227
228 return false;
229 }
230
231 do_action('give_after_cc_fields', $formId, $args);
232
233 return true;
234 }
235 }
236