PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / stripe / stripe-php / lib / Exception / ApiErrorException.php
ameliabooking / vendor / stripe / stripe-php / lib / Exception Last commit date
OAuth 6 months ago ApiConnectionException.php 6 months ago ApiErrorException.php 6 months ago AuthenticationException.php 6 months ago BadMethodCallException.php 6 months ago CardException.php 6 months ago ExceptionInterface.php 6 months ago IdempotencyException.php 6 months ago InvalidArgumentException.php 6 months ago InvalidRequestException.php 6 months ago PermissionException.php 6 months ago RateLimitException.php 6 months ago SignatureVerificationException.php 6 months ago TemporarySessionExpiredException.php 6 months ago UnexpectedValueException.php 6 months ago UnknownApiErrorException.php 6 months ago
ApiErrorException.php
221 lines
1 <?php
2
3 namespace AmeliaVendor\Stripe\Exception;
4
5 /**
6 * Implements properties and methods common to all (non-SPL) Stripe exceptions.
7 */
8 abstract class ApiErrorException extends \Exception implements ExceptionInterface
9 {
10 protected $error;
11 protected $httpBody;
12 protected $httpHeaders;
13 protected $httpStatus;
14 protected $jsonBody;
15 protected $requestId;
16 protected $stripeCode;
17
18 /**
19 * Creates a new API error exception.
20 *
21 * @param string $message the exception message
22 * @param null|int $httpStatus the HTTP status code
23 * @param null|string $httpBody the HTTP body as a string
24 * @param null|array $jsonBody the JSON deserialized body
25 * @param null|array|\AmeliaVendor\Stripe\Util\CaseInsensitiveArray $httpHeaders the HTTP headers array
26 * @param null|string $stripeCode the Stripe error code
27 *
28 * @return static
29 */
30 public static function factory(
31 $message,
32 $httpStatus = null,
33 $httpBody = null,
34 $jsonBody = null,
35 $httpHeaders = null,
36 $stripeCode = null
37 ) {
38 $instance = new static($message);
39 $instance->setHttpStatus($httpStatus);
40 $instance->setHttpBody($httpBody);
41 $instance->setJsonBody($jsonBody);
42 $instance->setHttpHeaders($httpHeaders);
43 $instance->setStripeCode($stripeCode);
44
45 $instance->setRequestId(null);
46 if ($httpHeaders && isset($httpHeaders['Request-Id'])) {
47 $instance->setRequestId($httpHeaders['Request-Id']);
48 }
49
50 $instance->setError($instance->constructErrorObject());
51
52 return $instance;
53 }
54
55 /**
56 * Gets the Stripe error object.
57 *
58 * @return null|\AmeliaVendor\Stripe\ErrorObject
59 */
60 public function getError()
61 {
62 return $this->error;
63 }
64
65 /**
66 * Sets the Stripe error object.
67 *
68 * @param null|\AmeliaVendor\Stripe\ErrorObject $error
69 */
70 public function setError($error)
71 {
72 $this->error = $error;
73 }
74
75 /**
76 * Gets the HTTP body as a string.
77 *
78 * @return null|string
79 */
80 public function getHttpBody()
81 {
82 return $this->httpBody;
83 }
84
85 /**
86 * Sets the HTTP body as a string.
87 *
88 * @param null|string $httpBody
89 */
90 public function setHttpBody($httpBody)
91 {
92 $this->httpBody = $httpBody;
93 }
94
95 /**
96 * Gets the HTTP headers array.
97 *
98 * @return null|array|\AmeliaVendor\Stripe\Util\CaseInsensitiveArray
99 */
100 public function getHttpHeaders()
101 {
102 return $this->httpHeaders;
103 }
104
105 /**
106 * Sets the HTTP headers array.
107 *
108 * @param null|array|\AmeliaVendor\Stripe\Util\CaseInsensitiveArray $httpHeaders
109 */
110 public function setHttpHeaders($httpHeaders)
111 {
112 $this->httpHeaders = $httpHeaders;
113 }
114
115 /**
116 * Gets the HTTP status code.
117 *
118 * @return null|int
119 */
120 public function getHttpStatus()
121 {
122 return $this->httpStatus;
123 }
124
125 /**
126 * Sets the HTTP status code.
127 *
128 * @param null|int $httpStatus
129 */
130 public function setHttpStatus($httpStatus)
131 {
132 $this->httpStatus = $httpStatus;
133 }
134
135 /**
136 * Gets the JSON deserialized body.
137 *
138 * @return null|array<string, mixed>
139 */
140 public function getJsonBody()
141 {
142 return $this->jsonBody;
143 }
144
145 /**
146 * Sets the JSON deserialized body.
147 *
148 * @param null|array<string, mixed> $jsonBody
149 */
150 public function setJsonBody($jsonBody)
151 {
152 $this->jsonBody = $jsonBody;
153 }
154
155 /**
156 * Gets the Stripe request ID.
157 *
158 * @return null|string
159 */
160 public function getRequestId()
161 {
162 return $this->requestId;
163 }
164
165 /**
166 * Sets the Stripe request ID.
167 *
168 * @param null|string $requestId
169 */
170 public function setRequestId($requestId)
171 {
172 $this->requestId = $requestId;
173 }
174
175 /**
176 * Gets the Stripe error code.
177 *
178 * Cf. the `CODE_*` constants on {@see \Stripe\ErrorObject} for possible
179 * values.
180 *
181 * @return null|string
182 */
183 public function getStripeCode()
184 {
185 return $this->stripeCode;
186 }
187
188 /**
189 * Sets the Stripe error code.
190 *
191 * @param null|string $stripeCode
192 */
193 public function setStripeCode($stripeCode)
194 {
195 $this->stripeCode = $stripeCode;
196 }
197
198 /**
199 * Returns the string representation of the exception.
200 *
201 * @return string
202 */
203 public function __toString()
204 {
205 $parentStr = parent::__toString();
206 $statusStr = (null === $this->getHttpStatus()) ? '' : "(Status {$this->getHttpStatus()}) ";
207 $idStr = (null === $this->getRequestId()) ? '' : "(Request {$this->getRequestId()}) ";
208
209 return "Error sending request to Stripe: {$statusStr}{$idStr}{$this->getMessage()}\n{$parentStr}";
210 }
211
212 protected function constructErrorObject()
213 {
214 if (null === $this->jsonBody || !\array_key_exists('error', $this->jsonBody)) {
215 return null;
216 }
217
218 return \AmeliaVendor\Stripe\ErrorObject::constructFrom($this->jsonBody['error']);
219 }
220 }
221