/**
  * Проверка статуса возврата с несозданным возвратом
  */
 public function testShowStatusPayReturn()
 {
     App::bind('FintechFab\\QiwiSdk\\Curl', function () {
         $args = array(1, 'GET', null, 1);
         $this->mock->shouldReceive('request')->withArgs($args)->andReturn((object) array('response' => (object) array('result_code' => 0, 'refund' => (object) array('status' => 'processing'))));
         return $this->mock;
     });
     $order = Order::find(1);
     $order->idLastReturn = 1;
     $order->save();
     $payReturn = new PayReturn();
     $payReturn->create(array('order_id' => $order->id, 'sum' => 15, 'status' => 'onReturn'));
     $resp = $this->call('POST', Config::get('ff-qiwi-shop::testConfig.testUrl') . '/action/statusReturn', array('order_id' => '1'));
     $this->assertContains('Текущий статус возврата - на возврате', $resp->original['message']);
 }
Esempio n. 2
0
 /**
  * @param $order
  * @param $sumReturn
  *
  * @return bool
  */
 public static function isAllowedSum($order, $sumReturn)
 {
     $returnsBefore = PayReturn::whereOrderId($order->id)->get();
     $sumOldReturn = 0;
     foreach ($returnsBefore as $one) {
         $sumOldReturn += $one->sum;
     }
     $possibleReturn = $order->sum - $sumOldReturn;
     return $sumReturn <= $possibleReturn;
 }
Esempio n. 3
0
 public function changeStatus($newReturnStatus)
 {
     if ($this->status != $newReturnStatus) {
         $isUpdate = PayReturn::whereId($this->id)->whereStatus($this->status)->update(array('status' => $newReturnStatus));
         if ($isUpdate) {
             return $newReturnStatus;
         }
     }
     return $this->status;
 }
Esempio n. 4
0
 /**
  * Проверка статуса возврат оплаты
  *
  * @param Order $order
  *
  * @return array
  */
 public function statusReturn($order)
 {
     $payReturn = PayReturn::find($order->idLastReturn);
     if (!$payReturn) {
         return $this->resultMessage('Нет такого возврата');
     }
     $gate = new Gateway($this->makeCurl());
     $isSuccess = $gate->doRequestReturnStatus($payReturn->order_id, $payReturn->id);
     if (!$isSuccess) {
         return $this->resultMessage($gate->getError());
     }
     $newReturnStatus = $payReturn->changeStatus($gate->getValuePayReturnStatus());
     $message = 'Текущий статус возврата - ' . Dictionary::statusRussian($newReturnStatus);
     return $this->resultMessage($message, 'Сообщение');
 }
 /**
  * Создание нового заказа
  *
  * @return void
  */
 public function testCreateOrderSuccess()
 {
     PayReturn::truncate();
     $resp = $this->call('POST', Config::get('ff-qiwi-shop::testConfig.testUrl') . '/create', array('item' => 'qwerty', 'sum' => '123', 'tel' => '+123', 'comment' => 'test'));
     $this->assertContains('ok', $resp->original['result']);
 }