File indexing completed on 2025-05-04 05:32:13

0001 <?php
0002 /**
0003  *  ocs-webserver
0004  *
0005  *  Copyright 2016 by pling GmbH.
0006  *
0007  *    This file is part of ocs-webserver.
0008  *
0009  *    This program is free software: you can redistribute it and/or modify
0010  *    it under the terms of the GNU Affero General Public License as
0011  *    published by the Free Software Foundation, either version 3 of the
0012  *    License, or (at your option) any later version.
0013  *
0014  *    This program is distributed in the hope that it will be useful,
0015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *    GNU Affero General Public License for more details.
0018  *
0019  *    You should have received a copy of the GNU Affero General Public License
0020  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  **/
0022 
0023 class Local_Payment_PayPal_AdaptivePayment_ResponsePayRequest implements Local_Payment_ResponseInterface
0024 {
0025 
0026     /** @var array|null */
0027     protected $_rawResponse;
0028 
0029     /**
0030      * @param array|null $rawResponse
0031      */
0032     function __construct($rawResponse = null)
0033     {
0034         if (isset($rawResponse)) {
0035             $this->_rawResponse = $rawResponse;
0036         }
0037     }
0038 
0039     public function getRawMessage()
0040     {
0041         return $this->_rawResponse;
0042     }
0043 
0044     public function isSuccessful()
0045     {
0046         return $this->_rawResponse['responseEnvelope']['ack'] == 'Success';
0047     }
0048 
0049     public function getStatus()
0050     {
0051         return strtoupper($this->_rawResponse['paymentExecStatus']);
0052     }
0053 
0054     public function getTransactionStatus()
0055     {
0056         return null;
0057     }
0058 
0059     public function getTransactionId()
0060     {
0061         return $this->_rawResponse['transaction_id'];
0062     }
0063 
0064     public function getPaymentId()
0065     {
0066         return $this->_rawResponse['payKey'];
0067     }
0068 
0069     public function getProviderName()
0070     {
0071         return 'paypal';
0072     }
0073 
0074     public function getCustom() {
0075         return strtoupper($this->_rawResponse['custom']);
0076     }
0077 
0078 }