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 }