public function transactionNotification(Order $order, Request $request, Locator $service)
 {
     $notificationType = $request->notificacationType;
     $notificationCode = $request->notificationCode;
     if ($notificationType == 'transaction') {
         $transactionDetails = $service->getByNotification($notificationCode)->getDetails();
         if ($transactionDetails->getStatus() != 4) {
             $order->where('payment_transaction_code', $transactionDetails->getCode())->update(['status' => $transactionDetails->getStatus()]);
         }
     }
 }
 public function changeStatus(Request $request, SubscriptionLocator $sLocator, TransactionLocator $tLocator, Order $orderModel)
 {
     header("access-control-allow-origin: *");
     try {
         $service = $request['notificationType'] == 'preApproval' ? $sLocator : $tLocator;
         // Cria instância do serviço de acordo com o tipo da notificação
         $purchase = $service->getByNotification($request['notificationCode']);
         /*
         PAID = '3';
         AVAILABLE = '4';
         UNDER_CONTEST = '5';
         RETURNED = '6';
         CANCELLED = '7';
         */
         $order = $orderModel->find($purchase->getDetails()->getReference());
         $order->status_id = $purchase->getDetails()->getStatus();
         $order->save();
     } catch (Exception $error) {
         // Caso ocorreu algum erro
         echo $error->getMessage();
         // Exibe na tela a mensagem de erro
     }
 }
 public function updateStatus($id, $status)
 {
     Order::find($id)->update(['status' => $status]);
     return redirect()->route('admin.orders');
 }