PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.0
GiveWP – Donation Plugin and Fundraising Platform v2.22.0
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 / Stripe / Traits / HasStripeStatementDescriptorText.php
give / src / PaymentGateways / Stripe / Traits Last commit date
HasStripeStatementDescriptorText.php 4 years ago
HasStripeStatementDescriptorText.php
68 lines
1 <?php
2
3 namespace Give\PaymentGateways\Stripe\Traits;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6
7 /**
8 * @since 2.19.0
9 */
10 trait HasStripeStatementDescriptorText
11 {
12 /**
13 * Return filtered stripe statement descriptor text.
14 * Check Stripe statement descriptor requirements: https://stripe.com/docs/statement-descriptors#requirements
15 *
16 * @since 2.19.0
17 *
18 * @param string $statementDescriptor
19 */
20 protected function validateStatementDescriptor($statementDescriptor)
21 {
22 $maxLength = 22;
23 $minLength = 5;
24 $unsupportedCharacters = ['<', '>', '"', '\\', '\'', '*']; // Stripe reserve keywords.
25
26 if ($minLength > strlen($statementDescriptor) || $maxLength < strlen($statementDescriptor)) {
27 throw new InvalidArgumentException(
28 esc_html__('Stripe statement descriptor text should contain between 5 - 22 letters, inclusive.', 'give')
29 );
30 }
31
32 if (is_numeric($statementDescriptor)) {
33 throw new InvalidArgumentException(
34 esc_html__('Stripe statement descriptor text should contain at least one letter.', 'give')
35 );
36 }
37
38 if (array_intersect($unsupportedCharacters, str_split($statementDescriptor))) {
39 throw new InvalidArgumentException(
40 __(
41 'Stripe statement descriptor text should not contain any of the special characters <code>< > \ \' " *</code>.',
42 'give'
43 )
44 );
45 }
46 }
47
48 /**
49 * Return filtered statement descriptor.
50 * This function should be used to filter statement description
51 * which was storing in stripe_statement_descriptor give setting prior to Giver 2.19.
52 *
53 * @since 2.19.1
54 * @deprecated
55 *
56 * @param string $text
57 *
58 * @return false|string
59 */
60 protected function filterOldStatementDescriptor($text)
61 {
62 $statementDescriptor = trim($text);
63 $unsupportedCharacters = ['<', '>', '"', '\''];
64 $statementDescriptor = str_replace($unsupportedCharacters, '', $statementDescriptor);
65 return substr($statementDescriptor, 0, 22);
66 }
67 }
68