File indexing completed on 2025-05-04 05:29:09
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 Default_Model_Amazon_Gateway extends Local_Payment_Amazon_FlexiblePayment_Gateway 0024 { 0025 0026 protected $amount; 0027 protected $userData; 0028 protected $paymentId; 0029 0030 public function requestPayment($amount, $userData) 0031 { 0032 $this->amount = $amount; 0033 $this->userData = $userData; 0034 0035 /** @var Local_Payment_Amazon_FlexiblePayment_Response $response */ 0036 $response = parent::requestPayment($amount, $userData); 0037 0038 $this->paymentId = Local_Tools_UUID::generateUUID(); 0039 0040 $response->setPaymentKey($this->paymentId); 0041 0042 return $response; 0043 0044 } 0045 0046 0047 /** 0048 * @return string 0049 */ 0050 public function getCheckoutEndpoint() 0051 { 0052 0053 $pipeline = new Amazon_FPS_CBUISingleUsePipeline($this->_config->consumer->access_key, $this->_config->consumer->access_secret); 0054 0055 $pipeline->setMandatoryParameters( 0056 "callerReferenceSingleUse", 0057 $this->_returnUrl, 0058 $this->amount 0059 ); 0060 0061 //optional parameters 0062 $pipeline->addParameter("currencyCode", "USD"); 0063 $pipeline->addParameter("paymentReason", 'Thank you for supporting: ' . $this->userData->getProductTitle()); 0064 0065 //SingleUse url 0066 print "Sample CBUI url for SingleUse pipeline : " . $pipeline->getUrl() . "\n"; 0067 0068 } 0069 0070 }