رفتن به مطلب
hadijoomla

چند درخواست در سیستم فروش فایل

پست های پیشنهاد شده

سلام من چندتا کار می خوام در سیستم فروش فایل انجام بدم آیا این امکانات وجود دارد (سیستم فروش فایل  جومینا «برنامه نویس : امیر رضا تهرانی»)

  1. بیشترین دانلود ها رو نمایش بدم
  2. مشتری بتونه یک فایل رو سرچ کنه
  3. در پنجره ای که دکمه خرید رو نشون میده یه سری توضیحات بتونم اضافه کنم (مثلا در صورت هرگونه مشکل با این شماره تماس بگیرید)
  4. مورد 3 رو هم بتونم برای بعد از خرید هم انجام بده( مثلا با تشکر از خرید شما مدیر سایت)

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

یه مشکل دیگه هم که بر خوردم دی دراین افزونه اینه که بعد کلیک کردن روی دکمه خرید و دانلود این پیام میاد روی صفحه اصلی و هیچ اتفاقی نمیوفتد

                                                     

در حال انتقال به بانک
لطفا کمی صبر نمایید

در تنضیمات کامپوننت هم تمام گزینه های مربوط به درگاه بانک ملت رو پر کردم

شماره پایانه:

نام کاربری:

رمز عبور:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

یه مشکل دیگه هم که بر خوردم دی دراین افزونه اینه که بعد کلیک کردن روی دکمه خرید و دانلود این پیام میاد روی صفحه اصلی و هیچ اتفاقی نمیوفتد

                                                     

در حال انتقال به بانک

لطفا کمی صبر نمایید

در تنضیمات کامپوننت هم تمام گزینه های مربوط به درگاه بانک ملت رو پر کردم

شماره پایانه:

نام کاربری:

رمز عبور:

مبلغ مورد نظر احتمالا کمتر از ۱۰۰ تومان است که به این مشکل میخورید و یا در لوکال کار میکنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

وقتی در صفحه بانک میمونه یعنی بانک ملت ای پی شما را اد نکرده

برای جستجو هم میتونید از پلاگین جستجو همراه افزونه استفاده نمایید و از ماژول جستجو خود جوملا استفاده نمایید

برای اضافه نمودن توضیحات از پلاگین درج فایل در مطلب استفاده نمایید و در توضیحات فایل ان چیزی که میخواهید بنویسید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به صفحه بانک نمی رسه وقتی میزنیم خرید داخل صفحه سایت مینویسه

در حال انتقال به بانک
لطفا کمی صبر نمایید

بعد هیچ اتفاقی نمیوفته

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ورژن نصب شده 1.11

دوبار خرید در سیستم فروش فایل جومینا انجام داده ام و هزینه از کارت بانکی کسر کرده است و در پی لاین هم ثبت شده است و در صفحه ی بازگشت زمانی که می خواهد لینک دانلود به کاربر دهد پیام تراکنش با موفقیت انجام نشد را نشان می دهد

 

لطفا فایل

views\verify\tmpl\default.php

برای درگاه پی لاین را تست کنید

مورد زیر با ورژن های قبلی فرق دارد

خط 320

                echo "<h1> تراکنش با موفقیت انجام نشد </h1>";
 

من تغییرات در فایل نمایش پیام بانکی ایجاد کردم می مقدار متغییر ها هیچ چیزی نشون نمیده

من با پرداخت پی لاین در ورژن 1.11 مشکل دارم

echo 'result line 310 = '.$result;

    ////cout
    ////////result line 310="هیچ چیزی نشون نداد"
    
echo 'payverify result != 1 = '.$payverify; echo "<br>";
    ////cout
    ////////payverify result != 1 = "هیچ چیزی نشون نداد"

<?php
/**
 * @package    JoominaFlileSelling
 * @subpackage H:
 * @author     amirrezatehrani {@link joomina.ir}
 * @author     Created on 12-Mar-2015
 * @license    GNU/GPL
 */

//-- No direct access
defined('_JEXEC') || die('=;)');
$document = JFactory::getDocument();
$url = JURI::base().'components/com_joominaflileselling/assets/css/default.css';
$document->addStyleSheet($url);
    
    // get session
    $session =& JFactory::getSession();
    $price = $session->get( 'price');
    $id = $session->get( 'id');
    $useremail = $session->get( 'useremail');
    //get config
            $db = JFactory::getDBO();
            $query = "SELECT * FROM `#__filesellconfig`";
            $db->setQuery($query);
            $config = $db->loadObject();
            
   //get file
            $db = JFactory::getDBO();
            $query = "SELECT * FROM `#__joominaflileselling` WHERE `id`='". $id ."' ";
            $db->setQuery($query);
            $file = $db->loadObject();
   //making hashfile
     $filenamehash = md5($file->name);
     $date =& JFactory::getDate();
     $date = explode(' ' , $date);
     $date= $date[0];
     $datehash =md5($date);
    
    //factornumber
                function randomfactornomber($length=10) {
                    $string = '';
                    $characters = "23456789ABCDEFHJKLMNPRTVWXYZabcdefghijklmnopqrstuvwxyz";
                    for ($p = 0; $p < $length; $p++) {
                    $string .= $characters[mt_rand(0, strlen($characters)-1)];
                    }
                    return $string;
                    }
                 $factornumber =randomfactornomber(5);
                 $hash= $filenamehash.$factornumber.$datehash;
    // file was free
    $zeroprice = $file->price;
    
    echo "<br>";
    echo 'payverify before if zeroprice= '.$payverify;
    echo "<br>";
    
        if ($zeroprice == '0'){
    echo "<br>";
    echo 'payverify zeroprice = '.$payverify;
    echo "<br>";
            $payverify = 1;

        echo "<br>";
    echo 'payverify value = '.$payverify;
    echo "<br>";        
    
            $useremail=$_POST['costomeremail'];
            
            
            }else {    
    
    //zarinpal was active
    if ($config->bank == '1') {
        
        require_once('lib/zarinpal/nusoap.php');
    
    $MerchantID = $config->zarinpalid;
    $Amount = $price; //Amount will be based on Toman
    $Authority = $_GET['Authority'];
    
    if($_GET['Status'] == 'OK'){
        // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
        $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl');
        $client->soap_defencoding = 'UTF-8';
        $result = $client->call('PaymentVerification', array(
                                                            array(
                                                                    'MerchantID'     => $MerchantID,
                                                                    'Authority'      => $Authority,
                                                                    'Amount'          => $Amount
                                                                )
                                                            )
        );
        
        if($result['Status'] == 100){?>
        <div class="successfullpay">
            <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2>
           <div class="refrenceidjoomina">
            <p>شماره تراکنش شما  <?php echo $result['RefID'] ; $shomareerja= $result['RefID']; ?> میباشد</p>
            </div>
            <div class="joominafactornumber">
            <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p>
                </div>
            <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p>
        
            </div>
             <div class="emaillink">
           <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p>
            </div>            
            <?php
            $payverify = 1;
        } else {
            echo 'تراکنش با شکست روبرو شد  کد خطا:'. $result['Status'];
            
            $payverify = 0;
        }

    } else {
        echo 'عملیات پرداخت توسط شما لغو شده است';
        $payverify = 0;
    }
    
        
    
    //payline was actice
    echo "<br>";
    echo 'payverify payline = '.$payverify;
    echo "<br>";
    if ($config->bank == '2') {
        
$api = $config->paylineapi;
$Amount = $price*10;
$Amount = intval($Amount);
$trans_id = $_POST['trans_id'];
$id_get = $_POST['id_get'];
$url = 'http://payline.ir/payment/gateway-result-second';
//////////////////////////////////////////
     function get($url,$api,$trans_id,$id_get){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_POSTFIELDS,"api=$api&id_get=$id_get&trans_id=$trans_id");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        $res = curl_exec($ch);
        curl_close($ch);
        return $res;
    }

        


            $result = get($url,$api,$trans_id,$id_get);
           
           // check payline verify
             /// if successfull

           if ($result == '1'){
               $payverify = 1;
               echo 'payverify result = '.$payverify; echo "<br>";
               ?>
                <div class="successfullpay">
            <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2>
           <div class="refrenceidjoomina">
            <p>شماره تراکنش شما  <?php echo $trans_id ; $shomareerja= $trans_id; ?> میباشد</p>
            </div>
            <div class="joominafactornumber">
            <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p>
                </div>
            <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p>
        
            </div>
             <div class="emaillink">
           <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p>
            </div>        
               <?php
               }
        if ($result == '-1'){$payverify = 0;     echo 'payverify $result -1 = '.$payverify; echo "<br>";echo 'api ارسالی با درگاه پی لاین سازگار نیست';}
         if ($result == '-2'){$payverify = 0; echo 'payverify $result -2 = '.$payverify; echo "<br>";echo 'trans_id  رسالی معتبر نیست';}
          if ($result == '-3'){$payverify = 0;echo 'payverify $result -3 = '.$payverify; echo "<br>";echo 'id_get  رسالی معتبر نیست';}
           if ($result == '-4'){$payverify = 0;echo 'payverify $result -4 = '.$payverify; echo "<br>";echo 'چنین تراکنشی در سیستم وجود ندارد و یا موفقیت آمیز نیوده است';}
           if ($result != '1'){$payverify = 0;echo 'payverify result != 1 = '.$payverify; echo "<br>";echo 'چنین تراکنشی در سیستم وجود ندارد و یا موفقیت آمیز نیوده است';}
        
         }//if payline was active
            
    //mellat bank was active
    if ($config->bank == '3') {
    
    include_once('lib/mellat/nusoap.php');
    $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl');
    $namespace='http://interfaces.core.sw.bps.com/';
    $res = $_POST[ResCode];
    $tar= $_POST['SaleReferenceId'];
    //start verify
    if ($res == '0') {

    ///////VERIFY METHOD
           $terminalId = $config->mellatpayaneh;;
        $userName = $config->mellatusername;
        $userPassword =  $config->mellatpass;
        $orderId = $_POST['SaleOrderId'];
        $verifySaleOrderId = $_POST['SaleOrderId'];
        $verifySaleReferenceId = $_POST['SaleReferenceId'];
        // Check for an error
        $err = $client->getError();
        if ($err) {
            echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
            //die();
        }
            
        $parameters = array(
            'terminalId' => $terminalId,
            'userName' => $userName,
            'userPassword' => $userPassword,
            'orderId' => $orderId,
            'saleOrderId' => $verifySaleOrderId,
            'saleReferenceId' => $verifySaleReferenceId);

        // Call the SOAP method
        $result = $client->call('bpVerifyRequest', $parameters, $namespace);

                // Check for a fault
        if ($client->fault) {
            echo '<h2>Fault</h2><pre>';
            print_r($result);
            echo '</pre>';
            //die();
        }
        else {
        $resultStr = $result;
            
            $err = $client->getError();
            if ($err) {
                // Display the error
                echo '<h2>Error</h2><pre>' . $err . '</pre>';
                ///die();
            }
            else {
                // Display the result
                // Update Table, Save Verify Status
                // Note: Successful Verify means complete successful sale was done.
                
            }// end Display the result
        }// end Check for errors

        ////////END OF VERYFY
        ///SETTELE START
    
    

        $terminalId = $config->mellatpayaneh;;
        $userName = $config->mellatusername;
        $userPassword =  $config->mellatpass;
        $orderId =  $_POST['SaleOrderId'];
        $settleSaleOrderId =  $_POST['SaleOrderId'];
        $settleSaleReferenceId =  $_POST['SaleReferenceId'];

        // Check for an error
        $err = $client->getError();
        if ($err) {
            echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
            //die();
        }
            
        $parameters = array(
            'terminalId' => $terminalId,
            'userName' => $userName,
            'userPassword' => $userPassword,
            'orderId' => $orderId,
            'saleOrderId' => $settleSaleOrderId,
            'saleReferenceId' => $settleSaleReferenceId);

        // Call the SOAP method
        $result = $client->call('bpSettleRequest', $parameters, $namespace);

        // Check for a fault
        if ($client->fault) {
            echo '<h2>Fault</h2><pre>';
            print_r($result);
            echo '</pre>';
            $payverify = 0;
            //die();
        }
        else {
            $resultStr = $result;
            
            $err = $client->getError();
            if ($err) {
                // Display the error
                echo '<h2>Error</h2><pre>' . $err . '</pre>';
                $payverify = 0;
                //die();
            }
            else {
                // Update Table, Save Settle Status
                // Note: Successful Settle means that sale is settled.
                
                 $payverify = 1;
                 $price=($price/10);?>
                     <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2>
           <div class="refrenceidjoomina">
            <p>شماره تراکنش شما  <?php echo $settleSaleReferenceId ; $shomareerja= $settleSaleReferenceId; ?> میباشد</p>
            </div>
            <div class="joominafactornumber">
            <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p>
                </div>
            <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p>
        
            </div>
             <div class="emaillink">
           <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p>
            </div><?php            
                
            }// end Display the result
        }// end Check for errors
    

        
    }
    
    }//mellat was active
    
            } // end of else file free


    echo "<br>";
    echo 'result line 310 = '.$result;
    echo "<br>";

    echo 'payverify result != 1 = '.$payverify; echo "<br>";
    
    if ($payverify != '1') {
        
        $db = JFactory::getDBO();
                $query = "INSERT INTO `#__joominafileseldownload` (`id`, `fileid`, `date`, `factornumber`, `downloadnomber`, `hashcode`, `email`, `price`) VALUES (NULL, '". $id ."', '".$date ."', '". $factornumber ."', 'ناموفق', '". $hash. "', '." . $useremail  ."', '" . $price. "') ";
                $db->setQuery($query);
                $result = $db->query();
                echo "<h1> تراکنش با موفقیت انجام نشد </h1>";

        }
    //if payverify was successfull -> go
    if ($payverify == '1') {
        //store if data base

        $db = JFactory::getDBO();
                $query = "INSERT INTO `#__joominafileseldownload` (`id`, `fileid`, `date`, `factornumber`, `downloadnomber`, `hashcode`, `email`, `price`) VALUES (NULL, '". $id ."', '".$date ."', '". $factornumber ."', '" . $shomareerja ."', '". $hash. "', '." . $useremail  ."', '" . $price. "') ";
                $db->setQuery($query);
                $result = $db->query();
                
                echo "<br>";
            echo "<h1>از حسن انتخاب شما متشکریم شرکت مهندسی نصیر صنعت </h1>";
        echo "<br>";
            //sending email
            if($config->emaillink == '1'){
                $mailer = JFactory::getMailer();
                    $actionform =JURI::root().'?option=com_joominaflileselling&view=factor&factor='.$factornumber;
                    $body = "<div style='text-align:ritgh; direction:rtl; font-family:tahoma;line-height:23px;
    font-size:12px'>کاربر محترم <br />ضمن تشکر از خرید شما، </br> فایل خریداری ".$file->name." میباشد <br>"." همچنین شماره فاکتور شما عبارت است از  :  <b>". $factornumber . "</b> <br /> لطفا در حفظ و نگهداری این شماره فاکتور دقت بفرمایید" . "<br/> مدت اعتبار لینک دانلود شما <b>"
                     . $config->downloaddate. "</b> روز میباشد".
                            "<br /><br /><br /><a target='_blank' href='$actionform' style='background: #d93434;
                                          background-image: -webkit-linear-gradient(top, #d93434, #b82b2b);
                                          background-image: -moz-linear-gradient(top, #d93434, #b82b2b);
                                          background-image: -ms-linear-gradient(top, #d93434, #b82b2b);
                                          background-image: -o-linear-gradient(top, #d93434, #b82b2b);
                                          background-image: linear-gradient(to bottom, #d93434, #b82b2b);
                                          -webkit-border-radius: 4;
                                          -moz-border-radius: 4;
                                          border-radius: 4px;
                                          font-family: tahoma;
                                          color: #ffffff;
                                          font-size: 14px;
                                          padding: 10px 20px 10px 20px;
                                          text-decoration: none;
                                          font-weight:normal'>دانلود فایل</a><br />
                                        <div style='font-size:10px'>طراحی شده بوسیله <a href='http://joomina.ir' target='_blank'>جومینا</a></div> </div>
";
                    $to = $useremail;
                    $configsite = JFactory::getConfig();
                   
                    $sitename= $configsite->get( 'sitename' );
                    $mailfrom = $configsite->get( 'mailfrom' );
                    $fromname  = $configsite->get( 'fromname' );
                    $mailer->setSender($mailfrom,$fromname);
                    $subject =$sitename .' - '.  'فایل خریداری شده '. $file->name ;
                    # Invoke JMail Class
                    # Add a recipient -- this can be a single address (string) or an array of addresses
                    $mailer->addRecipient($to);
                    $mailer->setSubject($subject);
                    $mailer->setBody($body);
                    # If you would like to send as HTML, include this line; otherwise, leave it out
                    $mailer->isHTML(true);
                    # Send once you have set all of your options
                    $mailer->send();
                    
                }
        
        
        // make download botton
        $urlgo = JURI::base().'?option=com_joominaflileselling&view=download';
        $session = & JFactory::getSession();
        $session->clear('price');
        $session->clear('id');
        $session->clear('useremail');
        $session->set( 'id', $id );
        $session->set( 'hash', $hash );
        $session->set( 'factornumber', $factornumber );
        
        ?>
        <form method="post" action="<?php echo $urlgo ?>">
        <input name="submitemail" class="joominapaybottom" type="submit" value="دانلود فایل" />
        </form>
        
        <?php }//end if payverify was successfull
    
    }
    
?>



لطفا کمک کنید

چندین بار خرید در سیستم فروش فایل جومینا انجام داده ام و هزینه از کارت بانکی کسر کرده است و در پی لاین هم ثبت شده است و در صفحه ی بازگشت زمانی که می خواهد لینک دانلود به کاربر دهد پیام تراکنش با موفقیت انجام نشد را نشان می دهد

 

در هیچ کجای فایل

views\verify\tmpl\default.php

تغییرات انجام داده ام که مقدار متغییر $result و$payverify رانشان بدهد به کاربر نشان نمی دهد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...