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_ResponseChargeback implements Local_Payment_PayPal_PaymentInterface 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 isSuccessful() 0040 { 0041 return $this->getStatus() == 'REFUNDED'; 0042 } 0043 0044 /** 0045 * @return mixed 0046 */ 0047 public function getStatus() 0048 { 0049 return strtoupper($this->_rawResponse['payment_status']); 0050 } 0051 0052 public function getTransactionId() 0053 { 0054 return $this->_rawResponse['parent_txn_id']; 0055 } 0056 0057 public function getTransactionStatus() 0058 { 0059 return null; 0060 } 0061 0062 public function getPaymentId() 0063 { 0064 return null; 0065 } 0066 0067 /** 0068 * @param $name 0069 * @return mixed 0070 */ 0071 public function getField($name) 0072 { 0073 return $this->_rawResponse[$name]; 0074 } 0075 0076 /** 0077 * @return array|null 0078 */ 0079 public function getRawMessage() 0080 { 0081 return $this->_rawResponse; 0082 } 0083 0084 public function getProviderName() 0085 { 0086 return 'paypal'; 0087 } 0088 0089 public function getTransactionAmount() 0090 { 0091 return $this->_rawResponse['mc_currency'] . ' ' . $this->_rawResponse['mc_gross']; 0092 } 0093 0094 public function getTransactionReceiver() 0095 { 0096 return $this->_rawResponse['receiver_email']; 0097 } 0098 0099 public function getCustom() { 0100 return null; 0101 } 0102 0103 }