PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.15.4
GiveWP – Donation Plugin and Fundraising Platform v4.15.4
4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 256 releases
give / src / Framework / PaymentGateways / DataTransferObjects / GatewayRouteData.php

GatewayRouteData.php in GiveWP – Donation Plugin and Fundraising Platform 4.15.4, at src/Framework/PaymentGateways/DataTransferObjects/GatewayRouteData.php

73 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Framework\PaymentGateways\DataTransferObjects;
4
5 /**
6 * Class GatewayRouteData
7 * @since 2.18.0
8 * @since 2.23.1 Make class final to avoid unsafe usage of `new static()`.
9 */
10 final class GatewayRouteData
11 {
12 /**
13 * @var string
14 */
15 public $gatewayId;
16 /**
17 * @var string
18 */
19 public $gatewayMethod;
20 /**
21 * @var array
22 */
23 public $queryParams;
24 /**
25 * @var string|null
26 */
27 public $routeSignature;
28 /**
29 * @var string|null
30 */
31 public $routeSignatureId;
32 /**
33 * @var string|null
34 */
35 public $routeSignatureExpiration;
36
37 /**
38 * Convert data from request into DTO
39 *
40 * @since 2.19.5 add routeSignatureExpiration
41 * @since 2.19.4 add give-route-signature-id
42 * @since 2.18.0
43 *
44 * @return self
45 */
46 public static function fromRequest(array $request)
47 {
48 $self = new static();
49
50 $self->gatewayId = $request['give-gateway-id'];
51 $self->gatewayMethod = $request['give-gateway-method'];
52 $self->routeSignature = isset($request['give-route-signature']) ? $request['give-route-signature'] : null;
53 $self->routeSignatureId = isset($request['give-route-signature-id']) ? $request['give-route-signature-id'] : null;
54 $self->routeSignatureExpiration = isset($request['give-route-signature-expiration']) ? $request['give-route-signature-expiration'] : null;
55
56 $self->queryParams = array_filter($request, static function ($param) {
57 return ! in_array(
58 $param,
59 [
60 'give-listener',
61 'give-gateway-id',
62 'give-gateway-method',
63 'give-route-signature',
64 'give-route-signature-id',
65 'give-route-signature-expiration',
66 ]
67 );
68 }, ARRAY_FILTER_USE_KEY);
69
70 return $self;
71 }
72 }
73