����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 3.144.149.217 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/ideyshare.name.ng/app/libraries/vendor/omnipay/sagepay/src/Message/ |
Upload File : |
<?php namespace Omnipay\SagePay\Message; use Omnipay\Common\Message\AbstractResponse; use Omnipay\Common\Message\RedirectResponseInterface; use Omnipay\Common\Message\RequestInterface; /** * Sage Pay Response */ class Response extends AbstractResponse implements RedirectResponseInterface { /** * FIXME: The response should never be directly passed the raw HTTP * body like this. The body should be parsed to data before instantiation. * However, the tests do not do that. I believe it is the tests that are broken, * but the tests are how the interface has been implemented so we cannot break * that for people who may rely on it. */ public function __construct(RequestInterface $request, $data) { $this->request = $request; if (!is_array($data)) { // Split the data (string or guzzle body object) into lines. $lines = preg_split('/[\n\r]+/', (string)$data); $data = array(); foreach ($lines as $line) { $line = explode('=', $line, 2); if (!empty($line[0])) { $data[trim($line[0])] = isset($line[1]) ? trim($line[1]) : ''; } } } $this->data = $data; } public function isSuccessful() { return isset($this->data['Status']) && 'OK' === $this->data['Status']; } /** * The only reason supported for a redirect from a Server transaction * will be 3D Secure. PayPal may come into this at some point. */ public function isRedirect() { return isset($this->data['Status']) && '3DAUTH' === $this->data['Status']; } /** * Gateway Reference * * Sage Pay requires the original VendorTxCode as well as 3 separate * fields from the response object to capture or refund transactions at a later date. * * Active Merchant solves this dilemma by returning the gateway reference in the following * custom format: VendorTxCode;VPSTxId;TxAuthNo;SecurityKey * * We have opted to return this reference as JSON, as the keys are much more explicit. */ public function getTransactionReference() { $reference = array(); $reference['VendorTxCode'] = $this->getRequest()->getTransactionId(); foreach (array('SecurityKey', 'TxAuthNo', 'VPSTxId') as $key) { if (isset($this->data[$key])) { $reference[$key] = $this->data[$key]; } } ksort($reference); return json_encode($reference); } public function getStatus() { return isset($this->data['Status']) ? $this->data['Status'] : null; } public function getMessage() { return isset($this->data['StatusDetail']) ? $this->data['StatusDetail'] : null; } public function getRedirectUrl() { if ($this->isRedirect()) { return $this->data['ACSURL']; } } public function getRedirectMethod() { return 'POST'; } public function getRedirectData() { if ($this->isRedirect()) { return array( 'PaReq' => $this->data['PAReq'], 'TermUrl' => $this->getRequest()->getReturnUrl(), 'MD' => $this->data['MD'], ); } } public function getToken() { return isset($this->data['Token']) ? $this->data['Token'] : null; } }