관리-도구
편집 파일: InitResponse.php
<?php namespace Paynow\Core; use Paynow\Payments\InvalidIntegrationException; class InitResponse { use CanFail; /** * Response data sent from Paynow * @var array */ private $data; /** * Boolean indicating whether initiate request was successful or not * * @var bool */ public $success; /** * The status of the transaction in Paynow * * @var string */ public $status = ''; /** * InitResponse constructor. * * @param array $response Response data sent from Paynow * * @throws InvalidIntegrationException If the error returned from paynow is */ public function __construct(array $response) { $this->data = $response; $this->load(); } /** * Reads through the response data sent from Paynow * * @throws InvalidIntegrationException */ private function load() { if(arr_has($this->data,'status')) { $this->status = strtolower($this->data['status']); $this->success = $this->status === Constants::RESPONSE_OK; } if(!$this->success()) { if(arr_has($this->data, 'error')) { $this->fail(strtolower($this->data['error'])); } } } public function instructions() { return arr_has($this->data, 'instructions') ? $this->data['instructions'] : ''; } /** * Returns the poll URL sent from Paynow * * @return bool|string */ public function pollUrl() { return arr_has($this->data, 'pollurl') ? $this->data['pollurl'] : ''; } /** * Gets a boolean indicating whether a request succeeded or failed * @return mixed */ public function success() { return $this->success; } /** * Returns the url the user should be taken to so they can make a payment * * @return bool|string */ public function redirectUrl() { if(arr_has($this->data,'browserurl')) { return $this->data['browserurl']; } return false; } /** * Get the original data sent from Paynow * * @return array */ public function data() { return $this->data; } }