public function PayPaypal() { if (!isset($this->data['type'])) { $this->msg = Yii::t("default", "Payment type is required"); return; } $package_id = isset($this->data['package_id']) ? $this->data['package_id'] : ''; if ($this->data['type'] == "purchaseSMScredit") { $paypal_con = Yii::app()->functions->getPaypalConnectionAdmin(); $paypal = new Paypal($paypal_con); if ($res_paypal = $paypal->getExpressDetail()) { $paypal->params['PAYERID'] = $res_paypal['PAYERID']; $paypal->params['AMT'] = $res_paypal['AMT']; $paypal->params['TOKEN'] = $res_paypal['TOKEN']; $paypal->params['CURRENCYCODE'] = $res_paypal['CURRENCYCODE']; if ($res = $paypal->expressCheckout()) { $info = Yii::app()->functions->getSMSPackagesById($package_id); $payment_code = Yii::app()->functions->paymentCode("paypal"); $params = array('merchant_id' => Yii::app()->functions->getMerchantID(), 'sms_package_id' => $package_id, 'payment_type' => $payment_code, 'package_price' => $res_paypal['AMT'], 'sms_limit' => $info['sms_limit'], 'date_created' => date('c'), 'ip_address' => $_SERVER['REMOTE_ADDR'], 'payment_gateway_response' => json_encode($res), 'status' => "paid"); if ($this->insertData("{{sms_package_trans}}", $params)) { $this->details = Yii::app()->request->baseUrl . "/merchant/smsReceipt/id/" . Yii::app()->db->getLastInsertID(); $this->code = 1; $this->msg = Yii::t("default", "Successful"); } else { $this->msg = Yii::t("default", "ERROR: Cannot insert record."); } } else { $this->msg = $paypal->getError(); } } else { $this->msg = $paypal->getError(); } } /*end purchaseSMS*/ }
</div><!-- receipt-main-wrap--> <?php } } else { echo "<p class=\"uk-text-danger\">" . Yii::t("default", "ERROR: Cannot get order details.") . "</p>"; } ?> <?php } else { ?> <p class="uk-text-danger"><?php echo Yii::t("default", "ERROR: Under ID not found."); ?> </p> <?php } ?> <?php } else { ?> <p class="uk-text-danger"><?php echo $paypal->getError(); ?> </p> <?php } ?> </div> <!--main--> </div> <!--page-->
<?php $continue = true; $msg = ""; if ($merchant = Yii::app()->functions->getMerchantByToken($_GET['internal-token'])) { } else { $continue = false; $msg = Yii::t("default", 'Sorry but we cannot find what you are looking for.'); } $paypal_con = Yii::app()->functions->getPaypalConnectionAdmin(); $paypal = new Paypal($paypal_con); if ($res_paypal = $paypal->getExpressDetail()) { } else { $continue = false; $msg = "Paypay Error: " . $paypal->getError(); } ?> <div class="page merchant-payment-option"> <div class="main"> <div class="inner"> <div class="spacer"></div> <?php if ($continue == TRUE) { ?> <h3><?php echo Yii::t("default", "Paypal Verification"); ?> </h3> <form class="uk-form uk-form-horizontal forms" id="forms" onsubmit="return false;">
public function actionProcessPayout() { $db_ext = new DbExt(); $paypal_client_id = yii::app()->functions->getOptionAdmin('wd_paypal_client_id'); $paypal_client_secret = yii::app()->functions->getOptionAdmin('wd_paypal_client_secret'); $paypal_config = Yii::app()->functions->getPaypalConnectionWithdrawal(); dump($paypal_config); $Paypal = new Paypal($paypal_config); $Paypal->debug = true; $website_title = yii::app()->functions->getOptionAdmin('website_title'); $cron = new CronFunctions(); if ($res = $cron->getPayoutToProcess()) { if (is_array($res) && count($res) >= 1) { foreach ($res as $val) { $withdrawal_id = $val['withdrawal_id']; $api_raw_response = ''; $status_msg = ''; dump($val); switch ($val['payment_method']) { case "paypal": dump("Process paypal"); //if (!empty($paypal_client_id) && !empty($paypal_client_secret)){ if (is_array($paypal_config) && count($paypal_config) >= 1) { if ($val['account'] != "") { $Paypal->params['RECEIVERTYPE'] = "EmailAddress"; $Paypal->params['CURRENCYCODE'] = "USD"; $Paypal->params['EMAILSUBJECT'] = "=You have a payment from " . $website_title; $Paypal->params['L_EMAIL0'] = $val['account']; $Paypal->params['L_AMT0'] = normalPrettyPrice($val['amount']); $Paypal->params['L_UNIQUEID0'] = str_pad($val['withdrawal_id'], 10, "0"); if ($pay_resp = $Paypal->payout()) { dump($pay_resp); if ($pay_resp['ACK'] == "Success") { $status_msg = 'paid'; $api_raw_response = json_encode($pay_resp); } else { $api_raw_response = json_encode($pay_resp); $status_msg = $pay_resp['L_LONGMESSAGE0']; } } else { $status_msg = $Paypal->getError(); } } else { $status_msg = t("Paypal account is empty"); } } else { $status_msg = t("Payout settings for paypal not yet set"); } break; case "bank": $status_msg = 'paid'; break; } echo "<h3>Update status</h3>"; dump($api_raw_response); dump($status_msg); $params_update = array('date_process' => date('c'), 'api_raw_response' => $api_raw_response, 'status' => $status_msg); dump($params_update); if ($db_ext->updateData("{{withdrawal}}", $params_update, 'withdrawal_id', $withdrawal_id)) { echo "<h2>Update ok</h2>"; } else { echo "<h2>Update Failed</h2>"; } if ($status_msg == "paid") { // send email $subject = yii::app()->functions->getOptionAdmin('wd_template_process_subject'); if (empty($subject)) { $subject = t("Your Request for Withdrawal has been Processed"); } if ($merchant_info = Yii::app()->functions->getMerchant($val['merchant_id'])) { $merchant_email = $merchant_info['contact_email']; $tpl = yii::app()->functions->getOptionAdmin('wd_template_process'); $tpl = smarty("merchant-name", $merchant_info['restaurant_name'], $tpl); $tpl = smarty("payout-amount", standardPrettyFormat($val['amount']), $tpl); $tpl = smarty("payment-method", $val['payment_method'], $tpl); $tpl = smarty("acoount", $val['account'], $tpl); dump($tpl); if (!empty($tpl)) { sendEmail($merchant_email, '', $subject, $tpl); } } } } } } else { dump("No record to process"); } }
/*dump($params); die();*/ $paypal = new Paypal($paypal_con); $paypal->params = $params; $paypal->debug = false; if ($resp = $paypal->setExpressCheckout()) { $insert['token'] = $resp['token']; $insert['order_id'] = isIsset($_GET['id']); $insert['date_created'] = date('c'); $insert['ip_address'] = $_SERVER['REMOTE_PORT']; $insert['paypal_request'] = json_encode($paypal->params); $insert['paypal_response'] = json_encode($resp['resp']); Yii::app()->functions->paypalSavedToken($insert); header('Location: ' . $resp['url']); } else { $error = $paypal->getError(); } } } else { $error = Yii::t("default", "Merchant Paypal Credential not yet been set."); } } ?> <div class="page-right-sidebar payment-option-page"> <div class="main"> <!--<p class="uk-text-success">Redirecting you to paypal. <i class="fa fa-spinner fa-spin"></i></p>--> <?php if (!empty($error)) { ?> <p class="uk-text-danger"><?php echo $error;
public function paymentPaypalVerification() { $raw = base64_decode(isset($this->data['raw']) ? $this->data['raw'] : ''); parse_str($raw, $raw_decode); $price = ''; $description = ''; if (is_array($raw_decode) && count($raw_decode) >= 1) { $price = isset($raw_decode['price']) ? $raw_decode['price'] : ''; $description = isset($raw_decode['description']) ? $raw_decode['description'] : ''; } $paypal_con = Yii::app()->functions->getPaypalConnectionAdmin(); $paypal = new Paypal($paypal_con); if ($res_paypal = $paypal->getExpressDetail()) { $paypal->params['PAYERID'] = $res_paypal['PAYERID']; $paypal->params['AMT'] = $res_paypal['AMT']; $paypal->params['TOKEN'] = $res_paypal['TOKEN']; $paypal->params['CURRENCYCODE'] = $res_paypal['CURRENCYCODE']; if ($res = $paypal->expressCheckout()) { /*now insert transaction logs*/ if ($this->data['purchase'] == "fax_package") { $payment_code = Yii::app()->functions->paymentCode("paypal"); $FunctionsK = new FunctionsK(); $info = $FunctionsK->getFaxPackagesById($this->data['package_id']); $params = array('merchant_id' => Yii::app()->functions->getMerchantID(), 'fax_package_id' => $this->data['package_id'], 'payment_type' => $payment_code, 'package_price' => $price, 'fax_limit' => $info['fax_limit'], 'date_created' => date('c'), 'ip_address' => $_SERVER['REMOTE_ADDR'], 'payment_gateway_response' => json_encode($res), 'status' => "paid"); if ($this->insertData("{{fax_package_trans}}", $params)) { $this->details = websiteUrl() . "/merchant/faxreceipt/id/" . Yii::app()->db->getLastInsertID(); $this->code = 1; $this->msg = Yii::t("default", "Successful"); $merchantinfo = Yii::app()->functions->getMerchantInfo(); $FunctionsK = new FunctionsK(); $FunctionsK->faxSendNotification((array) $merchantinfo[0], $this->data['package_id'], $payment_code, $price); } else { $this->msg = Yii::t("default", "ERROR: Cannot insert record."); } } else { $this->msg = t("Uknown transaction"); } } else { $this->msg = $paypal->getError(); } } else { $this->msg = $paypal->getError(); } }