Ejemplo n.º 1
0
 /**
  * @covers \Epay\Sign::checkSign64()
  */
 public function testCheckSign64()
 {
     $data = '<bank name="Kazkommertsbank JSC">
   <customer name="John Cardholder" mail="*****@*****.**" phone="223322">
      <merchant cert_id="7269C18D00010000005E" name="Shop Name">
         <order order_id="000282" amount="3100" currency="398">
            <department merchant_id="90028101" amount="1300" rl=ASDFG" />
         </order>
      </merchant>
      <merchant_sign type="RSA/">
   </customer>
   <customer_sign type="SSL">
      4817C411000100000084
      </customer_sign>
   <results timestamp="2006-11-22 12:20:30 ">
      <payment merchant_id="90050801" amount="320.50" reference="109600746891" approval_code="730190" response_code="00" Secure="No" card_bin="KAZ" c_hash="6A2D7673A8EEF25A2C33D67CB5AAD091"/>
   </results>
 </bank>';
     $sign = 'JI3RZMEvexNlDmKsOQhe0pzHuKijnbhvnLu99qh7h+Ju8HvSfGNbEJxXUL58M94tXvu7w0BXSY7M' . 'HePGqz32JuMLAncuzyMwq845linW/sH/WvbZ+6SSYfxDMnvgX0S/pKxbhSXs7lGVBngXOwq7Bhsk' . '8GcDUkWAM5UAsKpEKoI=';
     $result = $this->sign->setInvert(true)->checkSign64($data, $sign);
     $this->assertEquals(1, $result);
 }
Ejemplo n.º 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]";
 }