PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.3
GiveWP – Donation Plugin and Fundraising Platform v2.22.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 / Framework / PaymentGateways / Traits / HasRouteMethods.php
give / src / Framework / PaymentGateways / Traits Last commit date
HandleHttpResponses.php 4 years ago HasRouteMethods.php 4 years ago ResponseHelpers.php 4 years ago
HasRouteMethods.php
74 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways\Traits;
4
5 use Give\Framework\Exceptions\Primitives\Exception;
6 use Give\Framework\PaymentGateways\Exceptions\PaymentGatewayException;
7 use Give\Framework\PaymentGateways\SubscriptionModule;
8
9 /**
10 * @since 2.20.0
11 * @property SubscriptionModule $subscriptionModule
12 * @property array $routeMethods
13 * @property array $secureRouteMethods
14 */
15 trait HasRouteMethods
16 {
17 /**
18 * Route methods are used to extend the gateway api.
19 * By adding a custom routeMethod, you are effectively
20 * registering a new public route url that will resolve itself and
21 * call your method.
22 *
23 * @var string[]
24 */
25 public $routeMethods = [];
26
27 /**
28 * Secure Route methods are used to extend the gateway api with an additional wp_nonce.
29 * By adding a custom secureRouteMethod, you are effectively
30 * registering a new route url that will resolve itself and
31 * call your method after validating the nonce.
32 *
33 * @var string[]
34 */
35 public $secureRouteMethods = [];
36
37 /**
38 * @since 2.20.0
39 *
40 * @param string $method
41 *
42 * @return bool
43 */
44 public function supportsMethodRoute($method)
45 {
46 $allGatewayMethods = array_merge($this->routeMethods, $this->secureRouteMethods);
47
48 return in_array($method, $allGatewayMethods, true);
49 }
50
51 /**
52 * @since 2.20.0
53 *
54 * @param string $method
55 *
56 * @throws Exception
57 */
58 public function callRouteMethod($method, $queryParams)
59 {
60 if ($this->supportsMethodRoute($method)) {
61 return $this->$method($queryParams);
62 }
63
64 throw new PaymentGatewayException(
65 sprintf(
66 '%1$s route method is not supported by %2$s and %3$s',
67 $method,
68 get_class($this),
69 get_class($this->subscriptionModule)
70 )
71 );
72 }
73 }
74