1 <?php
2
3 namespace MaxMind\MinFraud\Model;
4
5 /**
6 * Warning about the minFraud request.
7 *
8 * Although more codes may be added in the future, the current warning codes
9 * are:
10 *
11 * * `BILLING_CITY_NOT_FOUND` - the billing city could not be found in our
12 * database.
13 * * `BILLING_COUNTRY_NOT_FOUND` - the billing country could not be found in
14 * our database.
15 * * `BILLING_POSTAL_NOT_FOUND` - the billing postal could not be found in our
16 * database.
17 * * `INPUT_INVALID` - the value associated with the key does not meet the
18 * required constraints, e.g., "United States" in a field that requires a
19 * two-letter country code.
20 * * `INPUT_UNKNOWN` - an unknown key was encountered in the request body.
21 * * `IP_ADDRESS_NOT_FOUND` - the IP address could not be geolocated.
22 * * `SHIPPING_CITY_NOT_FOUND` - the shipping city could not be found in our
23 * database.
24 * * `SHIPPING_COUNTRY_NOT_FOUND` - the shipping country could not be found in
25 * our database.
26 * * `SHIPPING_POSTAL_NOT_FOUND` - the shipping postal could not be found in
27 * our database.
28 *
29 * @property-read string $code This value is a machine-readable code identifying the
30 * warning.
31 *
32 * @property-read string $warning This property provides a human-readable
33 * explanation of the warning. The description may change at any time and
34 * should not be matched against.
35 *
36 * @property-read array|null $input A JSON Pointer to the input field that the
37 * warning is associated with. For instance, if the warning was about the
38 * billing city, this would be `/billing/city`. If it was for the price in
39 * the second shopping cart item, it would be `/shopping_cart/1/price`.
40 */
41 class Warning extends AbstractModel
42 {
43 /**
44 * @internal
45 */
46 protected $code;
47
48 /**
49 * @internal
50 */
51 protected $warning;
52
53 /**
54 * @internal
55 */
56 protected $inputPointer;
57
58 public function __construct($response, $locales = ['en'])
59 {
60 parent::__construct($response, $locales);
61
62 $this->code = $this->safeArrayLookup($response['code']);
63 $this->warning = $this->safeArrayLookup($response['warning']);
64 $this->inputPointer = $this->safeArrayLookup($response['input_pointer']);
65 }
66 }
67