Example #1
0
 /**
  * Тест обработки символьных данных.
  * @covers \Epay\Xml::cdata()
  */
 public function testCdata()
 {
     $reflection = new \ReflectionProperty($this->xml, 'parser');
     $reflection->setAccessible(true);
     $parser = $reflection->getValue($this->xml);
     $this->xml->cdata($parser, 'something');
     $reflection = new \ReflectionProperty($this->xml, 'result');
     $reflection->setAccessible(true);
     $result = $reflection->getValue($this->xml);
     $this->assertInternalType('array', $result);
     $this->assertArrayHasKey('_CHARDATA', $result);
     $this->assertEquals('something', $result['_CHARDATA']);
 }
Example #2
0
 /**
  * Проверят ответ от банка.
  *
  * @param $response
  * @return array|string
  */
 public function processResponse($response)
 {
     $parser = new Xml();
     $result = $parser->parse($response);
     if (in_array("ERROR", $result)) {
         return $result;
     }
     if (in_array("DOCUMENT", $result)) {
         $sign = new Sign($this->config);
         $sign->setInvert(true);
         $data = $this->splitSign($response, 'BANK');
         $check = $sign->checkSign64($response, 'BANK');
         switch ($check) {
             case 1:
                 $data['CHECKRESULT'] = '[SIGN_GOOD]';
                 break;
             case 0:
                 $data['CHECKRESULT'] = '[SIGN_BAD]';
                 break;
             default:
                 $data['CHECKRESULT'] = '[SIGN_CHECK_ERROR]: ';
                 // Как сюда засунуть результат? . $kkb->estatus;
                 break;
         }
         return array_merge($result, $data);
     }
     return "[XML_DOCUMENT_UNKNOWN_TYPE]";
 }