1 <?php
2
3 namespace MaxMind\MinFraud\Model;
4
5 /**
6 * Model of the Insights score response.
7 *
8 * @property-read \MaxMind\MinFraud\Model\BillingAddress $billingAddress An object
9 * containing minFraud data related to the billing address used in the
10 * transaction.
11 *
12 * @property-read \MaxMind\MinFraud\Model\CreditCard $creditCard An object containing
13 * minFraud data about the credit card used in the transaction.
14 *
15 * @property-read \MaxMind\MinFraud\Model\Device $device This object contains
16 * information about the device that MaxMind believes is associated with the
17 * IP address passed in the request.
18 *
19 * @property-read \MaxMind\MinFraud\Model\Email $email This object contains
20 * information about the email address passed in the request.
21 *
22 * @property-read \MaxMind\MinFraud\Model\IpAddress $ipAddress An object containing
23 * GeoIP2 and minFraud Insights information about the geolocated IP address.
24 *
25 * @property-read \MaxMind\MinFraud\Model\ShippingAddress $shippingAddress An object
26 * containing minFraud data related to the shipping address used in the
27 * transaction.
28 */
29 class Insights extends Score
30 {
31 /**
32 * @internal
33 */
34 protected $billingAddress;
35
36 /**
37 * @internal
38 */
39 protected $creditCard;
40
41 /**
42 * @internal
43 */
44 protected $device;
45
46 /**
47 * @internal
48 */
49 protected $email;
50
51 /**
52 * @internal
53 */
54 protected $ipAddress;
55
56 /**
57 * @internal
58 */
59 protected $shippingAddress;
60
61 public function __construct($response, $locales = ['en'])
62 {
63 parent::__construct($response, $locales);
64
65 $this->billingAddress
66 = new BillingAddress($this->safeArrayLookup($response['billing_address']));
67 $this->creditCard
68 = new CreditCard($this->safeArrayLookup($response['credit_card']));
69 $this->device
70 = new Device($this->safeArrayLookup($response['device']));
71 $this->email
72 = new Email($this->safeArrayLookup($response['email']));
73 $this->ipAddress
74 = new IpAddress($this->safeArrayLookup($response['ip_address']), $locales);
75 $this->shippingAddress
76 = new ShippingAddress($this->safeArrayLookup($response['shipping_address']));
77 }
78 }
79