예제 #1
0
 /**
  * @dataProvider callbacks
  */
 public function testCallback($post, $error, $xml, $message = null)
 {
     $connector = new Gateway($this->mock);
     $result = $connector->doParseCallback($post);
     if ($error) {
         $this->assertFalse($result, print_r($post, true));
     } else {
         $this->assertTrue($result, print_r($post, true));
         $this->assertEquals($post['bill_id'], $connector->getCallbackOrderId());
         $this->assertEquals($post['amount'], $connector->getCallbackAmount());
         $this->assertEquals($post['status'], $connector->getValueBillStatus());
         $this->assertEquals($message, $connector->getError());
     }
     $this->assertEquals($xml, $connector->getCallbackResponse());
 }
예제 #2
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, 'Сообщение');
 }