Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php ///-build_id: 2018021422.1908 /// This source file is subject to the Software Lice..
Decoded Output download
<?php
///-build_id: 2018021422.1908
/// This source file is subject to the Software License Agreement that is bundled with this
/// package in the file license.txt, or you can get it here
/// http://addons-modules.com/en/content/3-terms-and-conditions-of-use
///
/// @copyright 2009-2016 Addons-Modules.com
/// If you need open code to customize or merge code with othe modules, please contact us.
use PrestaShop\PrestaShop\Core\Payment\PaymentOption;
if (!defined('_PS_VERSION_')) {
exit;
}
require_once(_PS_ROOT_DIR_ .'/modules/agilepaypalparallel/merchant-sdk5.3/PPBootStrap.php');
include_once(_PS_ROOT_DIR_ . '/modules/agilepaypalparallel/AgilePaypalParallelTxn.php');
include_once(_PS_ROOT_DIR_ . '/modules/agilepaypalparallel/AgilePaypalParallelTxnDetail.php');
if(Module::isInstalled('agilesellercommission'))
{
include_once(_PS_ROOT_DIR_ . '/modules/agilesellercommission/SellerCommission.php');
}
class AgilePaypalParallel extends PaymentModule
{
public static $PaymentCollectionMode = array(
1 => true ,2 => true ,3 => true );
const PARALLEL_STYLE_PARALLEL = 0;
const PARALLEL_STYLE_CHAINED = 1;
const PAY_ACTION_SALE = "Sale";
public static $LOCALECODE = array(
'AU' => 'AU', 'AT' => 'AT', 'BE' => 'BE', 'BR' => 'BR', 'CA' => 'CA', 'SZ' => 'CH', 'DE' => 'DE', 'ES' => 'ES', 'GB' => 'GB', 'FR' => 'FR', 'IT' => 'IT', 'NL' => 'NL', 'PL' => 'PL', 'PT' => 'PT', 'US' => 'US', 'DK' => 'da_DK', 'IL' => 'he_IL', 'ID' => 'id_ID', 'JP' => 'jp_JP', 'NO' => 'no_NO', 'BR' => 'pt_BR', 'RU' => 'ru_RU', 'SE' => 'sv_SE', 'TH' => 'th_TH', 'TR' => 'tr_TR', 'CN' => 'zh_CN', 'HK' => 'zh_HK', 'TW' => 'zh_TW', );
private $_html = '';
private $_postErrors = array();
public function __construct() { $this->agile_configs = Configuration::getMultiple($this->getConfigKeys()); $this->agile_dependencies = array('agilemultipleseller' => '3.7.0.1', 'agilesellercommission' => '2.7.0.1','agilekernel'=>'1.7.1.0'); $this->agile_newfiles = array(); $this->name = 'agilepaypalparallel'; $this->isAgileKernelCompatible = true; $this->author = 'addons-modules.com'; $this->tab = 'payments_gateways'; $this->version = '2.7.0.4'; $this->ps_versions_compliancy = array('min' => '1.7', 'max' => '1.8'); $this->dependencies = array( 'agilemultipleseller','agilesellercommission','agilekernel'); $this->currencies = true; $this->currencies_mode = 'radio'; $this->is_eu_compatible = 1; $this->bootstrap = true; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Agile Paypal Parallel payment module'); $this->description = $this->l('Accepts payments by PayPal Parallel payment, one sender / multiple receivers'); $this->confirmUninstall = $this->l('Are you sure you want to delete your details ?'); if (Configuration::get('AGILE_PAYPALPL_BUSINESS') == '[email protected]') $this->warning = $this->l('You are currently using the default PayPal email address, you need to use your own email address'); if ($_SERVER['SERVER_NAME'] == 'localhost') $this->warning = $this->l('Your are in localhost mode, PayPal cannot validate order'); } private function getConfigKeys() { return array('AGILE_PAYPALPL_BUSINESS','AGILE_PAYPALPL_SANDBOX','AGILE_PAYPALPL_API_USERNAME','AGILE_PAYPALPL_API_PASSWORD','AGILE_PAYPALPL_API_SIGNATURE','AGILE_PAYPALPL_APPLICATION_ID','AGILE_PAYPALPL_NOSHIPPING'); } public function getPaypalUrl() { if(Configuration::get('AGILE_PAYPALPL_SANDBOX')) return 'https://www.sandbox.paypal.com/webscr'; else return 'https://www.paypal.com/webscr'; } public function install() { if(!Module::isInstalled('agilekernel')) { $this->_errors[] = $this->l('You have to install Agile Kernel module before installing this module. The download link of this module should have been included your download email for your order. If you can not find it, please request by email to [email protected] with your order #.'); return false; } if(!$this->AgilePreinstall())return false; if (parent::install() == false ) { $this->_errors[] = $this->l('Install error - call parent::install()'); return false; } if (!$this->registerHook('actionAgilePaymentModuleIntegrate') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_BUSINESS', '[email protected]') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_SANDBOX', 1) OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_NOSHIPPING', 1) OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_USERNAME', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_PASSWORD', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_SIGNATURE', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_APPLICATION_ID', 'APP-80W284485P519543T') OR !$this->registerHook('displayHeader') OR !$this->registerHook('paymentOptions') OR !$this->registerHook('displayPaymentReturn') )return false; if(!AgileInstaller::create_tab('Payment Logs','AgilePaymentsParent','AgileModulesParent',$this->name))return false; AgileInstaller::init_tab_prmission_for_existing_profiles('AgilePaymentsParent',1,1,1,1); if(!AgileInstaller::create_tab('Parallel Payment Logs','AdminParallelLogs','AgilePaymentsParent',$this->name))return false; AgileInstaller::init_tab_prmission_for_existing_profiles('AdminParallelLogs',1,1,1,1); Db::getInstance()->Execute('UPDATE ' . _DB_PREFIX_ . 'agilepaypalparallel_txndetail SET record_type=3 WHERE record_type=0'); Autoload::getInstance()->generateIndex(); AgileInstaller::ensureSellerReadModulePermission(Configuration::get('AGILE_MS_PROFILE_ID'), array('READ')); return true; } public function uninstall() { if(!parent::uninstall())return false; AgileInstaller::delete_tab('AdminParallelLogs'); AgileInstaller::delete_tab('AgilePaymentsParent'); return true; } public function getContent() { $this->_html = '<h2>'.$this->displayName.'</h2>'; $R0E50532F705BA890C56DC90FC3472539 = AgileInstaller::detect_admin_folder($_SERVER['SCRIPT_FILENAME']); $R5A0E1B3F4DE39462E7CECCA34A34D7E1 = AgileInstaller::install_health_check($this->agile_newfiles, $this->name, $R0E50532F705BA890C56DC90FC3472539); if(!empty($R5A0E1B3F4DE39462E7CECCA34A34D7E1)) $this->_html .= $R5A0E1B3F4DE39462E7CECCA34A34D7E1; $this->_html .= AgileInstaller::show_agile_links(); if (isset($_POST['submitPaypal'])) { $R5C56A42C3A509ED8D4ED17B6BBD03121 = Tools::getValue('business'); $RFEC144236AC9EE9FEEF818A60D092A85 = Tools::getValue('api_username'); $R425FB9969B1ED0CC5D6CB1911C1D5B11 = Tools::getValue('api_password'); $RAD6101F8BBF7F20F5D38E9F99CAE148B = Tools::getValue('api_signature'); if (empty($R5C56A42C3A509ED8D4ED17B6BBD03121)) $this->_postErrors[] = $this->l('Paypal business e-mail address is required.'); elseif (!Validate::isEmail($R5C56A42C3A509ED8D4ED17B6BBD03121)) $this->_postErrors[] = $this->l('Paypal business must be an e-mail address.'); elseif (empty($RFEC144236AC9EE9FEEF818A60D092A85)) $this->_postErrors[] = $this->l('Paypal API username is required.'); elseif (empty($R425FB9969B1ED0CC5D6CB1911C1D5B11)) $this->_postErrors[] = $this->l('Paypal API password is required.'); elseif (empty($R425FB9969B1ED0CC5D6CB1911C1D5B11)) $this->_postErrors[] = $this->l('Paypal API signature is required.'); if (!isset($_POST['sandbox'])) $_POST['sandbox'] = 1; if (!isset($_POST['address'])) $_POST['address'] = 1; if (!sizeof($this->_postErrors)) { Configuration::updateValue('AGILE_PAYPALPL_BUSINESS', $R5C56A42C3A509ED8D4ED17B6BBD03121); Configuration::updateValue('AGILE_PAYPALPL_API_USERNAME', $RFEC144236AC9EE9FEEF818A60D092A85); Configuration::updateValue('AGILE_PAYPALPL_API_PASSWORD', $R425FB9969B1ED0CC5D6CB1911C1D5B11); Configuration::updateValue('AGILE_PAYPALPL_API_SIGNATURE', $RAD6101F8BBF7F20F5D38E9F99CAE148B); Configuration::updateValue('AGILE_PAYPALPL_SANDBOX', intval($_POST['sandbox'])); Configuration::updateValue('AGILE_PAYPALPL_NOSHIPPING', intval($_POST['noshipping'])); Configuration::updateValue('AGILE_PAYPALPL_ADDRESS', intval($_POST['address'])); $this->_html .= $this->displayConfirmation($this->l('Settings updated')); } else $this->displayErrors(); } $this->displayFormSettings(); return $this->_html; } public function displayErrors() { $R5E535DBA6BC26B2ECEEF3DA589516785 = sizeof($this->_postErrors); $this->_html .= ' <div class="alert error"> <h3>'.($R5E535DBA6BC26B2ECEEF3DA589516785 > 1 ? $this->l('There are') : $this->l('There is')).' '.$R5E535DBA6BC26B2ECEEF3DA589516785.' '.($R5E535DBA6BC26B2ECEEF3DA589516785 > 1 ? $this->l('errors') : $this->l('error')).'</h3> <ol>'; foreach ($this->_postErrors AS $RB5ADDE8D7D7412251F47419FE9BF51A7) $this->_html .= '<li>'.$RB5ADDE8D7D7412251F47419FE9BF51A7.'</li>'; $this->_html .= ' </ol> </div>'; } public function displayFormSettings() { $RD05A28496998D5D330106BBAE629B948 = array( 'form' => array( 'legend' => array( 'title' => $this->l('Settings'), 'image' => $this->_path.'logo.png', ), 'description' => '<font color="red">' . $this->l('Please Note'). '</font><br>' . $this->l('1. Your Paypal account must be a business account').'<br>' . $this->l('2. You need to apply an Paypal API Credential/Signture.').' <a style="color:Blue;" target="_new" href="http://addons-modules.com/store/content/21-how-to-get-paypal-api-credential">' . $this->l('Click here for instructions on how to'). '</a><br>' . $this->l('3. You must configure "website preference" - Optional Paypal account to "On" if you do not require buyer to have Paypal account').' <a style="color:Blue;" target="_new" href="http://addons-modules.com/store/en/content/73-parallel-payment-with-optional-paypal-account">' . $this->l('Click here for instructions on how to'). '</a><br>' . $this->l('4. Session and cURL must be enabled for this module to work properly'), 'input' => array( array( 'type' => 'text', 'label' => $this->l('PayPal business e-mail'), 'name' => 'business', 'size' => 33, 'required' => 'required' ), array( 'type' => 'radio', 'label' => $this->l('Sandbox mode (Test)'), 'name' => 'sandbox', 'values' => array( array( 'id' => 'sandbox_yes', 'value' => 1, 'label' => $this->l('Yes'), ), array( 'id' => 'sandbox_no', 'value' => 0, 'label' => $this->l('No'), ), ), ), array( 'type' => 'radio', 'label' => $this->l('No Shipping Address?'), 'name' => 'noshipping', 'values' => array( array( 'id' => 'noshipping_yes', 'value' => 1, 'label' => $this->l('Yes'), ), array( 'id' => 'noshipping_no', 'value' => 0, 'label' => $this->l('No'), ), ), ), array( 'type' => 'radio', 'label' => $this->l('Custom Address Selection'), 'name' => 'address', 'values' => array( array( 'id' => 'delivery_address', 'value' => 1, 'label' => $this->l('Delivery Address'), ), array( 'id' => 'billing_address', 'value' => 0, 'label' => $this->l('Billing Address'), ), ), 'desc' => $this->l('The selected customer address will be sent to Paypal as default billing/shipping address.') ), array( 'type' => 'text', 'label' => $this->l('PayPal API user name'), 'name' => 'api_username', 'size' => 33, 'required' => 'required' ), array( 'type' => 'text', 'label' => $this->l('PayPal API password'), 'name' => 'api_password', 'size' => 33, 'required' => 'required' ), array( 'type' => 'text', 'label' => $this->l('PayPal API signature'), 'name' => 'api_signature', 'size' => 83, 'required' => 'required' ), ), 'submit' => array( 'title' => $this->l('Update settings'), ) ) ); $R3A1E73211A105E82A8C89F8C8E3C8264 = new HelperForm(); $R3A1E73211A105E82A8C89F8C8E3C8264->show_toolbar = false; $R3A1E73211A105E82A8C89F8C8E3C8264->table = $this->name; $R51C716B9664B3F4E109066C05B9B1A86 = new Language((int)Configuration::get('PS_LANG_DEFAULT')); $R3A1E73211A105E82A8C89F8C8E3C8264->default_form_language = $R51C716B9664B3F4E109066C05B9B1A86->id; $R3A1E73211A105E82A8C89F8C8E3C8264->module = $this; $R3A1E73211A105E82A8C89F8C8E3C8264->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; $R3A1E73211A105E82A8C89F8C8E3C8264->identifier = $this->identifier; $R3A1E73211A105E82A8C89F8C8E3C8264->submit_action = 'submitPaypal'; $R3A1E73211A105E82A8C89F8C8E3C8264->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; $R3A1E73211A105E82A8C89F8C8E3C8264->token = Tools::getAdminTokenLite('AdminModules'); $R3A1E73211A105E82A8C89F8C8E3C8264->tpl_vars = array( 'fields_value' => $this->getConfigFieldsValues(), 'languages' => $this->context->controller->getLanguages(), 'id_language' => $this->context->language->id ); $this->_html .= $R3A1E73211A105E82A8C89F8C8E3C8264->generateForm(array($RD05A28496998D5D330106BBAE629B948)); } public function getConfigFieldsValues() { $RBAAA917A11E347C49C3462A9383AE5BD = Configuration::getMultiple(array('AGILE_PAYPALPL_BUSINESS', 'AGILE_PAYPALPL_SANDBOX','AGILE_PAYPALPL_API_USERNAME','AGILE_PAYPALPL_API_PASSWORD','AGILE_PAYPALPL_API_SIGNATURE','AGILE_PAYPALPL_ADDRESS','AGILE_PAYPALPL_NOSHIPPING')); return $RDFF744BB7E0F066A8430E04506EB639B=array( 'business' => htmlentities(Tools::getValue('business', (array_key_exists('AGILE_PAYPALPL_BUSINESS', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_BUSINESS'] : '')), ENT_COMPAT, 'UTF-8'), 'sandbox' => Tools::getValue('sandbox', (array_key_exists('AGILE_PAYPALPL_SANDBOX', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_SANDBOX'] : '')), 'noshipping' => Tools::getValue('noshipping', (array_key_exists('AGILE_PAYPALPL_NOSHIPPING', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_NOSHIPPING'] : '')), 'address' => Tools::getValue('address', (array_key_exists('AGILE_PAYPALPL_ADDRESS', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_ADDRESS'] : '')), 'api_username' => Tools::getValue('api_username', (array_key_exists('AGILE_PAYPALPL_API_USERNAME', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_USERNAME'] : '')), 'api_password' => Tools::getValue('api_password', (array_key_exists('AGILE_PAYPALPL_API_PASSWORD', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_PASSWORD'] : '')), 'api_signature' => Tools::getValue('api_signature', (array_key_exists('AGILE_PAYPALPL_API_SIGNATURE', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_SIGNATURE'] : '')), ); } public function hookDisplayHeader($RC2D2567438B1F39DD71F78195B5F3DED) { $this->context->controller->addCSS(_PS_ROOT_DIR_ . 'modules/agilepaypalparallel/css/agilepaypalparallel.css', 'all'); return false; } public function hookPaymentOptions($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active)return ; if(Module::isInstalled('agilemultipleseller')) { $RFA34F5AA68FB175F39407BC4D03FA3DD = (int)Configuration::get('AGILE_MS_PAYMENT_MODE'); if(!self::$PaymentCollectionMode[$RFA34F5AA68FB175F39407BC4D03FA3DD]) { return; } $RF8AB79CB3F4E21B6B6CB6A743C481B21 = AgileSellerManager::seller_payment_uses($RC2D2567438B1F39DD71F78195B5F3DED['cart']->id, $this->name); if($RFA34F5AA68FB175F39407BC4D03FA3DD != 3 && $RF8AB79CB3F4E21B6B6CB6A743C481B21 != 1) { return; } } $R92C67F06BAD30141429837B62F6A2767 = Context::getContext()->link->getModuleLink('agilepaypalparallel', 'redirect', array(), true); $this->context->smarty->assign(array( 'agilepayoalparallel_redirect_url' => $R92C67F06BAD30141429837B62F6A2767 )); $RE3D22EFC113F90A206DF71495BF5CCAF = new PaymentOption(); $RE3D22EFC113F90A206DF71495BF5CCAF->setCallToActionText($this->trans('Pay by Paypal(Parallel)', array(), 'Modules.AgilePaypalParallel.Shop')) ->setAction($this->context->link->getModuleLink($this->name, 'redirect', array(), true)) ->setAdditionalInformation($this->fetch('module:agilepaypalparallel/views/templates/hook/payment.tpl')); $R938977A33ABE8FD2318B4D1938916FA0 = [ $RE3D22EFC113F90A206DF71495BF5CCAF, ]; return $R938977A33ABE8FD2318B4D1938916FA0; } public function hookDisplayPaymentEU($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active) return; $R938977A33ABE8FD2318B4D1938916FA0 = array( 'cta_text' => $this->l('Pay by Agile Paypal Parallel'), 'logo' => Media::getMediaPath(dirname(__FILE__).'/img/agilepaypalparallel.png'), 'action' => $this->context->link->getModuleLink($this->name, 'reditect', array(), true) ); return $R938977A33ABE8FD2318B4D1938916FA0; } public function hookDisplayPaymentReturn($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active) return ; return $this->display(__FILE__, '/views/templates/front/confirmation.tpl'); } public function getL($RF413F06AEBBCEF5E1C8B1019DEE6FE6B) { $R64D53A42404E0084D759965821B9824E = array( 'Currency Error' => $this->l('Invalid currency restriction setting for this payment module'), 'Seller Payment Info' => $this->l('Invalid seller payment information'), 'redirect_text' =>$this->l('Please wait, redirecting to Paypal... Thanks.'), 'cancel_text' =>$this->l('Cancel'), 'error title' => $this->l('Some errors occurred while preparing the payment'), 'Payment amount error'=> $this->l('Payment amount error'), 'mc_gross' => $this->l('Paypal key \'mc_gross\' not specified, can\'t control amount paid.'), 'payment_status' => $this->l('Paypal key \'payment_status\' not specified, can\'t control payment validity'), 'mc_currency' => $this->l('Paypal key \'mc_currency\' not specified, currency unknown'), 'cart' => $this->l('Cart not found'), 'order' => $this->l('Order has already been placed'), 'transaction' => $this->l('Paypal Transaction ID: '), 'verified' => $this->l('The PayPal transaction could not be VERIFIED.'), 'connect' => $this->l('Problem connecting to the PayPal server.'), 'nomethod' => $this->l('No communications transport available.'), 'socketmethod' => $this->l('Verification failure (using fsockopen). Returned: '), 'curlmethod' => $this->l('Verification failure (using cURL). Returned: '), 'curlmethodfailed' => $this->l('Connection using cURL failed'), 'Please wait, redirecting to Paypal... Thanks.' => $this->l('Please wait, redirecting to Paypal... Thanks.'), 'Sorry, we do not ship to your country.' => $this->l('Sorry, we do not ship to your country.'), 'Cancel' => $this->l('Cancel'), 'Paypal error: (invalid or undefined business account email)' => $this->l('Paypal error: (invalid or undefined business account email)'), 'Paypal error: (invalid address or customer)' => $this->l('Paypal error: (invalid address or customer)'), 'Payment failed' => 'Payment failed, please contact store owner.', 'Seller payment email error' => $this->l('Seller payment email error: (Invalid or undefined seller business account email, please contact store administrator to correct it.)') ); return $R64D53A42404E0084D759965821B9824E[$RF413F06AEBBCEF5E1C8B1019DEE6FE6B]; } public function validateOrder($RF50CDD3F2AACFD3098534F1C052C25BE, $R58C4302894F48E8B96DCA49E94913761, $R6B4950513B552105C182A5C0BCA5DD87, $R80AB19B7D5C172F592843F8F29D4C8A2 = 'Unknown', $R157A6826A8BF1F36EBBE3DEC02351744 = NULL, $R6C814F60598DF94EC59E1793B925D1CB = array(), $R24BF50E0133D12E52620F5EA0A3DC353 = NULL, $R066CC1A9B859BBC5BEBEC00C275028F7 = false, $R1C9EAEF3B3A8C881E8210AAB82825DA8 = false, Shop $R7F0DA278AD542BC83DF932E4614E60C5 = null) { if (!$this->active) return ; parent::validateOrder($RF50CDD3F2AACFD3098534F1C052C25BE, $R58C4302894F48E8B96DCA49E94913761, $R6B4950513B552105C182A5C0BCA5DD87, $R80AB19B7D5C172F592843F8F29D4C8A2, $R157A6826A8BF1F36EBBE3DEC02351744, $R6C814F60598DF94EC59E1793B925D1CB, $R24BF50E0133D12E52620F5EA0A3DC353, $R066CC1A9B859BBC5BEBEC00C275028F7, $R1C9EAEF3B3A8C881E8210AAB82825DA8); } public function get_return_url() { if(version_compare(_PS_VERSION_, '1.5', '>=')) return Context::getContext()->link->getModuleLink('agilepaypalparallel', 'paymentreturn', array(), true); else return Tools::getShopDomainSsl(true,true) . __PS_BASE_URI__ . "modules/agilepaypalparallel/paymentreturn.php"; } public function get_pp_config() { $RDA59465C49B663D25A3EBB4BF89D35E5 = (int)Configuration::get("AGILE_PAYPALPL_SANDBOX"); return array( "mode" => ($RDA59465C49B663D25A3EBB4BF89D35E5 == 1 ? "sandbox" : "live"), "acct1.UserName" => Configuration::get("AGILE_PAYPALPL_API_USERNAME"), "acct1.Password" => Configuration::get("AGILE_PAYPALPL_API_PASSWORD"), "acct1.Signature" => Configuration::get("AGILE_PAYPALPL_API_SIGNATURE"), "http.ConnectionTimeOut" => "5000", "http.Retry" => "2", ); } public function handle_payment_exception(Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R38321F24EB957DCB8703259DE8D211B1 = $R5431C56219CE28A0520B9CF966FBE6CE->getMessage(); $R0DF2F6A3776B3FFF5847F20D2C151545 = get_class($R5431C56219CE28A0520B9CF966FBE6CE); $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R0EB1982D9BAA9716AC37A8F047D5800D[] = $R5431C56219CE28A0520B9CF966FBE6CE->getMessage(); if($R5431C56219CE28A0520B9CF966FBE6CE instanceof PayPal\Exception\PPConnectionException) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Error: Error connecting to " . $R5431C56219CE28A0520B9CF966FBE6CE->getUrl(); } else if($R5431C56219CE28A0520B9CF966FBE6CE instanceof PayPal\Exception\PPConfigurationException) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Invalid configuration. Please check your configuration file"; } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function handle_response_errors($R04DC9A31C8FE0CD27C4C4A1066AEFCD5) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(!isset($R04DC9A31C8FE0CD27C4C4A1066AEFCD5)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Unknow response error, payment failed'); } if($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Ack != 'Success') $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Payment process error, repsonse code:' . $R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Ack ); if(isset($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Errors)) { foreach($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Errors as $R1B33F70F787A1698E61F040B7ED037E5) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Code" . $R1B33F70F787A1698E61F040B7ED037E5->ErrorCode . " - " . $R1B33F70F787A1698E61F040B7ED037E5->ShortMessage . ":" . $R1B33F70F787A1698E61F040B7ED037E5->LongMessage; } } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $R20537495E25245610B35404DC0DACF1C = new Currency($this->context->cart->id_currency); if(!Validate::isLoadedObject($RF9F42DF316FBD92CB7F35D539398F40A) OR !Validate::isLoadedObject($R20537495E25245610B35404DC0DACF1C)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Currency Error'); } $RFE8BBB7DCBEA7F27C24E6B5009B9ED35 = $RF9F42DF316FBD92CB7F35D539398F40A->iso_code; $R70EBC679B0540EF4F29FBA398C611CB8 = 1; if($R20537495E25245610B35404DC0DACF1C->id != $RF9F42DF316FBD92CB7F35D539398F40A->id) $R70EBC679B0540EF4F29FBA398C611CB8 = $RF9F42DF316FBD92CB7F35D539398F40A->conversion_rate / $R20537495E25245610B35404DC0DACF1C->conversion_rate; $R66728EA03984F2F03C3BF2A2B650973F = $this->getPayments(); if(empty($R66728EA03984F2F03C3BF2A2B650973F)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Seller Payment Info'); } else { foreach($R66728EA03984F2F03C3BF2A2B650973F AS $R95909C49377A2B4F24C79D29C629AF65 => $R52FC1BA91D10F611E03D61C01C5F72EB) { if($R52FC1BA91D10F611E03D61C01C5F72EB['email'] == null OR strlen($R52FC1BA91D10F611E03D61C01C5F72EB['email']) <= 0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Seller payment email error'); } } } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D)) return array('Errors' => $R0EB1982D9BAA9716AC37A8F047D5800D, 'PaymentDetailsList' => array(), 'Txn' => null, 'TxnDetails' => array()); $R0EE2E5B94F315788565902BE4AB97F03 = Tools::ps_round($this->context->cart->getOrderTotal(true, Cart::BOTH) * $R70EBC679B0540EF4F29FBA398C611CB8,2); if($R0EE2E5B94F315788565902BE4AB97F03 <= 0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Payment amount error:' . $R0EE2E5B94F315788565902BE4AB97F03); } asort($R66728EA03984F2F03C3BF2A2B650973F); $R29EBEDB0124A02D2D836AB13B8399A57 = array(); $R9E9DB3BD4CF79145A46324858A119AAA = array(); $RD6195E373C772F0DB9C6AFFE5C72BA47 = 0; $R5B92E56774920499F4ADDD0EC782C83E = 0; foreach($R66728EA03984F2F03C3BF2A2B650973F AS $R95909C49377A2B4F24C79D29C629AF65 => $R52FC1BA91D10F611E03D61C01C5F72EB) { $R5DABA72C75A081D6CA3933A496740654 = new PayPal\EBLBaseComponents\SellerDetailsType(); $R5DABA72C75A081D6CA3933A496740654->PayPalAccountID = $R52FC1BA91D10F611E03D61C01C5F72EB['email']; $R5DABA72C75A081D6CA3933A496740654->SellerId = $R95909C49377A2B4F24C79D29C629AF65; $R5A6F8F305CBD5A2FF0252D8D65DE835A = new PayPal\EBLBaseComponents\PaymentDetailsType(); $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentAction = self::PAY_ACTION_SALE; $R5A6F8F305CBD5A2FF0252D8D65DE835A->ShipToAddress = $this->ToPaypalAddressType($RD5358894305A78D17E96704C3649FC98); $R5A6F8F305CBD5A2FF0252D8D65DE835A->InsuranceOptionOffered = false; $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentRequestID = $R95909C49377A2B4F24C79D29C629AF65 . ":" . $R52FC1BA91D10F611E03D61C01C5F72EB['email']; $R5A6F8F305CBD5A2FF0252D8D65DE835A->SellerDetails = $R5DABA72C75A081D6CA3933A496740654; $R68EAF33C4E51B47C7219F805B449C109 = Tools::ps_round($R52FC1BA91D10F611E03D61C01C5F72EB['amount'] * $R70EBC679B0540EF4F29FBA398C611CB8,2); if($R68EAF33C4E51B47C7219F805B449C109 <=0)continue; $RD6195E373C772F0DB9C6AFFE5C72BA47 += $R68EAF33C4E51B47C7219F805B449C109; if($R5B92E56774920499F4ADDD0EC782C83E == count($R66728EA03984F2F03C3BF2A2B650973F)-1) { $R87F2822770A55151A0C37A7D09E2B8D9 = $R0EE2E5B94F315788565902BE4AB97F03 - $RD6195E373C772F0DB9C6AFFE5C72BA47; if($R87F2822770A55151A0C37A7D09E2B8D9 != 0) $R68EAF33C4E51B47C7219F805B449C109 += $R87F2822770A55151A0C37A7D09E2B8D9; $R68EAF33C4E51B47C7219F805B449C109 = Tools::ps_round($R68EAF33C4E51B47C7219F805B449C109, 2); } $R5A6F8F305CBD5A2FF0252D8D65DE835A->OrderTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, $R68EAF33C4E51B47C7219F805B449C109); $R5A6F8F305CBD5A2FF0252D8D65DE835A->ItemTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, $R68EAF33C4E51B47C7219F805B449C109); $R5A6F8F305CBD5A2FF0252D8D65DE835A->ShippingTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, 0); $R5A6F8F305CBD5A2FF0252D8D65DE835A->InsuranceTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, 0); $R840FA244ECF4B158DB67288963FE7169 = 0; $R0241BB4D701B4C0A9352A9A5AD13F7B7 = new PayPal\EBLBaseComponents\PaymentDetailsItemType(); $R0241BB4D701B4C0A9352A9A5AD13F7B7->Name = $this->l('Goods or Service'); $R0241BB4D701B4C0A9352A9A5AD13F7B7->Amount = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, Tools::ps_round($R68EAF33C4E51B47C7219F805B449C109,2)); $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentDetailsItem[$R840FA244ECF4B158DB67288963FE7169] = $R0241BB4D701B4C0A9352A9A5AD13F7B7; $R29EBEDB0124A02D2D836AB13B8399A57[$R5B92E56774920499F4ADDD0EC782C83E] = $R5A6F8F305CBD5A2FF0252D8D65DE835A; $R5B92E56774920499F4ADDD0EC782C83E++; } return array('Errors' => $R0EB1982D9BAA9716AC37A8F047D5800D, 'PaymentDetailsList' => $R29EBEDB0124A02D2D836AB13B8399A57); } public function create_payment_txn_data($R8307C477DDEF19349C8224C62F42AE78, $RE80E7E277859162E1FD60605013ACDD5, $R5D8E95289BF25691AFBFC745FD98DE78) { $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $R0EE2E5B94F315788565902BE4AB97F03 = 0; foreach($R8307C477DDEF19349C8224C62F42AE78 as $R649A2B822F95D2157CCC0B95A2872028) { $R95909C49377A2B4F24C79D29C629AF65 = $R649A2B822F95D2157CCC0B95A2872028->SellerDetails->SellerId; $RDADBDE6DA00922BBCB7461BF44AC8F34 = AgilePaypalParallelTxnDetail::getTxnDetailIDByCartSellerId($this->context->cart->id, $R95909C49377A2B4F24C79D29C629AF65); $R0A6D814D2B0D7584B066ED474359EB6A = new AgilePaypalParallelTxnDetail($RDADBDE6DA00922BBCB7461BF44AC8F34); $R0A6D814D2B0D7584B066ED474359EB6A->id_seller = $R95909C49377A2B4F24C79D29C629AF65; $R0A6D814D2B0D7584B066ED474359EB6A->id_cart = $this->context->cart->id; $R0A6D814D2B0D7584B066ED474359EB6A->id_currency = $RF9F42DF316FBD92CB7F35D539398F40A->id; $R0A6D814D2B0D7584B066ED474359EB6A->receiver_email = $R649A2B822F95D2157CCC0B95A2872028->SellerDetails->PayPalAccountID; $R0A6D814D2B0D7584B066ED474359EB6A->is_primary = ($R95909C49377A2B4F24C79D29C629AF65 == 0 ? 1 : 0); $R0A6D814D2B0D7584B066ED474359EB6A->amount = $R649A2B822F95D2157CCC0B95A2872028->OrderTotal->value; $R0A6D814D2B0D7584B066ED474359EB6A->status = 'INIT'; $R0A6D814D2B0D7584B066ED474359EB6A->date_add = date('Y-m-d H:i:s'); $R0A6D814D2B0D7584B066ED474359EB6A->date_upd = $R0A6D814D2B0D7584B066ED474359EB6A->date_add; $R0A6D814D2B0D7584B066ED474359EB6A->record_type = $RE80E7E277859162E1FD60605013ACDD5; $R0A6D814D2B0D7584B066ED474359EB6A->paykey = $R5D8E95289BF25691AFBFC745FD98DE78; $R0A6D814D2B0D7584B066ED474359EB6A->save(); $R0EE2E5B94F315788565902BE4AB97F03 += $R0A6D814D2B0D7584B066ED474359EB6A->amount; } $RC0B91C945F317007CE0174BAC72E4286 = AgilePaypalParallelTxn::getTxnByCartId($this->context->cart->id); $R1FECDBE9D501D58782B557793BE3540C = new AgilePaypalParallelTxn($RC0B91C945F317007CE0174BAC72E4286); $R1FECDBE9D501D58782B557793BE3540C->id_cart = $this->context->cart->id; $R1FECDBE9D501D58782B557793BE3540C->id_order = 0; $R1FECDBE9D501D58782B557793BE3540C->payer_email = ''; $R1FECDBE9D501D58782B557793BE3540C->status = 'INIT'; $R1FECDBE9D501D58782B557793BE3540C->paymode = Configuration::get('AGILE_MS_PAYMENT_MODE'); $R1FECDBE9D501D58782B557793BE3540C->id_currency = $RF9F42DF316FBD92CB7F35D539398F40A->id; $R1FECDBE9D501D58782B557793BE3540C->date_add = date('Y-m-d H:i:s'); $R1FECDBE9D501D58782B557793BE3540C->date_upd = $R1FECDBE9D501D58782B557793BE3540C->date_add ; $R1FECDBE9D501D58782B557793BE3540C->amount = $R0EE2E5B94F315788565902BE4AB97F03; $R1FECDBE9D501D58782B557793BE3540C->paykey = $R5D8E95289BF25691AFBFC745FD98DE78; $R1FECDBE9D501D58782B557793BE3540C->save(); } public function process_payments() { global $paykey; if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R0CD215FF6A25E893125B761431830E1F = Configuration::get('AGILE_PAYPALAD_BUSINESS'); $R832073F8852D50E01E8499D01D6E06B7 = Tools::getHttpHost(true, true). __PS_BASE_URI__; $REAB584130A980E541B44047E8875CED3 = $this->get_return_url(); $R8A55C5948336F941C424DA53C0510D68 = Context::getContext()->link->getPageLink('order'); $REB4D40D367AD11F14294BDB7ADEDD9B7 = new PayPal\EBLBaseComponents\SetExpressCheckoutRequestDetailsType(); $REB4D40D367AD11F14294BDB7ADEDD9B7->CancelURL = $R8A55C5948336F941C424DA53C0510D68; $REB4D40D367AD11F14294BDB7ADEDD9B7->ReturnURL = $REAB584130A980E541B44047E8875CED3; $REB4D40D367AD11F14294BDB7ADEDD9B7->LandingPage = "Billing"; $REB4D40D367AD11F14294BDB7ADEDD9B7->SolutionType = "Sole"; $REB4D40D367AD11F14294BDB7ADEDD9B7->NoShipping = (int)Configuration::get('AGILE_PAYPALPL_NOSHIPPING'); $REB4D40D367AD11F14294BDB7ADEDD9B7->BuyerEmail = $this->context->cookie->email; $REB4D40D367AD11F14294BDB7ADEDD9B7->BrandName = Configuration::get('PS_SHOP_NAME'); $RD5358894305A78D17E96704C3649FC98 = new Address(Configuration::get('AGILE_PAYPALPL_ADDRESS') ? $this->context->cart->id_address_delivery : $this->context->cart->id_address_invoice); $RD5D8F70E90FCD7F6429DEDAE71E78CE7 = new Country($RD5358894305A78D17E96704C3649FC98->id_country); if(Validate::isLoadedObject($RD5D8F70E90FCD7F6429DEDAE71E78CE7)) { $REB4D40D367AD11F14294BDB7ADEDD9B7->LocaleCode = isset(self::$LOCALECODE[$RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code])?self::$LOCALECODE[$RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code]:'US'; } $RE80E7E277859162E1FD60605013ACDD5 = intval(Configuration::get('AGILE_MS_PAYMENT_MODE')); $R679E9B9234E2062F809DBD3325D37FB6 = $this->prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98); if(!empty($R679E9B9234E2062F809DBD3325D37FB6['Errors']))return $R679E9B9234E2062F809DBD3325D37FB6['Errors']; $REB4D40D367AD11F14294BDB7ADEDD9B7->PaymentDetails = $R679E9B9234E2062F809DBD3325D37FB6['PaymentDetailsList']; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R15D5A7B89A03F0E514D529F52518BF13 = new PayPal\PayPalAPI\SetExpressCheckoutRequestType(); $R15D5A7B89A03F0E514D529F52518BF13->SetExpressCheckoutRequestDetails = $REB4D40D367AD11F14294BDB7ADEDD9B7; $R11FF3A04F3CDB7D9433FABC09F14B0E7 = new PayPal\PayPalAPI\SetExpressCheckoutReq(); $R11FF3A04F3CDB7D9433FABC09F14B0E7->SetExpressCheckoutRequest = $R15D5A7B89A03F0E514D529F52518BF13; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $R65525406ADBC01D7FEB4B44CA541EE4A = $R8E32F1FC0982A8E875BE417712B3B6B0->SetExpressCheckout($R11FF3A04F3CDB7D9433FABC09F14B0E7); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($R65525406ADBC01D7FEB4B44CA541EE4A)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $paykey = $R65525406ADBC01D7FEB4B44CA541EE4A->Token; $this->create_payment_txn_data($REB4D40D367AD11F14294BDB7ADEDD9B7->PaymentDetails,$RE80E7E277859162E1FD60605013ACDD5, $R65525406ADBC01D7FEB4B44CA541EE4A->Token); return $R0EB1982D9BAA9716AC37A8F047D5800D; } private function getPayments() { $R66728EA03984F2F03C3BF2A2B650973F = array(); if(Module::isInstalled('agilemultipleseller')) { $R66728EA03984F2F03C3BF2A2B650973F = AgileMultipleseller::get_payment_info_from_cart(); } else { $R66728EA03984F2F03C3BF2A2B650973F[0] = array( 'email' => Configuration::get('AGILE_PAYPALPL_BUSINESS'), 'amount' => $this->context->cart->getOrderTotal(), 'commission' => 0, ); } foreach($R66728EA03984F2F03C3BF2A2B650973F as $R95909C49377A2B4F24C79D29C629AF65 => $RB60574D852CEEC26638BCD30B5ED74D6) { if($R95909C49377A2B4F24C79D29C629AF65 ==0)$RB60574D852CEEC26638BCD30B5ED74D6['email'] = Configuration::get('AGILE_PAYPALPL_BUSINESS'); else { include_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/AgileSellerPaymentInfo.php"); $R602BAA072843820A45861C75C510C77E = AgileSellerPaymentInfo::getForSellerByModuleName($this->name, $R95909C49377A2B4F24C79D29C629AF65); $RB60574D852CEEC26638BCD30B5ED74D6['email'] = $R602BAA072843820A45861C75C510C77E->info1; } $R66728EA03984F2F03C3BF2A2B650973F[$R95909C49377A2B4F24C79D29C629AF65] = $RB60574D852CEEC26638BCD30B5ED74D6; } return $R66728EA03984F2F03C3BF2A2B650973F; } public function process_return() { global $paykey, $payerID; $paykey = $_GET['token']; $payerID = $_GET['PayerID']; $R41718C5BEC3C5571414B13A5B401195C = $this->excute_payment(); if(count($R41718C5BEC3C5571414B13A5B401195C)<=0) { $R4117BD9C2FBBD57A0591E55A5204FD0B = new Customer((int)$this->context->cart->id_customer); Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->id.'&key='.$R4117BD9C2FBBD57A0591E55A5204FD0B->secure_key); } $this->context->smarty->assign(array( 'subcartPaymentInfo'=> "", 'payment_errors' => $R41718C5BEC3C5571414B13A5B401195C, 'paykey' => $paykey, 'payerID' => $payerID, 'returnurl' => $this->get_return_url(), )); } public function excute_payment() { global $paykey, $payerID; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RC9540F29C340518F82CD88D7F6F84230 = new PayPal\PayPalAPI\GetExpressCheckoutDetailsRequestType($paykey); $REC135008FCE56BED409AD32BF4720F17 = new PayPal\PayPalAPI\GetExpressCheckoutDetailsReq(); $REC135008FCE56BED409AD32BF4720F17->GetExpressCheckoutDetailsRequest = $RC9540F29C340518F82CD88D7F6F84230; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $RBD4E8980A7C2E6D6020BA3425EAFCD29 = $R8E32F1FC0982A8E875BE417712B3B6B0->GetExpressCheckoutDetails($REC135008FCE56BED409AD32BF4720F17); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($RBD4E8980A7C2E6D6020BA3425EAFCD29)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R5D8E95289BF25691AFBFC745FD98DE78 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->Token; if($R5D8E95289BF25691AFBFC745FD98DE78 != $paykey) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Payment respone token does not macth'; } $R2F3385541ED9D7780EEBAC009553C5A0 = intval(AgilePaypalParallelTxn::getTxnByPaykey($paykey)); if(!$R2F3385541ED9D7780EEBAC009553C5A0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Transaction not found in database'; } $R341F687588614D0F0E13E41A0F9E5D77 = new AgilePaypalParallelTxn($R2F3385541ED9D7780EEBAC009553C5A0); if(!Validate::isLoadedObject($R341F687588614D0F0E13E41A0F9E5D77)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Failed to load transaction from database'; } $RC6A4561BC5C331A897DC6C69E6FDB0F8 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->PaymentDetails[0]->OrderTotal->currencyID; $currency = new Currency($R341F687588614D0F0E13E41A0F9E5D77->id_currency); if($currency->iso_code != $RC6A4561BC5C331A897DC6C69E6FDB0F8) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Currency code does not match:' . $currency->iso_code . ' - '. $RC6A4561BC5C331A897DC6C69E6FDB0F8; } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D)) return $R0EB1982D9BAA9716AC37A8F047D5800D; $R10FDBD24A70FCA71CCDC64003BD205C0 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->PayerInfo->Payer; return $this->do_express_checkout_payment($R10FDBD24A70FCA71CCDC64003BD205C0); } function do_express_checkout_payment($R10FDBD24A70FCA71CCDC64003BD205C0) { global $paykey, $payerID; if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RD5358894305A78D17E96704C3649FC98 = new Address(Configuration::get('AGILE_PAYPALPL_ADDRESS') ? $this->context->cart->id_address_delivery : $this->context->cart->id_address_invoice); $RE80E7E277859162E1FD60605013ACDD5 = intval(Configuration::get('AGILE_MS_PAYMENT_MODE')); $R679E9B9234E2062F809DBD3325D37FB6 = $this->prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98); if(!empty($R679E9B9234E2062F809DBD3325D37FB6['Errors']))return $R679E9B9234E2062F809DBD3325D37FB6['Errors']; $R9CA5D7DFCC301B21040D1A334F485DA8 = new PayPal\EBLBaseComponents\DoExpressCheckoutPaymentRequestDetailsType(); $R9CA5D7DFCC301B21040D1A334F485DA8->PayerID = $payerID; $R9CA5D7DFCC301B21040D1A334F485DA8->Token = $paykey; $R9CA5D7DFCC301B21040D1A334F485DA8->PaymentAction = self::PAY_ACTION_SALE; $R9CA5D7DFCC301B21040D1A334F485DA8->PaymentDetails = $R679E9B9234E2062F809DBD3325D37FB6['PaymentDetailsList']; $R4F7BF15B58996B0D9D859FE35E27D3DD = new PayPal\PayPalAPI\DoExpressCheckoutPaymentRequestType(); $R4F7BF15B58996B0D9D859FE35E27D3DD->DoExpressCheckoutPaymentRequestDetails = $R9CA5D7DFCC301B21040D1A334F485DA8; $R2894F2E785E4DC3B3E27A5E2602CC024 = new PayPal\PayPalAPI\DoExpressCheckoutPaymentReq(); $R2894F2E785E4DC3B3E27A5E2602CC024->DoExpressCheckoutPaymentRequest = $R4F7BF15B58996B0D9D859FE35E27D3DD; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $R2BA063DD6820A896820C0231C2B654B9 = $R8E32F1FC0982A8E875BE417712B3B6B0->DoExpressCheckoutPayment($R2894F2E785E4DC3B3E27A5E2602CC024); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($R2BA063DD6820A896820C0231C2B654B9)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->update_apatxndetail_data($paykey,$R2BA063DD6820A896820C0231C2B654B9)); $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->update_apatxn_data($paykey,$R2BA063DD6820A896820C0231C2B654B9,$R10FDBD24A70FCA71CCDC64003BD205C0)); if($R2BA063DD6820A896820C0231C2B654B9->Ack == "Success")return array(); return $R0EB1982D9BAA9716AC37A8F047D5800D; } private function getSellerProductsTotalInCart($R95909C49377A2B4F24C79D29C629AF65) { if(!(int)$R95909C49377A2B4F24C79D29C629AF65)return 0; $R638BA27D108BC4C1454465A4728E8C56 = 0; foreach ($this->context->cart->getProducts() AS $RF413F06AEBBCEF5E1C8B1019DEE6FE6B => $RB3F07F8C3658A835940E88288B58F707) { $R638BA27D108BC4C1454465A4728E8C56 += $RB3F07F8C3658A835940E88288B58F707['total_wt']; } return $R638BA27D108BC4C1454465A4728E8C56; } function update_apatxndetail_data($paykey, $RD7BB7B7BC02A538AFE739B4DB4C1B23E) { global $payerID; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(empty($paykey) OR empty($RD7BB7B7BC02A538AFE739B4DB4C1B23E)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Invalid payment data'; } if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R66728EA03984F2F03C3BF2A2B650973F = $RD7BB7B7BC02A538AFE739B4DB4C1B23E->DoExpressCheckoutPaymentResponseDetails->PaymentInfo; $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $RFE8BBB7DCBEA7F27C24E6B5009B9ED35 = $RF9F42DF316FBD92CB7F35D539398F40A->iso_code; $R5B92E56774920499F4ADDD0EC782C83E = 0; $R7508B0AA1C07D8143C4A25F8FBDDD242 = count($R66728EA03984F2F03C3BF2A2B650973F); foreach($R66728EA03984F2F03C3BF2A2B650973F as $RB60574D852CEEC26638BCD30B5ED74D6) { $R6585241A0D607DC941644ACB2BC4A0BF = $RB60574D852CEEC26638BCD30B5ED74D6->TransactionID; $R3DD21CF6FB5668CDFEDE5737874F35DB = $RB60574D852CEEC26638BCD30B5ED74D6->PaymentStatus; $RBD82866B17A3A09865E479224369ADE7 = $RB60574D852CEEC26638BCD30B5ED74D6->SellerDetails->PayPalAccountID; $R68EAF33C4E51B47C7219F805B449C109 = $RB60574D852CEEC26638BCD30B5ED74D6->GrossAmount->value ; if(empty($R6585241A0D607DC941644ACB2BC4A0BF) AND empty($RBD82866B17A3A09865E479224369ADE7))continue; if(empty($R6585241A0D607DC941644ACB2BC4A0BF) OR empty($RBD82866B17A3A09865E479224369ADE7)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Invalid payment details data'; } $R444DB6B5D83A390ADCE1454EF85934CE = 0; $R68AB962A99F673193B3E8F2F6609C83C = 0; $R81E9E9BF8DCA44EFFB6452641D4ADEE8 = new AgilePaypalParallelTxnDetail(AgilePaypalParallelTxnDetail::getTxnDetailIDPaykeyEmail($paykey, $RBD82866B17A3A09865E479224369ADE7)); if(!Validate::isLoadedObject($R81E9E9BF8DCA44EFFB6452641D4ADEE8)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('No matchd payment details record in database'); } if($R68EAF33C4E51B47C7219F805B449C109 != $R81E9E9BF8DCA44EFFB6452641D4ADEE8->amount) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Seller amount does not math between Paypal and DB'); } $R81E9E9BF8DCA44EFFB6452641D4ADEE8->status = $R3DD21CF6FB5668CDFEDE5737874F35DB; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->paypal_txnid = $R6585241A0D607DC941644ACB2BC4A0BF; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->date_upd = date('Y-m-d H:i:s'); $R81E9E9BF8DCA44EFFB6452641D4ADEE8->remark = 'refunded amount:' . $R444DB6B5D83A390ADCE1454EF85934CE . ' pendingRefund:' . $R68AB962A99F673193B3E8F2F6609C83C; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->save(); } return $R0EB1982D9BAA9716AC37A8F047D5800D; } function update_apatxn_data($paykey, $RD7BB7B7BC02A538AFE739B4DB4C1B23E, $R10FDBD24A70FCA71CCDC64003BD205C0) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R01787CB5A57D47DC8A648998E4A6512C = new AgilePaypalParallel(); $R2F3385541ED9D7780EEBAC009553C5A0 = intval(AgilePaypalParallelTxn::getTxnByPaykey($paykey)); if(!$R2F3385541ED9D7780EEBAC009553C5A0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Transaction not found in database'); } $R341F687588614D0F0E13E41A0F9E5D77 = new AgilePaypalParallelTxn($R2F3385541ED9D7780EEBAC009553C5A0); if(!Validate::isLoadedObject($R341F687588614D0F0E13E41A0F9E5D77)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Failed to load transaction from database'); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0CB3095F452A6CBFB1A722A2625DA572 = $RD7BB7B7BC02A538AFE739B4DB4C1B23E->Ack; $R341F687588614D0F0E13E41A0F9E5D77->payer_email = $R10FDBD24A70FCA71CCDC64003BD205C0; $R341F687588614D0F0E13E41A0F9E5D77->status = $R0CB3095F452A6CBFB1A722A2625DA572; $R341F687588614D0F0E13E41A0F9E5D77->date_upd = date('Y-m-d H:i:s'); $R341F687588614D0F0E13E41A0F9E5D77->save(); if($R0CB3095F452A6CBFB1A722A2625DA572 == 'Success') { $RF9AA09C4492B9A9D072FC9F115B8C9AE = new Cart($R341F687588614D0F0E13E41A0F9E5D77->id_cart); if(!Validate::isLoadedObject($RF9AA09C4492B9A9D072FC9F115B8C9AE)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Failed to load shopping cart informaiton from database'); } $R58C4302894F48E8B96DCA49E94913761 = _PS_OS_PAYMENT_; $R5EB1A3200398D1932330BB7151DD7350 = $R341F687588614D0F0E13E41A0F9E5D77->amount; if($RF9AA09C4492B9A9D072FC9F115B8C9AE->id_currency != $R341F687588614D0F0E13E41A0F9E5D77->id_currency) { $R4134EDD3A0175AD7DEC3D09AD5B0C9A0 = new Currency($RF9AA09C4492B9A9D072FC9F115B8C9AE->id_currency); $R4DB5D6B324E8EE879F9CE66DB25D36BF = new Currency($R341F687588614D0F0E13E41A0F9E5D77->id_currency); if(!Validate::isLoadedObject($R4134EDD3A0175AD7DEC3D09AD5B0C9A0) OR !Validate::isLoadedObject($R4DB5D6B324E8EE879F9CE66DB25D36BF)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Currency error: currency informaiton not found.'); } $R5EB1A3200398D1932330BB7151DD7350 = Tools::ps_round($R341F687588614D0F0E13E41A0F9E5D77->amount * $R4134EDD3A0175AD7DEC3D09AD5B0C9A0->conversion_rate / $R4DB5D6B324E8EE879F9CE66DB25D36BF->conversion_rate,2); } $R01787CB5A57D47DC8A648998E4A6512C->validateOrder($R341F687588614D0F0E13E41A0F9E5D77->id_cart, $R58C4302894F48E8B96DCA49E94913761, $R5EB1A3200398D1932330BB7151DD7350, $R01787CB5A57D47DC8A648998E4A6512C->displayName, $paykey, array('transaction_id' => $paykey), NULL, false, $RF9AA09C4492B9A9D072FC9F115B8C9AE->secure_key); if($R01787CB5A57D47DC8A648998E4A6512C->currentOrder>0) { $R341F687588614D0F0E13E41A0F9E5D77->id_order = $R01787CB5A57D47DC8A648998E4A6512C->currentOrder; $R341F687588614D0F0E13E41A0F9E5D77->save(); if(Module::isInstalled('agilesellercommission')) SellerCommission::updateRecordType($R01787CB5A57D47DC8A648998E4A6512C->currentOrder, $R341F687588614D0F0E13E41A0F9E5D77->paymode, $R341F687588614D0F0E13E41A0F9E5D77->paykey); } } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function updateTxnDetailCartID($paykey, $RDE6D1531493DFC39BA2B390CA5A01256, $RF50CDD3F2AACFD3098534F1C052C25BE) { if(!Module::isInstalled('agilemultipleseller'))return; $R95909C49377A2B4F24C79D29C629AF65 = AgileSellerManager::getObjectOwnerID('order', $RDE6D1531493DFC39BA2B390CA5A01256); $R130D64A4AD653C91E0FD80DE8FEADC3A = "UPDATE " . _DB_PREFIX_ . "agilepaypalparallel_txndetail SET id_cart=" . (int)$RF50CDD3F2AACFD3098534F1C052C25BE . " WHERE id_seller=" . (int)$R95909C49377A2B4F24C79D29C629AF65 . " AND paykey='" . $paykey . "'"; Db::getInstance()->Execute($R130D64A4AD653C91E0FD80DE8FEADC3A); } public function hookActionAgilePaymentModuleIntegrate($RC2D2567438B1F39DD71F78195B5F3DED) { return array( 'name' => $this->name, 'desc' => $this->displayName, 'mode' => self::$PaymentCollectionMode, 'elinks' => array(), 'info1' => array('label' => $this->l('Paypal Email Address'), 'is_unique'=>1), 'info2' => array('label' => 'N/A','is_unique'=>0), 'info3' => array('label' => 'N/A','is_unique'=>0), 'info4' => array('label' => 'N/A','is_unique'=>0), 'info5' => array('label' => 'N/A','is_unique'=>0), 'info6' => array('label' => 'N/A','is_unique'=>0), 'info7' => array('label' => 'N/A','is_unique'=>0), 'info8' => array('label' => 'N/A','is_unique'=>0), ); } public function validatePaymentInfoFields($R9064F5F2E50522D4A4419AF4D6D76216) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(empty($R9064F5F2E50522D4A4419AF4D6D76216))$R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Invalid payment information'); $RFAECAE92DBBE2B39FCCDE6B0C72B6B76 = (is_array($R9064F5F2E50522D4A4419AF4D6D76216) ? $R9064F5F2E50522D4A4419AF4D6D76216['info1'] : $R9064F5F2E50522D4A4419AF4D6D76216->info1); if(!Validate::isEmail($RFAECAE92DBBE2B39FCCDE6B0C72B6B76))$R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->name . ":" . $this->l('Paypl Email Address') . $this->l(' is invalid.'); return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function ToPaypalAddressType($RECB2521BEFB2440F1B0CA68C6FF528E6) { $RD5358894305A78D17E96704C3649FC98 = new PayPal\EBLBaseComponents\AddressType(); $R901A6B96DBC8033F4D411C6E0FB53113 = new State((int)$RECB2521BEFB2440F1B0CA68C6FF528E6->id_state); $RD5D8F70E90FCD7F6429DEDAE71E78CE7 = new Country((int)$RECB2521BEFB2440F1B0CA68C6FF528E6->id_country); $RD5358894305A78D17E96704C3649FC98->CityName = $RECB2521BEFB2440F1B0CA68C6FF528E6->city; $RD5358894305A78D17E96704C3649FC98->Name = $RECB2521BEFB2440F1B0CA68C6FF528E6->firstname . ' ' . $RECB2521BEFB2440F1B0CA68C6FF528E6->lastname; $RD5358894305A78D17E96704C3649FC98->Street1 = $RECB2521BEFB2440F1B0CA68C6FF528E6->address1; $RD5358894305A78D17E96704C3649FC98->Street2 = $RECB2521BEFB2440F1B0CA68C6FF528E6->address2; $RD5358894305A78D17E96704C3649FC98->StateOrProvince = $R901A6B96DBC8033F4D411C6E0FB53113->name; $RD5358894305A78D17E96704C3649FC98->PostalCode = $RECB2521BEFB2440F1B0CA68C6FF528E6->postcode; $RD5358894305A78D17E96704C3649FC98->Country = $RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code; $RD5358894305A78D17E96704C3649FC98->Phone = ((isset($RD5358894305A78D17E96704C3649FC98->phone) && !empty($RD5358894305A78D17E96704C3649FC98->phone)) ? $RECB2521BEFB2440F1B0CA68C6FF528E6->phone : $RECB2521BEFB2440F1B0CA68C6FF528E6->phone_mobile); return $RD5358894305A78D17E96704C3649FC98; } } ?>
Did this file decode correctly?
Original Code
<?php
///-build_id: 2018021422.1908
/// This source file is subject to the Software License Agreement that is bundled with this
/// package in the file license.txt, or you can get it here
/// http://addons-modules.com/en/content/3-terms-and-conditions-of-use
///
/// @copyright 2009-2016 Addons-Modules.com
/// If you need open code to customize or merge code with othe modules, please contact us.
use PrestaShop\PrestaShop\Core\Payment\PaymentOption;
if (!defined('_PS_VERSION_')) {
exit;
}
require_once(_PS_ROOT_DIR_ .'/modules/agilepaypalparallel/merchant-sdk5.3/PPBootStrap.php');
include_once(_PS_ROOT_DIR_ . '/modules/agilepaypalparallel/AgilePaypalParallelTxn.php');
include_once(_PS_ROOT_DIR_ . '/modules/agilepaypalparallel/AgilePaypalParallelTxnDetail.php');
if(Module::isInstalled('agilesellercommission'))
{
include_once(_PS_ROOT_DIR_ . '/modules/agilesellercommission/SellerCommission.php');
}
class AgilePaypalParallel extends PaymentModule
{
public static $PaymentCollectionMode = array(
1 => true ,2 => true ,3 => true );
const PARALLEL_STYLE_PARALLEL = 0;
const PARALLEL_STYLE_CHAINED = 1;
const PAY_ACTION_SALE = "Sale";
public static $LOCALECODE = array(
'AU' => 'AU', 'AT' => 'AT', 'BE' => 'BE', 'BR' => 'BR', 'CA' => 'CA', 'SZ' => 'CH', 'DE' => 'DE', 'ES' => 'ES', 'GB' => 'GB', 'FR' => 'FR', 'IT' => 'IT', 'NL' => 'NL', 'PL' => 'PL', 'PT' => 'PT', 'US' => 'US', 'DK' => 'da_DK', 'IL' => 'he_IL', 'ID' => 'id_ID', 'JP' => 'jp_JP', 'NO' => 'no_NO', 'BR' => 'pt_BR', 'RU' => 'ru_RU', 'SE' => 'sv_SE', 'TH' => 'th_TH', 'TR' => 'tr_TR', 'CN' => 'zh_CN', 'HK' => 'zh_HK', 'TW' => 'zh_TW', );
private $_html = '';
private $_postErrors = array();
public function __construct() { $this->agile_configs = Configuration::getMultiple($this->getConfigKeys()); $this->agile_dependencies = array('agilemultipleseller' => '3.7.0.1', 'agilesellercommission' => '2.7.0.1','agilekernel'=>'1.7.1.0'); $this->agile_newfiles = array(); $this->name = 'agilepaypalparallel'; $this->isAgileKernelCompatible = true; $this->author = 'addons-modules.com'; $this->tab = 'payments_gateways'; $this->version = '2.7.0.4'; $this->ps_versions_compliancy = array('min' => '1.7', 'max' => '1.8'); $this->dependencies = array( 'agilemultipleseller','agilesellercommission','agilekernel'); $this->currencies = true; $this->currencies_mode = 'radio'; $this->is_eu_compatible = 1; $this->bootstrap = true; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Agile Paypal Parallel payment module'); $this->description = $this->l('Accepts payments by PayPal Parallel payment, one sender / multiple receivers'); $this->confirmUninstall = $this->l('Are you sure you want to delete your details ?'); if (Configuration::get('AGILE_PAYPALPL_BUSINESS') == '[email protected]') $this->warning = $this->l('You are currently using the default PayPal email address, you need to use your own email address'); if ($_SERVER['SERVER_NAME'] == 'localhost') $this->warning = $this->l('Your are in localhost mode, PayPal cannot validate order'); } private function getConfigKeys() { return array('AGILE_PAYPALPL_BUSINESS','AGILE_PAYPALPL_SANDBOX','AGILE_PAYPALPL_API_USERNAME','AGILE_PAYPALPL_API_PASSWORD','AGILE_PAYPALPL_API_SIGNATURE','AGILE_PAYPALPL_APPLICATION_ID','AGILE_PAYPALPL_NOSHIPPING'); } public function getPaypalUrl() { if(Configuration::get('AGILE_PAYPALPL_SANDBOX')) return 'https://www.sandbox.paypal.com/webscr'; else return 'https://www.paypal.com/webscr'; } public function install() { if(!Module::isInstalled('agilekernel')) { $this->_errors[] = $this->l('You have to install Agile Kernel module before installing this module. The download link of this module should have been included your download email for your order. If you can not find it, please request by email to [email protected] with your order #.'); return false; } if(!$this->AgilePreinstall())return false; if (parent::install() == false ) { $this->_errors[] = $this->l('Install error - call parent::install()'); return false; } if (!$this->registerHook('actionAgilePaymentModuleIntegrate') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_BUSINESS', '[email protected]') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_SANDBOX', 1) OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_NOSHIPPING', 1) OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_USERNAME', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_PASSWORD', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_API_SIGNATURE', '') OR !$this->AgileSetDefaultConfig('AGILE_PAYPALPL_APPLICATION_ID', 'APP-80W284485P519543T') OR !$this->registerHook('displayHeader') OR !$this->registerHook('paymentOptions') OR !$this->registerHook('displayPaymentReturn') )return false; if(!AgileInstaller::create_tab('Payment Logs','AgilePaymentsParent','AgileModulesParent',$this->name))return false; AgileInstaller::init_tab_prmission_for_existing_profiles('AgilePaymentsParent',1,1,1,1); if(!AgileInstaller::create_tab('Parallel Payment Logs','AdminParallelLogs','AgilePaymentsParent',$this->name))return false; AgileInstaller::init_tab_prmission_for_existing_profiles('AdminParallelLogs',1,1,1,1); Db::getInstance()->Execute('UPDATE ' . _DB_PREFIX_ . 'agilepaypalparallel_txndetail SET record_type=3 WHERE record_type=0'); Autoload::getInstance()->generateIndex(); AgileInstaller::ensureSellerReadModulePermission(Configuration::get('AGILE_MS_PROFILE_ID'), array('READ')); return true; } public function uninstall() { if(!parent::uninstall())return false; AgileInstaller::delete_tab('AdminParallelLogs'); AgileInstaller::delete_tab('AgilePaymentsParent'); return true; } public function getContent() { $this->_html = '<h2>'.$this->displayName.'</h2>'; $R0E50532F705BA890C56DC90FC3472539 = AgileInstaller::detect_admin_folder($_SERVER['SCRIPT_FILENAME']); $R5A0E1B3F4DE39462E7CECCA34A34D7E1 = AgileInstaller::install_health_check($this->agile_newfiles, $this->name, $R0E50532F705BA890C56DC90FC3472539); if(!empty($R5A0E1B3F4DE39462E7CECCA34A34D7E1)) $this->_html .= $R5A0E1B3F4DE39462E7CECCA34A34D7E1; $this->_html .= AgileInstaller::show_agile_links(); if (isset($_POST['submitPaypal'])) { $R5C56A42C3A509ED8D4ED17B6BBD03121 = Tools::getValue('business'); $RFEC144236AC9EE9FEEF818A60D092A85 = Tools::getValue('api_username'); $R425FB9969B1ED0CC5D6CB1911C1D5B11 = Tools::getValue('api_password'); $RAD6101F8BBF7F20F5D38E9F99CAE148B = Tools::getValue('api_signature'); if (empty($R5C56A42C3A509ED8D4ED17B6BBD03121)) $this->_postErrors[] = $this->l('Paypal business e-mail address is required.'); elseif (!Validate::isEmail($R5C56A42C3A509ED8D4ED17B6BBD03121)) $this->_postErrors[] = $this->l('Paypal business must be an e-mail address.'); elseif (empty($RFEC144236AC9EE9FEEF818A60D092A85)) $this->_postErrors[] = $this->l('Paypal API username is required.'); elseif (empty($R425FB9969B1ED0CC5D6CB1911C1D5B11)) $this->_postErrors[] = $this->l('Paypal API password is required.'); elseif (empty($R425FB9969B1ED0CC5D6CB1911C1D5B11)) $this->_postErrors[] = $this->l('Paypal API signature is required.'); if (!isset($_POST['sandbox'])) $_POST['sandbox'] = 1; if (!isset($_POST['address'])) $_POST['address'] = 1; if (!sizeof($this->_postErrors)) { Configuration::updateValue('AGILE_PAYPALPL_BUSINESS', $R5C56A42C3A509ED8D4ED17B6BBD03121); Configuration::updateValue('AGILE_PAYPALPL_API_USERNAME', $RFEC144236AC9EE9FEEF818A60D092A85); Configuration::updateValue('AGILE_PAYPALPL_API_PASSWORD', $R425FB9969B1ED0CC5D6CB1911C1D5B11); Configuration::updateValue('AGILE_PAYPALPL_API_SIGNATURE', $RAD6101F8BBF7F20F5D38E9F99CAE148B); Configuration::updateValue('AGILE_PAYPALPL_SANDBOX', intval($_POST['sandbox'])); Configuration::updateValue('AGILE_PAYPALPL_NOSHIPPING', intval($_POST['noshipping'])); Configuration::updateValue('AGILE_PAYPALPL_ADDRESS', intval($_POST['address'])); $this->_html .= $this->displayConfirmation($this->l('Settings updated')); } else $this->displayErrors(); } $this->displayFormSettings(); return $this->_html; } public function displayErrors() { $R5E535DBA6BC26B2ECEEF3DA589516785 = sizeof($this->_postErrors); $this->_html .= ' <div class="alert error"> <h3>'.($R5E535DBA6BC26B2ECEEF3DA589516785 > 1 ? $this->l('There are') : $this->l('There is')).' '.$R5E535DBA6BC26B2ECEEF3DA589516785.' '.($R5E535DBA6BC26B2ECEEF3DA589516785 > 1 ? $this->l('errors') : $this->l('error')).'</h3> <ol>'; foreach ($this->_postErrors AS $RB5ADDE8D7D7412251F47419FE9BF51A7) $this->_html .= '<li>'.$RB5ADDE8D7D7412251F47419FE9BF51A7.'</li>'; $this->_html .= ' </ol> </div>'; } public function displayFormSettings() { $RD05A28496998D5D330106BBAE629B948 = array( 'form' => array( 'legend' => array( 'title' => $this->l('Settings'), 'image' => $this->_path.'logo.png', ), 'description' => '<font color="red">' . $this->l('Please Note'). '</font><br>' . $this->l('1. Your Paypal account must be a business account').'<br>' . $this->l('2. You need to apply an Paypal API Credential/Signture.').' <a style="color:Blue;" target="_new" href="http://addons-modules.com/store/content/21-how-to-get-paypal-api-credential">' . $this->l('Click here for instructions on how to'). '</a><br>' . $this->l('3. You must configure "website preference" - Optional Paypal account to "On" if you do not require buyer to have Paypal account').' <a style="color:Blue;" target="_new" href="http://addons-modules.com/store/en/content/73-parallel-payment-with-optional-paypal-account">' . $this->l('Click here for instructions on how to'). '</a><br>' . $this->l('4. Session and cURL must be enabled for this module to work properly'), 'input' => array( array( 'type' => 'text', 'label' => $this->l('PayPal business e-mail'), 'name' => 'business', 'size' => 33, 'required' => 'required' ), array( 'type' => 'radio', 'label' => $this->l('Sandbox mode (Test)'), 'name' => 'sandbox', 'values' => array( array( 'id' => 'sandbox_yes', 'value' => 1, 'label' => $this->l('Yes'), ), array( 'id' => 'sandbox_no', 'value' => 0, 'label' => $this->l('No'), ), ), ), array( 'type' => 'radio', 'label' => $this->l('No Shipping Address?'), 'name' => 'noshipping', 'values' => array( array( 'id' => 'noshipping_yes', 'value' => 1, 'label' => $this->l('Yes'), ), array( 'id' => 'noshipping_no', 'value' => 0, 'label' => $this->l('No'), ), ), ), array( 'type' => 'radio', 'label' => $this->l('Custom Address Selection'), 'name' => 'address', 'values' => array( array( 'id' => 'delivery_address', 'value' => 1, 'label' => $this->l('Delivery Address'), ), array( 'id' => 'billing_address', 'value' => 0, 'label' => $this->l('Billing Address'), ), ), 'desc' => $this->l('The selected customer address will be sent to Paypal as default billing/shipping address.') ), array( 'type' => 'text', 'label' => $this->l('PayPal API user name'), 'name' => 'api_username', 'size' => 33, 'required' => 'required' ), array( 'type' => 'text', 'label' => $this->l('PayPal API password'), 'name' => 'api_password', 'size' => 33, 'required' => 'required' ), array( 'type' => 'text', 'label' => $this->l('PayPal API signature'), 'name' => 'api_signature', 'size' => 83, 'required' => 'required' ), ), 'submit' => array( 'title' => $this->l('Update settings'), ) ) ); $R3A1E73211A105E82A8C89F8C8E3C8264 = new HelperForm(); $R3A1E73211A105E82A8C89F8C8E3C8264->show_toolbar = false; $R3A1E73211A105E82A8C89F8C8E3C8264->table = $this->name; $R51C716B9664B3F4E109066C05B9B1A86 = new Language((int)Configuration::get('PS_LANG_DEFAULT')); $R3A1E73211A105E82A8C89F8C8E3C8264->default_form_language = $R51C716B9664B3F4E109066C05B9B1A86->id; $R3A1E73211A105E82A8C89F8C8E3C8264->module = $this; $R3A1E73211A105E82A8C89F8C8E3C8264->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; $R3A1E73211A105E82A8C89F8C8E3C8264->identifier = $this->identifier; $R3A1E73211A105E82A8C89F8C8E3C8264->submit_action = 'submitPaypal'; $R3A1E73211A105E82A8C89F8C8E3C8264->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; $R3A1E73211A105E82A8C89F8C8E3C8264->token = Tools::getAdminTokenLite('AdminModules'); $R3A1E73211A105E82A8C89F8C8E3C8264->tpl_vars = array( 'fields_value' => $this->getConfigFieldsValues(), 'languages' => $this->context->controller->getLanguages(), 'id_language' => $this->context->language->id ); $this->_html .= $R3A1E73211A105E82A8C89F8C8E3C8264->generateForm(array($RD05A28496998D5D330106BBAE629B948)); } public function getConfigFieldsValues() { $RBAAA917A11E347C49C3462A9383AE5BD = Configuration::getMultiple(array('AGILE_PAYPALPL_BUSINESS', 'AGILE_PAYPALPL_SANDBOX','AGILE_PAYPALPL_API_USERNAME','AGILE_PAYPALPL_API_PASSWORD','AGILE_PAYPALPL_API_SIGNATURE','AGILE_PAYPALPL_ADDRESS','AGILE_PAYPALPL_NOSHIPPING')); return $RDFF744BB7E0F066A8430E04506EB639B=array( 'business' => htmlentities(Tools::getValue('business', (array_key_exists('AGILE_PAYPALPL_BUSINESS', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_BUSINESS'] : '')), ENT_COMPAT, 'UTF-8'), 'sandbox' => Tools::getValue('sandbox', (array_key_exists('AGILE_PAYPALPL_SANDBOX', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_SANDBOX'] : '')), 'noshipping' => Tools::getValue('noshipping', (array_key_exists('AGILE_PAYPALPL_NOSHIPPING', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_NOSHIPPING'] : '')), 'address' => Tools::getValue('address', (array_key_exists('AGILE_PAYPALPL_ADDRESS', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_ADDRESS'] : '')), 'api_username' => Tools::getValue('api_username', (array_key_exists('AGILE_PAYPALPL_API_USERNAME', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_USERNAME'] : '')), 'api_password' => Tools::getValue('api_password', (array_key_exists('AGILE_PAYPALPL_API_PASSWORD', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_PASSWORD'] : '')), 'api_signature' => Tools::getValue('api_signature', (array_key_exists('AGILE_PAYPALPL_API_SIGNATURE', $RBAAA917A11E347C49C3462A9383AE5BD) ? $RBAAA917A11E347C49C3462A9383AE5BD['AGILE_PAYPALPL_API_SIGNATURE'] : '')), ); } public function hookDisplayHeader($RC2D2567438B1F39DD71F78195B5F3DED) { $this->context->controller->addCSS(_PS_ROOT_DIR_ . 'modules/agilepaypalparallel/css/agilepaypalparallel.css', 'all'); return false; } public function hookPaymentOptions($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active)return ; if(Module::isInstalled('agilemultipleseller')) { $RFA34F5AA68FB175F39407BC4D03FA3DD = (int)Configuration::get('AGILE_MS_PAYMENT_MODE'); if(!self::$PaymentCollectionMode[$RFA34F5AA68FB175F39407BC4D03FA3DD]) { return; } $RF8AB79CB3F4E21B6B6CB6A743C481B21 = AgileSellerManager::seller_payment_uses($RC2D2567438B1F39DD71F78195B5F3DED['cart']->id, $this->name); if($RFA34F5AA68FB175F39407BC4D03FA3DD != 3 && $RF8AB79CB3F4E21B6B6CB6A743C481B21 != 1) { return; } } $R92C67F06BAD30141429837B62F6A2767 = Context::getContext()->link->getModuleLink('agilepaypalparallel', 'redirect', array(), true); $this->context->smarty->assign(array( 'agilepayoalparallel_redirect_url' => $R92C67F06BAD30141429837B62F6A2767 )); $RE3D22EFC113F90A206DF71495BF5CCAF = new PaymentOption(); $RE3D22EFC113F90A206DF71495BF5CCAF->setCallToActionText($this->trans('Pay by Paypal(Parallel)', array(), 'Modules.AgilePaypalParallel.Shop')) ->setAction($this->context->link->getModuleLink($this->name, 'redirect', array(), true)) ->setAdditionalInformation($this->fetch('module:agilepaypalparallel/views/templates/hook/payment.tpl')); $R938977A33ABE8FD2318B4D1938916FA0 = [ $RE3D22EFC113F90A206DF71495BF5CCAF, ]; return $R938977A33ABE8FD2318B4D1938916FA0; } public function hookDisplayPaymentEU($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active) return; $R938977A33ABE8FD2318B4D1938916FA0 = array( 'cta_text' => $this->l('Pay by Agile Paypal Parallel'), 'logo' => Media::getMediaPath(dirname(__FILE__).'/img/agilepaypalparallel.png'), 'action' => $this->context->link->getModuleLink($this->name, 'reditect', array(), true) ); return $R938977A33ABE8FD2318B4D1938916FA0; } public function hookDisplayPaymentReturn($RC2D2567438B1F39DD71F78195B5F3DED) { if (!$this->active) return ; return $this->display(__FILE__, '/views/templates/front/confirmation.tpl'); } public function getL($RF413F06AEBBCEF5E1C8B1019DEE6FE6B) { $R64D53A42404E0084D759965821B9824E = array( 'Currency Error' => $this->l('Invalid currency restriction setting for this payment module'), 'Seller Payment Info' => $this->l('Invalid seller payment information'), 'redirect_text' =>$this->l('Please wait, redirecting to Paypal... Thanks.'), 'cancel_text' =>$this->l('Cancel'), 'error title' => $this->l('Some errors occurred while preparing the payment'), 'Payment amount error'=> $this->l('Payment amount error'), 'mc_gross' => $this->l('Paypal key \'mc_gross\' not specified, can\'t control amount paid.'), 'payment_status' => $this->l('Paypal key \'payment_status\' not specified, can\'t control payment validity'), 'mc_currency' => $this->l('Paypal key \'mc_currency\' not specified, currency unknown'), 'cart' => $this->l('Cart not found'), 'order' => $this->l('Order has already been placed'), 'transaction' => $this->l('Paypal Transaction ID: '), 'verified' => $this->l('The PayPal transaction could not be VERIFIED.'), 'connect' => $this->l('Problem connecting to the PayPal server.'), 'nomethod' => $this->l('No communications transport available.'), 'socketmethod' => $this->l('Verification failure (using fsockopen). Returned: '), 'curlmethod' => $this->l('Verification failure (using cURL). Returned: '), 'curlmethodfailed' => $this->l('Connection using cURL failed'), 'Please wait, redirecting to Paypal... Thanks.' => $this->l('Please wait, redirecting to Paypal... Thanks.'), 'Sorry, we do not ship to your country.' => $this->l('Sorry, we do not ship to your country.'), 'Cancel' => $this->l('Cancel'), 'Paypal error: (invalid or undefined business account email)' => $this->l('Paypal error: (invalid or undefined business account email)'), 'Paypal error: (invalid address or customer)' => $this->l('Paypal error: (invalid address or customer)'), 'Payment failed' => 'Payment failed, please contact store owner.', 'Seller payment email error' => $this->l('Seller payment email error: (Invalid or undefined seller business account email, please contact store administrator to correct it.)') ); return $R64D53A42404E0084D759965821B9824E[$RF413F06AEBBCEF5E1C8B1019DEE6FE6B]; } public function validateOrder($RF50CDD3F2AACFD3098534F1C052C25BE, $R58C4302894F48E8B96DCA49E94913761, $R6B4950513B552105C182A5C0BCA5DD87, $R80AB19B7D5C172F592843F8F29D4C8A2 = 'Unknown', $R157A6826A8BF1F36EBBE3DEC02351744 = NULL, $R6C814F60598DF94EC59E1793B925D1CB = array(), $R24BF50E0133D12E52620F5EA0A3DC353 = NULL, $R066CC1A9B859BBC5BEBEC00C275028F7 = false, $R1C9EAEF3B3A8C881E8210AAB82825DA8 = false, Shop $R7F0DA278AD542BC83DF932E4614E60C5 = null) { if (!$this->active) return ; parent::validateOrder($RF50CDD3F2AACFD3098534F1C052C25BE, $R58C4302894F48E8B96DCA49E94913761, $R6B4950513B552105C182A5C0BCA5DD87, $R80AB19B7D5C172F592843F8F29D4C8A2, $R157A6826A8BF1F36EBBE3DEC02351744, $R6C814F60598DF94EC59E1793B925D1CB, $R24BF50E0133D12E52620F5EA0A3DC353, $R066CC1A9B859BBC5BEBEC00C275028F7, $R1C9EAEF3B3A8C881E8210AAB82825DA8); } public function get_return_url() { if(version_compare(_PS_VERSION_, '1.5', '>=')) return Context::getContext()->link->getModuleLink('agilepaypalparallel', 'paymentreturn', array(), true); else return Tools::getShopDomainSsl(true,true) . __PS_BASE_URI__ . "modules/agilepaypalparallel/paymentreturn.php"; } public function get_pp_config() { $RDA59465C49B663D25A3EBB4BF89D35E5 = (int)Configuration::get("AGILE_PAYPALPL_SANDBOX"); return array( "mode" => ($RDA59465C49B663D25A3EBB4BF89D35E5 == 1 ? "sandbox" : "live"), "acct1.UserName" => Configuration::get("AGILE_PAYPALPL_API_USERNAME"), "acct1.Password" => Configuration::get("AGILE_PAYPALPL_API_PASSWORD"), "acct1.Signature" => Configuration::get("AGILE_PAYPALPL_API_SIGNATURE"), "http.ConnectionTimeOut" => "5000", "http.Retry" => "2", ); } public function handle_payment_exception(Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R38321F24EB957DCB8703259DE8D211B1 = $R5431C56219CE28A0520B9CF966FBE6CE->getMessage(); $R0DF2F6A3776B3FFF5847F20D2C151545 = get_class($R5431C56219CE28A0520B9CF966FBE6CE); $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R0EB1982D9BAA9716AC37A8F047D5800D[] = $R5431C56219CE28A0520B9CF966FBE6CE->getMessage(); if($R5431C56219CE28A0520B9CF966FBE6CE instanceof PayPal\Exception\PPConnectionException) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Error: Error connecting to " . $R5431C56219CE28A0520B9CF966FBE6CE->getUrl(); } else if($R5431C56219CE28A0520B9CF966FBE6CE instanceof PayPal\Exception\PPConfigurationException) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Invalid configuration. Please check your configuration file"; } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function handle_response_errors($R04DC9A31C8FE0CD27C4C4A1066AEFCD5) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(!isset($R04DC9A31C8FE0CD27C4C4A1066AEFCD5)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Unknow response error, payment failed'); } if($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Ack != 'Success') $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Payment process error, repsonse code:' . $R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Ack ); if(isset($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Errors)) { foreach($R04DC9A31C8FE0CD27C4C4A1066AEFCD5->Errors as $R1B33F70F787A1698E61F040B7ED037E5) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = "Code" . $R1B33F70F787A1698E61F040B7ED037E5->ErrorCode . " - " . $R1B33F70F787A1698E61F040B7ED037E5->ShortMessage . ":" . $R1B33F70F787A1698E61F040B7ED037E5->LongMessage; } } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $R20537495E25245610B35404DC0DACF1C = new Currency($this->context->cart->id_currency); if(!Validate::isLoadedObject($RF9F42DF316FBD92CB7F35D539398F40A) OR !Validate::isLoadedObject($R20537495E25245610B35404DC0DACF1C)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Currency Error'); } $RFE8BBB7DCBEA7F27C24E6B5009B9ED35 = $RF9F42DF316FBD92CB7F35D539398F40A->iso_code; $R70EBC679B0540EF4F29FBA398C611CB8 = 1; if($R20537495E25245610B35404DC0DACF1C->id != $RF9F42DF316FBD92CB7F35D539398F40A->id) $R70EBC679B0540EF4F29FBA398C611CB8 = $RF9F42DF316FBD92CB7F35D539398F40A->conversion_rate / $R20537495E25245610B35404DC0DACF1C->conversion_rate; $R66728EA03984F2F03C3BF2A2B650973F = $this->getPayments(); if(empty($R66728EA03984F2F03C3BF2A2B650973F)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Seller Payment Info'); } else { foreach($R66728EA03984F2F03C3BF2A2B650973F AS $R95909C49377A2B4F24C79D29C629AF65 => $R52FC1BA91D10F611E03D61C01C5F72EB) { if($R52FC1BA91D10F611E03D61C01C5F72EB['email'] == null OR strlen($R52FC1BA91D10F611E03D61C01C5F72EB['email']) <= 0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Seller payment email error'); } } } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D)) return array('Errors' => $R0EB1982D9BAA9716AC37A8F047D5800D, 'PaymentDetailsList' => array(), 'Txn' => null, 'TxnDetails' => array()); $R0EE2E5B94F315788565902BE4AB97F03 = Tools::ps_round($this->context->cart->getOrderTotal(true, Cart::BOTH) * $R70EBC679B0540EF4F29FBA398C611CB8,2); if($R0EE2E5B94F315788565902BE4AB97F03 <= 0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->getL('Payment amount error:' . $R0EE2E5B94F315788565902BE4AB97F03); } asort($R66728EA03984F2F03C3BF2A2B650973F); $R29EBEDB0124A02D2D836AB13B8399A57 = array(); $R9E9DB3BD4CF79145A46324858A119AAA = array(); $RD6195E373C772F0DB9C6AFFE5C72BA47 = 0; $R5B92E56774920499F4ADDD0EC782C83E = 0; foreach($R66728EA03984F2F03C3BF2A2B650973F AS $R95909C49377A2B4F24C79D29C629AF65 => $R52FC1BA91D10F611E03D61C01C5F72EB) { $R5DABA72C75A081D6CA3933A496740654 = new PayPal\EBLBaseComponents\SellerDetailsType(); $R5DABA72C75A081D6CA3933A496740654->PayPalAccountID = $R52FC1BA91D10F611E03D61C01C5F72EB['email']; $R5DABA72C75A081D6CA3933A496740654->SellerId = $R95909C49377A2B4F24C79D29C629AF65; $R5A6F8F305CBD5A2FF0252D8D65DE835A = new PayPal\EBLBaseComponents\PaymentDetailsType(); $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentAction = self::PAY_ACTION_SALE; $R5A6F8F305CBD5A2FF0252D8D65DE835A->ShipToAddress = $this->ToPaypalAddressType($RD5358894305A78D17E96704C3649FC98); $R5A6F8F305CBD5A2FF0252D8D65DE835A->InsuranceOptionOffered = false; $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentRequestID = $R95909C49377A2B4F24C79D29C629AF65 . ":" . $R52FC1BA91D10F611E03D61C01C5F72EB['email']; $R5A6F8F305CBD5A2FF0252D8D65DE835A->SellerDetails = $R5DABA72C75A081D6CA3933A496740654; $R68EAF33C4E51B47C7219F805B449C109 = Tools::ps_round($R52FC1BA91D10F611E03D61C01C5F72EB['amount'] * $R70EBC679B0540EF4F29FBA398C611CB8,2); if($R68EAF33C4E51B47C7219F805B449C109 <=0)continue; $RD6195E373C772F0DB9C6AFFE5C72BA47 += $R68EAF33C4E51B47C7219F805B449C109; if($R5B92E56774920499F4ADDD0EC782C83E == count($R66728EA03984F2F03C3BF2A2B650973F)-1) { $R87F2822770A55151A0C37A7D09E2B8D9 = $R0EE2E5B94F315788565902BE4AB97F03 - $RD6195E373C772F0DB9C6AFFE5C72BA47; if($R87F2822770A55151A0C37A7D09E2B8D9 != 0) $R68EAF33C4E51B47C7219F805B449C109 += $R87F2822770A55151A0C37A7D09E2B8D9; $R68EAF33C4E51B47C7219F805B449C109 = Tools::ps_round($R68EAF33C4E51B47C7219F805B449C109, 2); } $R5A6F8F305CBD5A2FF0252D8D65DE835A->OrderTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, $R68EAF33C4E51B47C7219F805B449C109); $R5A6F8F305CBD5A2FF0252D8D65DE835A->ItemTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, $R68EAF33C4E51B47C7219F805B449C109); $R5A6F8F305CBD5A2FF0252D8D65DE835A->ShippingTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, 0); $R5A6F8F305CBD5A2FF0252D8D65DE835A->InsuranceTotal = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, 0); $R840FA244ECF4B158DB67288963FE7169 = 0; $R0241BB4D701B4C0A9352A9A5AD13F7B7 = new PayPal\EBLBaseComponents\PaymentDetailsItemType(); $R0241BB4D701B4C0A9352A9A5AD13F7B7->Name = $this->l('Goods or Service'); $R0241BB4D701B4C0A9352A9A5AD13F7B7->Amount = new PayPal\CoreComponentTypes\BasicAmountType($RFE8BBB7DCBEA7F27C24E6B5009B9ED35, Tools::ps_round($R68EAF33C4E51B47C7219F805B449C109,2)); $R5A6F8F305CBD5A2FF0252D8D65DE835A->PaymentDetailsItem[$R840FA244ECF4B158DB67288963FE7169] = $R0241BB4D701B4C0A9352A9A5AD13F7B7; $R29EBEDB0124A02D2D836AB13B8399A57[$R5B92E56774920499F4ADDD0EC782C83E] = $R5A6F8F305CBD5A2FF0252D8D65DE835A; $R5B92E56774920499F4ADDD0EC782C83E++; } return array('Errors' => $R0EB1982D9BAA9716AC37A8F047D5800D, 'PaymentDetailsList' => $R29EBEDB0124A02D2D836AB13B8399A57); } public function create_payment_txn_data($R8307C477DDEF19349C8224C62F42AE78, $RE80E7E277859162E1FD60605013ACDD5, $R5D8E95289BF25691AFBFC745FD98DE78) { $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $R0EE2E5B94F315788565902BE4AB97F03 = 0; foreach($R8307C477DDEF19349C8224C62F42AE78 as $R649A2B822F95D2157CCC0B95A2872028) { $R95909C49377A2B4F24C79D29C629AF65 = $R649A2B822F95D2157CCC0B95A2872028->SellerDetails->SellerId; $RDADBDE6DA00922BBCB7461BF44AC8F34 = AgilePaypalParallelTxnDetail::getTxnDetailIDByCartSellerId($this->context->cart->id, $R95909C49377A2B4F24C79D29C629AF65); $R0A6D814D2B0D7584B066ED474359EB6A = new AgilePaypalParallelTxnDetail($RDADBDE6DA00922BBCB7461BF44AC8F34); $R0A6D814D2B0D7584B066ED474359EB6A->id_seller = $R95909C49377A2B4F24C79D29C629AF65; $R0A6D814D2B0D7584B066ED474359EB6A->id_cart = $this->context->cart->id; $R0A6D814D2B0D7584B066ED474359EB6A->id_currency = $RF9F42DF316FBD92CB7F35D539398F40A->id; $R0A6D814D2B0D7584B066ED474359EB6A->receiver_email = $R649A2B822F95D2157CCC0B95A2872028->SellerDetails->PayPalAccountID; $R0A6D814D2B0D7584B066ED474359EB6A->is_primary = ($R95909C49377A2B4F24C79D29C629AF65 == 0 ? 1 : 0); $R0A6D814D2B0D7584B066ED474359EB6A->amount = $R649A2B822F95D2157CCC0B95A2872028->OrderTotal->value; $R0A6D814D2B0D7584B066ED474359EB6A->status = 'INIT'; $R0A6D814D2B0D7584B066ED474359EB6A->date_add = date('Y-m-d H:i:s'); $R0A6D814D2B0D7584B066ED474359EB6A->date_upd = $R0A6D814D2B0D7584B066ED474359EB6A->date_add; $R0A6D814D2B0D7584B066ED474359EB6A->record_type = $RE80E7E277859162E1FD60605013ACDD5; $R0A6D814D2B0D7584B066ED474359EB6A->paykey = $R5D8E95289BF25691AFBFC745FD98DE78; $R0A6D814D2B0D7584B066ED474359EB6A->save(); $R0EE2E5B94F315788565902BE4AB97F03 += $R0A6D814D2B0D7584B066ED474359EB6A->amount; } $RC0B91C945F317007CE0174BAC72E4286 = AgilePaypalParallelTxn::getTxnByCartId($this->context->cart->id); $R1FECDBE9D501D58782B557793BE3540C = new AgilePaypalParallelTxn($RC0B91C945F317007CE0174BAC72E4286); $R1FECDBE9D501D58782B557793BE3540C->id_cart = $this->context->cart->id; $R1FECDBE9D501D58782B557793BE3540C->id_order = 0; $R1FECDBE9D501D58782B557793BE3540C->payer_email = ''; $R1FECDBE9D501D58782B557793BE3540C->status = 'INIT'; $R1FECDBE9D501D58782B557793BE3540C->paymode = Configuration::get('AGILE_MS_PAYMENT_MODE'); $R1FECDBE9D501D58782B557793BE3540C->id_currency = $RF9F42DF316FBD92CB7F35D539398F40A->id; $R1FECDBE9D501D58782B557793BE3540C->date_add = date('Y-m-d H:i:s'); $R1FECDBE9D501D58782B557793BE3540C->date_upd = $R1FECDBE9D501D58782B557793BE3540C->date_add ; $R1FECDBE9D501D58782B557793BE3540C->amount = $R0EE2E5B94F315788565902BE4AB97F03; $R1FECDBE9D501D58782B557793BE3540C->paykey = $R5D8E95289BF25691AFBFC745FD98DE78; $R1FECDBE9D501D58782B557793BE3540C->save(); } public function process_payments() { global $paykey; if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R0CD215FF6A25E893125B761431830E1F = Configuration::get('AGILE_PAYPALAD_BUSINESS'); $R832073F8852D50E01E8499D01D6E06B7 = Tools::getHttpHost(true, true). __PS_BASE_URI__; $REAB584130A980E541B44047E8875CED3 = $this->get_return_url(); $R8A55C5948336F941C424DA53C0510D68 = Context::getContext()->link->getPageLink('order'); $REB4D40D367AD11F14294BDB7ADEDD9B7 = new PayPal\EBLBaseComponents\SetExpressCheckoutRequestDetailsType(); $REB4D40D367AD11F14294BDB7ADEDD9B7->CancelURL = $R8A55C5948336F941C424DA53C0510D68; $REB4D40D367AD11F14294BDB7ADEDD9B7->ReturnURL = $REAB584130A980E541B44047E8875CED3; $REB4D40D367AD11F14294BDB7ADEDD9B7->LandingPage = "Billing"; $REB4D40D367AD11F14294BDB7ADEDD9B7->SolutionType = "Sole"; $REB4D40D367AD11F14294BDB7ADEDD9B7->NoShipping = (int)Configuration::get('AGILE_PAYPALPL_NOSHIPPING'); $REB4D40D367AD11F14294BDB7ADEDD9B7->BuyerEmail = $this->context->cookie->email; $REB4D40D367AD11F14294BDB7ADEDD9B7->BrandName = Configuration::get('PS_SHOP_NAME'); $RD5358894305A78D17E96704C3649FC98 = new Address(Configuration::get('AGILE_PAYPALPL_ADDRESS') ? $this->context->cart->id_address_delivery : $this->context->cart->id_address_invoice); $RD5D8F70E90FCD7F6429DEDAE71E78CE7 = new Country($RD5358894305A78D17E96704C3649FC98->id_country); if(Validate::isLoadedObject($RD5D8F70E90FCD7F6429DEDAE71E78CE7)) { $REB4D40D367AD11F14294BDB7ADEDD9B7->LocaleCode = isset(self::$LOCALECODE[$RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code])?self::$LOCALECODE[$RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code]:'US'; } $RE80E7E277859162E1FD60605013ACDD5 = intval(Configuration::get('AGILE_MS_PAYMENT_MODE')); $R679E9B9234E2062F809DBD3325D37FB6 = $this->prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98); if(!empty($R679E9B9234E2062F809DBD3325D37FB6['Errors']))return $R679E9B9234E2062F809DBD3325D37FB6['Errors']; $REB4D40D367AD11F14294BDB7ADEDD9B7->PaymentDetails = $R679E9B9234E2062F809DBD3325D37FB6['PaymentDetailsList']; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R15D5A7B89A03F0E514D529F52518BF13 = new PayPal\PayPalAPI\SetExpressCheckoutRequestType(); $R15D5A7B89A03F0E514D529F52518BF13->SetExpressCheckoutRequestDetails = $REB4D40D367AD11F14294BDB7ADEDD9B7; $R11FF3A04F3CDB7D9433FABC09F14B0E7 = new PayPal\PayPalAPI\SetExpressCheckoutReq(); $R11FF3A04F3CDB7D9433FABC09F14B0E7->SetExpressCheckoutRequest = $R15D5A7B89A03F0E514D529F52518BF13; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $R65525406ADBC01D7FEB4B44CA541EE4A = $R8E32F1FC0982A8E875BE417712B3B6B0->SetExpressCheckout($R11FF3A04F3CDB7D9433FABC09F14B0E7); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($R65525406ADBC01D7FEB4B44CA541EE4A)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $paykey = $R65525406ADBC01D7FEB4B44CA541EE4A->Token; $this->create_payment_txn_data($REB4D40D367AD11F14294BDB7ADEDD9B7->PaymentDetails,$RE80E7E277859162E1FD60605013ACDD5, $R65525406ADBC01D7FEB4B44CA541EE4A->Token); return $R0EB1982D9BAA9716AC37A8F047D5800D; } private function getPayments() { $R66728EA03984F2F03C3BF2A2B650973F = array(); if(Module::isInstalled('agilemultipleseller')) { $R66728EA03984F2F03C3BF2A2B650973F = AgileMultipleseller::get_payment_info_from_cart(); } else { $R66728EA03984F2F03C3BF2A2B650973F[0] = array( 'email' => Configuration::get('AGILE_PAYPALPL_BUSINESS'), 'amount' => $this->context->cart->getOrderTotal(), 'commission' => 0, ); } foreach($R66728EA03984F2F03C3BF2A2B650973F as $R95909C49377A2B4F24C79D29C629AF65 => $RB60574D852CEEC26638BCD30B5ED74D6) { if($R95909C49377A2B4F24C79D29C629AF65 ==0)$RB60574D852CEEC26638BCD30B5ED74D6['email'] = Configuration::get('AGILE_PAYPALPL_BUSINESS'); else { include_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/AgileSellerPaymentInfo.php"); $R602BAA072843820A45861C75C510C77E = AgileSellerPaymentInfo::getForSellerByModuleName($this->name, $R95909C49377A2B4F24C79D29C629AF65); $RB60574D852CEEC26638BCD30B5ED74D6['email'] = $R602BAA072843820A45861C75C510C77E->info1; } $R66728EA03984F2F03C3BF2A2B650973F[$R95909C49377A2B4F24C79D29C629AF65] = $RB60574D852CEEC26638BCD30B5ED74D6; } return $R66728EA03984F2F03C3BF2A2B650973F; } public function process_return() { global $paykey, $payerID; $paykey = $_GET['token']; $payerID = $_GET['PayerID']; $R41718C5BEC3C5571414B13A5B401195C = $this->excute_payment(); if(count($R41718C5BEC3C5571414B13A5B401195C)<=0) { $R4117BD9C2FBBD57A0591E55A5204FD0B = new Customer((int)$this->context->cart->id_customer); Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->id.'&key='.$R4117BD9C2FBBD57A0591E55A5204FD0B->secure_key); } $this->context->smarty->assign(array( 'subcartPaymentInfo'=> "", 'payment_errors' => $R41718C5BEC3C5571414B13A5B401195C, 'paykey' => $paykey, 'payerID' => $payerID, 'returnurl' => $this->get_return_url(), )); } public function excute_payment() { global $paykey, $payerID; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RC9540F29C340518F82CD88D7F6F84230 = new PayPal\PayPalAPI\GetExpressCheckoutDetailsRequestType($paykey); $REC135008FCE56BED409AD32BF4720F17 = new PayPal\PayPalAPI\GetExpressCheckoutDetailsReq(); $REC135008FCE56BED409AD32BF4720F17->GetExpressCheckoutDetailsRequest = $RC9540F29C340518F82CD88D7F6F84230; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $RBD4E8980A7C2E6D6020BA3425EAFCD29 = $R8E32F1FC0982A8E875BE417712B3B6B0->GetExpressCheckoutDetails($REC135008FCE56BED409AD32BF4720F17); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($RBD4E8980A7C2E6D6020BA3425EAFCD29)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R5D8E95289BF25691AFBFC745FD98DE78 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->Token; if($R5D8E95289BF25691AFBFC745FD98DE78 != $paykey) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Payment respone token does not macth'; } $R2F3385541ED9D7780EEBAC009553C5A0 = intval(AgilePaypalParallelTxn::getTxnByPaykey($paykey)); if(!$R2F3385541ED9D7780EEBAC009553C5A0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Transaction not found in database'; } $R341F687588614D0F0E13E41A0F9E5D77 = new AgilePaypalParallelTxn($R2F3385541ED9D7780EEBAC009553C5A0); if(!Validate::isLoadedObject($R341F687588614D0F0E13E41A0F9E5D77)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Failed to load transaction from database'; } $RC6A4561BC5C331A897DC6C69E6FDB0F8 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->PaymentDetails[0]->OrderTotal->currencyID; $currency = new Currency($R341F687588614D0F0E13E41A0F9E5D77->id_currency); if($currency->iso_code != $RC6A4561BC5C331A897DC6C69E6FDB0F8) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Currency code does not match:' . $currency->iso_code . ' - '. $RC6A4561BC5C331A897DC6C69E6FDB0F8; } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D)) return $R0EB1982D9BAA9716AC37A8F047D5800D; $R10FDBD24A70FCA71CCDC64003BD205C0 = $RBD4E8980A7C2E6D6020BA3425EAFCD29->GetExpressCheckoutDetailsResponseDetails->PayerInfo->Payer; return $this->do_express_checkout_payment($R10FDBD24A70FCA71CCDC64003BD205C0); } function do_express_checkout_payment($R10FDBD24A70FCA71CCDC64003BD205C0) { global $paykey, $payerID; if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $RD5358894305A78D17E96704C3649FC98 = new Address(Configuration::get('AGILE_PAYPALPL_ADDRESS') ? $this->context->cart->id_address_delivery : $this->context->cart->id_address_invoice); $RE80E7E277859162E1FD60605013ACDD5 = intval(Configuration::get('AGILE_MS_PAYMENT_MODE')); $R679E9B9234E2062F809DBD3325D37FB6 = $this->prepare_paypal_payments($RE80E7E277859162E1FD60605013ACDD5, $RD5358894305A78D17E96704C3649FC98); if(!empty($R679E9B9234E2062F809DBD3325D37FB6['Errors']))return $R679E9B9234E2062F809DBD3325D37FB6['Errors']; $R9CA5D7DFCC301B21040D1A334F485DA8 = new PayPal\EBLBaseComponents\DoExpressCheckoutPaymentRequestDetailsType(); $R9CA5D7DFCC301B21040D1A334F485DA8->PayerID = $payerID; $R9CA5D7DFCC301B21040D1A334F485DA8->Token = $paykey; $R9CA5D7DFCC301B21040D1A334F485DA8->PaymentAction = self::PAY_ACTION_SALE; $R9CA5D7DFCC301B21040D1A334F485DA8->PaymentDetails = $R679E9B9234E2062F809DBD3325D37FB6['PaymentDetailsList']; $R4F7BF15B58996B0D9D859FE35E27D3DD = new PayPal\PayPalAPI\DoExpressCheckoutPaymentRequestType(); $R4F7BF15B58996B0D9D859FE35E27D3DD->DoExpressCheckoutPaymentRequestDetails = $R9CA5D7DFCC301B21040D1A334F485DA8; $R2894F2E785E4DC3B3E27A5E2602CC024 = new PayPal\PayPalAPI\DoExpressCheckoutPaymentReq(); $R2894F2E785E4DC3B3E27A5E2602CC024->DoExpressCheckoutPaymentRequest = $R4F7BF15B58996B0D9D859FE35E27D3DD; $R8E32F1FC0982A8E875BE417712B3B6B0 = new PayPal\Service\PayPalAPIInterfaceServiceService($this->get_pp_config()); try { $R2BA063DD6820A896820C0231C2B654B9 = $R8E32F1FC0982A8E875BE417712B3B6B0->DoExpressCheckoutPayment($R2894F2E785E4DC3B3E27A5E2602CC024); } catch (Exception $R5431C56219CE28A0520B9CF966FBE6CE) { $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_payment_exception($R5431C56219CE28A0520B9CF966FBE6CE)); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->handle_response_errors($R2BA063DD6820A896820C0231C2B654B9)); if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->update_apatxndetail_data($paykey,$R2BA063DD6820A896820C0231C2B654B9)); $R0EB1982D9BAA9716AC37A8F047D5800D = array_merge($R0EB1982D9BAA9716AC37A8F047D5800D, $this->update_apatxn_data($paykey,$R2BA063DD6820A896820C0231C2B654B9,$R10FDBD24A70FCA71CCDC64003BD205C0)); if($R2BA063DD6820A896820C0231C2B654B9->Ack == "Success")return array(); return $R0EB1982D9BAA9716AC37A8F047D5800D; } private function getSellerProductsTotalInCart($R95909C49377A2B4F24C79D29C629AF65) { if(!(int)$R95909C49377A2B4F24C79D29C629AF65)return 0; $R638BA27D108BC4C1454465A4728E8C56 = 0; foreach ($this->context->cart->getProducts() AS $RF413F06AEBBCEF5E1C8B1019DEE6FE6B => $RB3F07F8C3658A835940E88288B58F707) { $R638BA27D108BC4C1454465A4728E8C56 += $RB3F07F8C3658A835940E88288B58F707['total_wt']; } return $R638BA27D108BC4C1454465A4728E8C56; } function update_apatxndetail_data($paykey, $RD7BB7B7BC02A538AFE739B4DB4C1B23E) { global $payerID; $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(empty($paykey) OR empty($RD7BB7B7BC02A538AFE739B4DB4C1B23E)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Invalid payment data'; } if(Module::isInstalled('agilemultipleseller')) require_once(_PS_ROOT_DIR_ . "/modules/agilemultipleseller/agilemultipleseller.php"); $R66728EA03984F2F03C3BF2A2B650973F = $RD7BB7B7BC02A538AFE739B4DB4C1B23E->DoExpressCheckoutPaymentResponseDetails->PaymentInfo; $RF9F42DF316FBD92CB7F35D539398F40A = $this->getCurrency(); $RFE8BBB7DCBEA7F27C24E6B5009B9ED35 = $RF9F42DF316FBD92CB7F35D539398F40A->iso_code; $R5B92E56774920499F4ADDD0EC782C83E = 0; $R7508B0AA1C07D8143C4A25F8FBDDD242 = count($R66728EA03984F2F03C3BF2A2B650973F); foreach($R66728EA03984F2F03C3BF2A2B650973F as $RB60574D852CEEC26638BCD30B5ED74D6) { $R6585241A0D607DC941644ACB2BC4A0BF = $RB60574D852CEEC26638BCD30B5ED74D6->TransactionID; $R3DD21CF6FB5668CDFEDE5737874F35DB = $RB60574D852CEEC26638BCD30B5ED74D6->PaymentStatus; $RBD82866B17A3A09865E479224369ADE7 = $RB60574D852CEEC26638BCD30B5ED74D6->SellerDetails->PayPalAccountID; $R68EAF33C4E51B47C7219F805B449C109 = $RB60574D852CEEC26638BCD30B5ED74D6->GrossAmount->value ; if(empty($R6585241A0D607DC941644ACB2BC4A0BF) AND empty($RBD82866B17A3A09865E479224369ADE7))continue; if(empty($R6585241A0D607DC941644ACB2BC4A0BF) OR empty($RBD82866B17A3A09865E479224369ADE7)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = 'Invalid payment details data'; } $R444DB6B5D83A390ADCE1454EF85934CE = 0; $R68AB962A99F673193B3E8F2F6609C83C = 0; $R81E9E9BF8DCA44EFFB6452641D4ADEE8 = new AgilePaypalParallelTxnDetail(AgilePaypalParallelTxnDetail::getTxnDetailIDPaykeyEmail($paykey, $RBD82866B17A3A09865E479224369ADE7)); if(!Validate::isLoadedObject($R81E9E9BF8DCA44EFFB6452641D4ADEE8)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('No matchd payment details record in database'); } if($R68EAF33C4E51B47C7219F805B449C109 != $R81E9E9BF8DCA44EFFB6452641D4ADEE8->amount) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Seller amount does not math between Paypal and DB'); } $R81E9E9BF8DCA44EFFB6452641D4ADEE8->status = $R3DD21CF6FB5668CDFEDE5737874F35DB; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->paypal_txnid = $R6585241A0D607DC941644ACB2BC4A0BF; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->date_upd = date('Y-m-d H:i:s'); $R81E9E9BF8DCA44EFFB6452641D4ADEE8->remark = 'refunded amount:' . $R444DB6B5D83A390ADCE1454EF85934CE . ' pendingRefund:' . $R68AB962A99F673193B3E8F2F6609C83C; $R81E9E9BF8DCA44EFFB6452641D4ADEE8->save(); } return $R0EB1982D9BAA9716AC37A8F047D5800D; } function update_apatxn_data($paykey, $RD7BB7B7BC02A538AFE739B4DB4C1B23E, $R10FDBD24A70FCA71CCDC64003BD205C0) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); $R01787CB5A57D47DC8A648998E4A6512C = new AgilePaypalParallel(); $R2F3385541ED9D7780EEBAC009553C5A0 = intval(AgilePaypalParallelTxn::getTxnByPaykey($paykey)); if(!$R2F3385541ED9D7780EEBAC009553C5A0) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Transaction not found in database'); } $R341F687588614D0F0E13E41A0F9E5D77 = new AgilePaypalParallelTxn($R2F3385541ED9D7780EEBAC009553C5A0); if(!Validate::isLoadedObject($R341F687588614D0F0E13E41A0F9E5D77)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Failed to load transaction from database'); } if(!empty($R0EB1982D9BAA9716AC37A8F047D5800D))return $R0EB1982D9BAA9716AC37A8F047D5800D; $R0CB3095F452A6CBFB1A722A2625DA572 = $RD7BB7B7BC02A538AFE739B4DB4C1B23E->Ack; $R341F687588614D0F0E13E41A0F9E5D77->payer_email = $R10FDBD24A70FCA71CCDC64003BD205C0; $R341F687588614D0F0E13E41A0F9E5D77->status = $R0CB3095F452A6CBFB1A722A2625DA572; $R341F687588614D0F0E13E41A0F9E5D77->date_upd = date('Y-m-d H:i:s'); $R341F687588614D0F0E13E41A0F9E5D77->save(); if($R0CB3095F452A6CBFB1A722A2625DA572 == 'Success') { $RF9AA09C4492B9A9D072FC9F115B8C9AE = new Cart($R341F687588614D0F0E13E41A0F9E5D77->id_cart); if(!Validate::isLoadedObject($RF9AA09C4492B9A9D072FC9F115B8C9AE)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Failed to load shopping cart informaiton from database'); } $R58C4302894F48E8B96DCA49E94913761 = _PS_OS_PAYMENT_; $R5EB1A3200398D1932330BB7151DD7350 = $R341F687588614D0F0E13E41A0F9E5D77->amount; if($RF9AA09C4492B9A9D072FC9F115B8C9AE->id_currency != $R341F687588614D0F0E13E41A0F9E5D77->id_currency) { $R4134EDD3A0175AD7DEC3D09AD5B0C9A0 = new Currency($RF9AA09C4492B9A9D072FC9F115B8C9AE->id_currency); $R4DB5D6B324E8EE879F9CE66DB25D36BF = new Currency($R341F687588614D0F0E13E41A0F9E5D77->id_currency); if(!Validate::isLoadedObject($R4134EDD3A0175AD7DEC3D09AD5B0C9A0) OR !Validate::isLoadedObject($R4DB5D6B324E8EE879F9CE66DB25D36BF)) { $R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Currency error: currency informaiton not found.'); } $R5EB1A3200398D1932330BB7151DD7350 = Tools::ps_round($R341F687588614D0F0E13E41A0F9E5D77->amount * $R4134EDD3A0175AD7DEC3D09AD5B0C9A0->conversion_rate / $R4DB5D6B324E8EE879F9CE66DB25D36BF->conversion_rate,2); } $R01787CB5A57D47DC8A648998E4A6512C->validateOrder($R341F687588614D0F0E13E41A0F9E5D77->id_cart, $R58C4302894F48E8B96DCA49E94913761, $R5EB1A3200398D1932330BB7151DD7350, $R01787CB5A57D47DC8A648998E4A6512C->displayName, $paykey, array('transaction_id' => $paykey), NULL, false, $RF9AA09C4492B9A9D072FC9F115B8C9AE->secure_key); if($R01787CB5A57D47DC8A648998E4A6512C->currentOrder>0) { $R341F687588614D0F0E13E41A0F9E5D77->id_order = $R01787CB5A57D47DC8A648998E4A6512C->currentOrder; $R341F687588614D0F0E13E41A0F9E5D77->save(); if(Module::isInstalled('agilesellercommission')) SellerCommission::updateRecordType($R01787CB5A57D47DC8A648998E4A6512C->currentOrder, $R341F687588614D0F0E13E41A0F9E5D77->paymode, $R341F687588614D0F0E13E41A0F9E5D77->paykey); } } return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function updateTxnDetailCartID($paykey, $RDE6D1531493DFC39BA2B390CA5A01256, $RF50CDD3F2AACFD3098534F1C052C25BE) { if(!Module::isInstalled('agilemultipleseller'))return; $R95909C49377A2B4F24C79D29C629AF65 = AgileSellerManager::getObjectOwnerID('order', $RDE6D1531493DFC39BA2B390CA5A01256); $R130D64A4AD653C91E0FD80DE8FEADC3A = "UPDATE " . _DB_PREFIX_ . "agilepaypalparallel_txndetail SET id_cart=" . (int)$RF50CDD3F2AACFD3098534F1C052C25BE . " WHERE id_seller=" . (int)$R95909C49377A2B4F24C79D29C629AF65 . " AND paykey='" . $paykey . "'"; Db::getInstance()->Execute($R130D64A4AD653C91E0FD80DE8FEADC3A); } public function hookActionAgilePaymentModuleIntegrate($RC2D2567438B1F39DD71F78195B5F3DED) { return array( 'name' => $this->name, 'desc' => $this->displayName, 'mode' => self::$PaymentCollectionMode, 'elinks' => array(), 'info1' => array('label' => $this->l('Paypal Email Address'), 'is_unique'=>1), 'info2' => array('label' => 'N/A','is_unique'=>0), 'info3' => array('label' => 'N/A','is_unique'=>0), 'info4' => array('label' => 'N/A','is_unique'=>0), 'info5' => array('label' => 'N/A','is_unique'=>0), 'info6' => array('label' => 'N/A','is_unique'=>0), 'info7' => array('label' => 'N/A','is_unique'=>0), 'info8' => array('label' => 'N/A','is_unique'=>0), ); } public function validatePaymentInfoFields($R9064F5F2E50522D4A4419AF4D6D76216) { $R0EB1982D9BAA9716AC37A8F047D5800D = array(); if(empty($R9064F5F2E50522D4A4419AF4D6D76216))$R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->l('Invalid payment information'); $RFAECAE92DBBE2B39FCCDE6B0C72B6B76 = (is_array($R9064F5F2E50522D4A4419AF4D6D76216) ? $R9064F5F2E50522D4A4419AF4D6D76216['info1'] : $R9064F5F2E50522D4A4419AF4D6D76216->info1); if(!Validate::isEmail($RFAECAE92DBBE2B39FCCDE6B0C72B6B76))$R0EB1982D9BAA9716AC37A8F047D5800D[] = $this->name . ":" . $this->l('Paypl Email Address') . $this->l(' is invalid.'); return $R0EB1982D9BAA9716AC37A8F047D5800D; } public function ToPaypalAddressType($RECB2521BEFB2440F1B0CA68C6FF528E6) { $RD5358894305A78D17E96704C3649FC98 = new PayPal\EBLBaseComponents\AddressType(); $R901A6B96DBC8033F4D411C6E0FB53113 = new State((int)$RECB2521BEFB2440F1B0CA68C6FF528E6->id_state); $RD5D8F70E90FCD7F6429DEDAE71E78CE7 = new Country((int)$RECB2521BEFB2440F1B0CA68C6FF528E6->id_country); $RD5358894305A78D17E96704C3649FC98->CityName = $RECB2521BEFB2440F1B0CA68C6FF528E6->city; $RD5358894305A78D17E96704C3649FC98->Name = $RECB2521BEFB2440F1B0CA68C6FF528E6->firstname . ' ' . $RECB2521BEFB2440F1B0CA68C6FF528E6->lastname; $RD5358894305A78D17E96704C3649FC98->Street1 = $RECB2521BEFB2440F1B0CA68C6FF528E6->address1; $RD5358894305A78D17E96704C3649FC98->Street2 = $RECB2521BEFB2440F1B0CA68C6FF528E6->address2; $RD5358894305A78D17E96704C3649FC98->StateOrProvince = $R901A6B96DBC8033F4D411C6E0FB53113->name; $RD5358894305A78D17E96704C3649FC98->PostalCode = $RECB2521BEFB2440F1B0CA68C6FF528E6->postcode; $RD5358894305A78D17E96704C3649FC98->Country = $RD5D8F70E90FCD7F6429DEDAE71E78CE7->iso_code; $RD5358894305A78D17E96704C3649FC98->Phone = ((isset($RD5358894305A78D17E96704C3649FC98->phone) && !empty($RD5358894305A78D17E96704C3649FC98->phone)) ? $RECB2521BEFB2440F1B0CA68C6FF528E6->phone : $RECB2521BEFB2440F1B0CA68C6FF528E6->phone_mobile); return $RD5358894305A78D17E96704C3649FC98; } }
Function Calls
| None |
Stats
| MD5 | 439c8a068c0c2e1cbe89ce3c538384b2 |
| Eval Count | 0 |
| Decode Time | 190 ms |