/**
* Stores the IPN contents and returns the IpnOrder object.
*
* @param Mdb\PayPal\Ipn\Message $data
*
* @return IpnOrder
*/
private function store(\Mdb\PayPal\Ipn\Message $data)
{
if ($data->get('txn_id')) {
$order = IpnOrder::firstOrNew(['txn_id' => $data->get('txn_id')]);
$order->fill($data->getAll());
} else {
$order = new IpnOrder($data->getAll());
}
$order->full_ipn = json_encode(Input::all());
$order->save();
$this->storeOrderItems($order, $data->getAll());
return $order;
}