示例#1
0
 public function testCheckOrder()
 {
     $this->requestData = ['requestDatetime' => $this->performedDatetime, 'action' => 'checkOrder', 'md5' => '8256D2A032A35709EAF156270C9EFE2E', 'shopId' => $this->shopId, 'shopArticleId' => '456', 'invoiceId' => $this->invoiceId, 'customerNumber' => '8123294469', 'orderCreatedDatetime' => '2011-05-04T20:38:00.000+04:00', 'orderSumAmount' => '87.10', 'orderSumCurrencyPaycash' => '643', 'orderSumBankPaycash' => '1001', 'shopSumAmount' => '86.23', 'shopSumCurrencyPaycash' => '643', 'shopSumBankPaycash' => '1001', 'paymentPayerCode' => '42007148320', 'paymentType' => 'AC', 'MyField' => 'My value'];
     $this->responseData = ['performedDatetime' => $this->performedDatetime, 'invoiceId' => $this->invoiceId, 'shopId' => $this->shopId];
     $this->specify('It should return OK when request is valid AND callback return true', function () {
         $this->expectsCheckOrderCallbackReturn(true);
         $this->fillCheckOrderRequest($this->requestData);
         $this->expectsCheckRequestIsValid();
         $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_SUCCESS]);
         $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent());
     });
     $this->specify('It should return with error when request is invalid', function () {
         $this->expectsCheckOrderCallbackReturn(true);
         $this->fillCheckOrderRequest($this->requestData);
         $this->expectsCheckRequestIsInvalid();
         $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_AUTHORIZE_ERROR, 'message' => YandexKassaResponse::MESSAGE_INVALID_REQUEST]);
         $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent());
     });
     $this->specify('It should return error when order check callback return false', function () {
         $this->expectsCheckOrderCallbackReturn(false);
         $this->fillCheckOrderRequest($this->requestData);
         $this->expectsCheckRequestIsValid();
         $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_REFUSE_ACCEPT_TRANSFER, 'message' => YandexKassaResponse::MESSAGE_REFUSE_ACCEPT_TRANSFER]);
         $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent());
     });
 }
示例#2
0
 public function createCheckOrderResponse(array $requestData)
 {
     return $this->kassa->createCheckOrderResponse($requestData);
 }