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