Q Paypal IPN fix

Discussion in 'Modifications' started by jjjason84, Jan 21, 2013.

  1. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    This is a fix for the paypal IPN so if a payment is made the status will up-date in the seller and buyers control panel. The paypal IPN code is also setup to run on SSL or none SSL only if your webid is running SSL and it also has the paypal sandbox setup on it.

    Updated 1/28/2013

    DEMO: None avaliable as this is a non visual MOD

    If you are using the paypal sandbox functions_fees.php page you will need to change the paypal address that is in the pay.tpl page.
    Open pay.tpl and around line 10 find this code
    PHP:
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="form_paypal">
    Change it to this code
    PHP:
    <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" id="form_paypal">
    If your not running on SSL delete the s at the end of https://

    The credit also go's to pani for helping me fix this problem.

    1. Make a backup of your includes/functions_fees.php page
    2. Download 1 of the Paypal IPN Fixs zip folders
    3. Open the IPN Fixs zip folder that you downloaded
    4. Cope the functions_fees.php page from the zip folder to your desktop
    5. upload the functions_fees.php page to your server in to the includes folder
    6. Go to your admin area and click on clear cache
    7. Your done
     

    Attached Files:

    Last edited: Apr 23, 2013
  2. youngwolfe

    youngwolfe Donor Donor

    Joined:
    Oct 6, 2012
    Messages:
    105
    Likes Received:
    1
    Hi jjjason84
    Just a few questions. As the site owner, what if anything is needed in the way of a Paypal account. ie Is the standard account sufficient (ie email addresses onlys), do I need a Paypal IPN (The Paypal Premier Account as a minimum) and if so, where is the IPN configured. In other e-merchant software for example Zencart , the IPN needs to be configured in the store settings.

    Thanks
    youngwolfe
     
  3. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    Hello youngwolfe

    The paypal IPN will work with any paypal account all the buyer needs to do is login to paypal and pay for the item.

    The way the paypal IPN works is the webid server sends info to paypal server then paypal server send info back to the webid server then it checks the info if it has not been changed in any way then if it has not been changed then it sends it back to paypal server and then paypal server will check it to see if it has been change and if it has not been change then paypal server will send 1 of 2 word to the webid server VERIFIED or INVALID if it comes back as VERIFIED the webid server will update the paid columns in the winners table.

    And for the Zencart i have no clue on that i never played with it before so i don't know how it works but maybe there is someone here that used it or is using it on there webid and you could ask on the forums about it.

    I hope some of this info helps you understand how paypal IPN works
     
  4. youngwolfe

    youngwolfe Donor Donor

    Joined:
    Oct 6, 2012
    Messages:
    105
    Likes Received:
    1
    Hi jjjason84
    Yes it does help. I've upgraded to what's called the Premier account which has an option to send an IPN for validation to a URL. The option is in the profile of the Paypal account. I've set the URL in the Paypal account to [uurl]https://easybidsauction.com/validate.php[/uurl]
    but don't know if this is the correct URL. If someone can let me know if I'm on the right track with this URL?

    (I've done this [uurl][/uurl] to stop a hyperlink being created in this post and these tags were not included in the url above )

    With regards to my comment on my previous Zencart setup. Im pretty sure the IPN setup there was with a Paypal business acc. The next level up. It included an IPN, IPN Acc number and passwords that needed to be configured in the Zen store.

    If I understood the Sandbox more I could test Webid further without annoying my real Paypal account. If try paying a sandbox buyer to sandbox seller, the password for the buyer is not being accepted by Paypal but I'm getting of the track now.

    Thanks for the help.
    Cheers
    youngwolfe
     
    Last edited: Jan 21, 2013
  5. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    You don't need to setup an IPN in your paypal account profile you just need a paypal account to do transactions. The pay.php send the info to paypal servers about the buyer, seller, item and the links for the IPN.
     
  6. youngwolfe

    youngwolfe Donor Donor

    Joined:
    Oct 6, 2012
    Messages:
    105
    Likes Received:
    1
    Ok

    Thanks for the added info - Working on it.

    Cheers
    youngwolfe
     
  7. helios

    helios Member

    Joined:
    Sep 26, 2012
    Messages:
    43
    Likes Received:
    2
    Hi jjjason84,
    I copied the new code into includes functions_fees.php and now my pictures are gone ??
     
  8. dimbouk

    dimbouk New Member

    Joined:
    Jan 25, 2013
    Messages:
    7
    Likes Received:
    0
    Hi jjjason84

    First of all many thanks for the mod.
    I pasted the code you provide to functions_fees.php (replacing the original) and uploaded the file.
    The transaction was completed but in Webid, both seller's and buyer's control panel were not updated. The auction still looks unpayed.
    I run my site without SSL so I used your code as is.
    Do I have to do something else?

    Regards
    Dimitris
     
  9. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    This code is for none SSL i know it works i uses it and so dose a few other people if the status is not changing in the control panel then it could be your server or your pay.tpl form coding or the coding in pay.php that sends the info to paypal. If you are testing it with paypal sandbox you will have to turn on papyal snadbox in the functions_fees.php.

    PHP:
    <?php  
    /***************************************************************************  
     *   copyright                : (C) 2008, 2009 WeBid  
     *   site                    : http://www.webidsupport.com/  
     ***************************************************************************/  

    /***************************************************************************  
     *   This program is free software; you can redistribute it and/or modify  
     *   it under the terms of the GNU General Public License as published by  
     *   the Free Software Foundation; either version 2 of the License, or  
     *   (at your option) any later version. Although none of the code may be  
     *   sold. If you have been sold this script, get a refund.  
     ***************************************************************************/  

    if (!defined('InWeBid')) exit('Access denied');  

    class 
    fees  
    {  
        var 
    $ASCII_RANGE;  
        var 
    $data;  
        var 
    $fee_types;  

        function 
    fees()  
        {  
            
    $this->ASCII_RANGE '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
            
    $this->fee_types $this->get_fee_types();  
        }  

        function 
    get_fee_types()  
        {  
            global 
    $system$DBPrefix;  
            
    $query "SELECT type FROM " $DBPrefix "fees GROUP BY type";  
            
    $res mysql_query($query);  
            
    $system->check_mysql($res$query__LINE____FILE__);  
            
    $fee_types = array();  
            while (
    $row mysql_fetch_assoc($res))  
            {  
                
    $fee_types[] = $row;  
            }  
            return 
    $fee_types;  
        }  

        function 
    add_to_account($text$type$amount)  
        {  
            global 
    $system$DBPrefix$user;  

            
    $date_values date('z|W|m|Y'$system->ctime);  
            
    $date_values explode('|'$date_values);  
            
    $query "INSERT INTO " $DBPrefix "accounts VALUES (NULL, '" $user->user_data['nick'] . "', '" $user->user_data['name'] . "', '" $text "', '" $type "', " time() . ", '" $amount "', " $date_values[0] . ", " $date_values[1] . ", " $date_values[2] . ", " $date_values[3] . ")"
            
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
        }  

        function 
    hmac($key$data)  
        {  
            
    // RFC 2104 HMAC implementation for php.  
            // Creates an md5 HMAC.  
            // Eliminates the need to install mhash to compute a HMAC  
            // Hacked by Lance Rushing  

            
    $b 64// byte length for md5  
            
    if (strlen($key) > $b)  
            {  
                
    $key pack("H*"md5($key));  
            }  
            
    $key  str_pad($key$bchr(0x00));  
            
    $ipad str_pad(''$bchr(0x36));  
            
    $opad str_pad(''$bchr(0x5c));  
            
    $k_ipad $key $ipad ;  
            
    $k_opad $key $opad;  

            return 
    md5($k_opad  pack("H*"md5($k_ipad $data)));  
        }  

    function 
    paypal_validate()   
        {   
            global 
    $system$_POST;   

            
    // we ensure that the txn_id (transaction ID) contains only ASCII chars...   
            
    $pos strspn($_POST['txn_id'], $this->ASCII_RANGE);   
            
    $len strlen($_POST['txn_id']);   

            if (
    $pos != $len)   
            {   
                return;   
            }   

    //validate payment   

    $header "";  
    $emailtext "";  
    $payment_made 0;  
    // Read the post from PayPal and add 'cmd'  

    $notify_email "########";  // enter your email here  

    mail($notify_email"Accees to function""Arrived to begining of paypal_validate() function\n\n");  
    $req 'cmd=_notify-validate';  

    foreach (
    $this->data as $key => $value)  
    // Handle escape characters, which depends on setting of magic quotes  
    {   
        
    $value urlencode($value);  
        
    $req .= "&$key=$value";  
    }  

    // Post back to PayPal system to validate  
    $header .= "POST /cgi-bin/webscr HTTP/1.1\r\n";  
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";  
    $header .= "Host: www.paypal.com\r\n";         //  live mode   
    //$header .= "Host: www.sandbox.paypal.com\r\n";   //sandbox mode  
    $header .= "Content-Length: " strlen($req) . "\r\n";  
    $header .= "Connection: close\r\n\r\n";   
    //$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);        //  live mode running on SSL 
    $fp fsockopen ('www.paypal.com'80$errno$errstr30);        //  live mode not running on SSL 
    //$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);  //sandbox mode running on SSL  
    //$fp = fsockopen ('www.sandbox.paypal.com', 443, $errno, $errstr, 30);  //sandbox mode not running on SSL 

    // Process validation from PayPal  
    if (!$fp)   
    {   
      
    // HTTP ERROR  
      
    $error_output $errstr ' (' $errno ')';  
    }   
    else   
    {  
      
    // Assign posted variables to local variables  
      
    $payment_status $_POST['payment_status'];  
      
    $payment_amount $_POST['mc_gross'];   
      list(
    $custom_id$fee_type) = explode('WEBID'$_POST['custom']);  
        
      
    // more  
      
    fputs ($fp$header $req);  
      while (!
    feof($fp))   
      {  
        
    $resl trim(fgets ($fp1024));  
        
    // Check the payment_status is Verified  
        
    if (strcmp ($resl"VERIFIED") == 0)   
        {      
          
    // If 'VERIFIED', send an email of IPN variables and values to the  
          // specified email address  
          
    foreach ($this->data as $key => $value)  
          {  
            
    $emailtext .= $key " = " .$value ."\n\n";  
          }  
          
    mail($notify_email"Live-VERIFIED IPN"$emailtext "\n\n" $req);  
          
               
    // We can do various checks to make sure nothing is wrong  
               // Check that receiver_email is your Primary PayPal email and   
           // that txn_id has not been previously processed  
          
    if ($payment_status == 'Completed')    
          {      

            
    /*     ------------------    NOTICE   ---------------------------- */  
           // Once you start receiving emails and the IPN working ok enable the bellow function to complete the sale  

              //$this->callback_process($custom_id, $fee_type, $payment_amount);  

            
    mail($notify_email"VERIFIED IPN",  "Payment Received");  
            
    $payment_made 1;  
             
              
          }  
        }   
        else if (
    strcmp ($resl"INVALID") == 0)  
        {  
          
    // If 'INVALID', send an email to do: Log for manual investigation  
          
    foreach ($this->data as $key => $value)  
          {  
            
    $emailtext .= $key " = " .$value ."\n\n";  
          }  
          
    mail($notify_email"Live-INVALID IPN"$emailtext "\n\n" $req);  
        }  
      }  
    }  
    fclose ($fp);  
    }    

        function 
    authnet_validate()  
        {  
            global 
    $system$_POST;  

            
    $payment_amount $_POST['x_amount'];  

            list(
    $custom_id$fee_type) = explode('WEBID'$_POST['custom']);  

            if (
    $_POST['x_response_code'] == 1)  
            {  
                
    $this->callback_process($custom_id$fee_type$payment_amount);  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?completed';  
            }  
            else  
            {  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?fail';  
            }  

            
    header('location: '$redirect_url);  
            exit;  
        }  

        function 
    worldpay_validate()  
        {  
            global 
    $system$_POST;  

            
    $payment_amount $_POST['amount'];  

            list(
    $custom_id$fee_type) = explode('WEBID',$_POST['cartId']);  

            if (
    $_POST['transStatus'] == 'Y')  
            {  
                
    $this->callback_process($custom_id$fee_type$payment_amount);  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?completed';  
            }  
            else  
            {  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?fail';  
            }  

            
    header('location: '$redirect_url);  
            exit;  
        }  

        function 
    moneybookers_validate()  
        {  
            global 
    $system$_POST;  

            
    $payment_amount $_POST['amount'];  

            list(
    $custom_id$fee_type) = explode('WEBID',$_POST['trans_id']);  

            if (
    $_POST['status'] == 2)  
            {  
                
    $this->callback_process($custom_id$fee_type$payment_amount);  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?completed';  
            }  
            else  
            {  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?fail';  
            }  

            
    header('location: '$redirect_url);  
            exit;  
        }  

        function 
    toocheckout_validate()  
        {  
            global 
    $system$_POST;  

            
    $payment_amount $_POST['total'];  

            list(
    $custom_id$fee_type) = explode('WEBID',$_POST['cart_order_id']);  

            if (
    $_POST['cart_order_id'] != '' && $_POST['credit_card_processed'] == 'Y')  
            {  
                
    $this->callback_process($custom_id$fee_type$payment_amount);  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?completed';  
            }  
            else  
            {  
                
    $redirect_url $system->SETTINGS['siteurl'] . 'validate.php?fail';  
            }  

            
    header('location: '$redirect_url);  
            exit;  
        }  

        function 
    callback_process($custom_id$fee_type$payment_amount$currency NULL)  
        {  
            global 
    $system$DBPrefix;  

            switch (
    $fee_type)  
            {  
                case 
    1:  
                    
    $addquery '';  
                    if (
    $system->SETTINGS['fee_disable_acc'] == 'y')  
                    {  
                        
    $query "SELECT suspended, balance FROM " $DBPrefix "users WHERE id = " $custom_id;  
                        
    $res mysql_query($query);  
                        
    $system->check_mysql($res$query__LINE____FILE__);  
                        
    $data mysql_fetch_assoc($res);  
                        
    // reable user account if it was disabled  
                        
    if ($data['suspended'] == && ($data['balance'] + $payment_amount) >= 0)  
                        {  
                            
    $addquery ', suspended = 0 ';  
                        }  
                    }  
                    
    $query "UPDATE " $DBPrefix "users SET balance = balance + " $payment_amount $addquery " WHERE id = " $custom_id
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                case 
    2:  
                    
    $query "UPDATE " $DBPrefix "winners SET paid = 1 WHERE id = " $custom_id;  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                case 
    3:  
                    
    $query "UPDATE " $DBPrefix "users SET suspended = 0 WHERE id = " $custom_id;  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                case 
    4:  
                    global 
    $user$MSG;  
                    
    $catscontrol = new MPTTcategories();  

                    
    $query "UPDATE " $DBPrefix "auctions SET suspended = 0 WHERE id = " $custom_id;  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                    
    $query "DELETE FROM " $DBPrefix "userfees WHERE auc_id = " $custom_id;  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                    
    $query "UPDATE " $DBPrefix "counters SET auctions = auctions + 1";  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  

                    
    $query "SELECT category, title, minimum_bid, pict_url, buy_now, reserve_price, auction_type, ends  
                            FROM " 
    $DBPrefix "auctions WHERE id = " $custom_id;  
                    
    $res mysql_query($query);  
                    
    $system->check_mysql($res$query__LINE____FILE__);  
                    
    $auc_data mysql_fetch_assoc($res);  

                    
    // auction data  
                    
    $auction_id $custom_id;  
                    
    $title $auc_data['title'];  
                    
    $atype $auc_data['auction_type'];  
                    
    $pict_url $auc_data['pict_url'];  
                    
    $minimum_bid $auc_data['minimum_bid'];  
                    
    $reserve_price $auc_data['reserve_price'];  
                    
    $buy_now_price $auc_data['buy_now'];  
                    
    $a_ends $auc_data['ends'];  

                    if (
    $user->user_data['startemailmode'] == 'yes')  
                    {  
                        include 
    $include_path 'auction_confirmation.inc.php';  
                    }  

                    
    // update recursive categories  
                    
    $query "SELECT left_id, right_id, level FROM " $DBPrefix "categories WHERE cat_id = " $auc_data['category']; 
                    
    $res mysql_query($query);  
                    
    $system->check_mysql($res$query__LINE____FILE__);  
                    
    $parent_node mysql_fetch_assoc($res);  
                    
    $crumbs $catscontrol->get_bread_crumbs($parent_node['left_id'], $parent_node['right_id']);  

                    for (
    $i 0$i count($crumbs); $i++)  
                    {  
                        
    $query "UPDATE " $DBPrefix "categories SET sub_counter = sub_counter + 1 WHERE cat_id = " $crumbs[$i]['cat_id'];  
                        
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                    }  
                break;  
                case 
    5:  
                    
    $query "UPDATE " $DBPrefix "auctions SET suspended = 0 WHERE id = " $custom_id;  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                case 
    6//buyer fee  
                    
    $query "UPDATE " $DBPrefix "winners SET bf_paid = 1 WHERE bf_paid = 0 AND auction = " $custom_id " AND winner = " $user->user_data['id'];  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                    
    $query "UPDATE " $DBPrefix "users SET suspended = 0 WHERE id = " $user->user_data['id'];  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                case 
    7//final value fee  
                    
    $query "UPDATE " $DBPrefix "winners SET ff_paid = 1 WHERE ff_paid = 0 AND auction = " $custom_id " AND seller = " $user->user_data['id'];  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                    
    $query "UPDATE " $DBPrefix "users SET suspended = 0 WHERE id = " $user->user_data['id'];  
                    
    $system->check_mysql(mysql_query($query), $query__LINE____FILE__);  
                break;  
                  
            }  
        }  
    }  
    ?>
     
    Last edited: Jan 27, 2013
  10. dimbouk

    dimbouk New Member

    Joined:
    Jan 25, 2013
    Messages:
    7
    Likes Received:
    0
    I don't use the paypal sandbox. I have a normal paypal account and I have installed Webid 1.06 with webid-bootstrap-v1-up4 theme. The theme I use didn't replace the pay.php but it did replace the pay.tpl

    The part of the new pay.tpl that has to do with paypal is:

    <code>
    <!-- IF B_ENPAYPAL -->
    <tr>
    <td width="160" ><img src="images/paypal.gif"></td>
    <td >{L_767}</td>
    <td ><form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="form_paypal">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="{PP_PAYTOEMAIL}">
    <input type="hidden" name="receiver_email" value="{PP_PAYTOEMAIL}">
    <input type="hidden" name="amount" value="{PAY_VAL}">
    <input type="hidden" name="currency_code" value="{CURRENCY}">
    <input type="hidden" name="return" value="{SITEURL}validate.php?completed">
    <input type="hidden" name="cancel_return" value="{SITEURL}validate.php?fail">
    <input type="hidden" name="item_name" value="{TITLE}">
    <input type="hidden" name="undefined_quantity" value="0">
    <input type="hidden" name="no_shipping" value="1">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="custom" value="{CUSTOM_CODE}">
    <input type="hidden" name="notify_url" value="{SITEURL}validate.php?paypal">
    <input name="submit" type="submit" value="{L_756}" border="0">
    </form></td>
    </tr>
    <!-- ENDIF -->
    </code>
     
  11. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    I been getting messages on how to turn on the SSL or the paypal sandbox in the functions_fees.php page so i updated and uploaded 4 different functions_fees.php pages that is running SSL and not running SSL for live paypal and paypal sandbox.
     
  12. linux4me

    linux4me New Member

    Joined:
    Mar 30, 2013
    Messages:
    20
    Likes Received:
    10
    Thanks for putting the time in to create this mod. It's interesting how much more is involved in doing a PayPal transaction than the other payment gateway types in functions_fees.php.

    There are a couple of things I noticed in looking at the code you might want to add to the instructions. I downloaded the zip for SSL live version.

    On line 94 you need to add an email address if you want to be notified by email for each step of the transaction process. Then on line 154 you comment that you must uncomment the next line once the script appears to be working in order to complete the sale. I'm talking about this line:
    Code:
    $this->callback_process($custom_id, $fee_type, $payment_amount);
    that is commented out in the zip file version I downloaded.

    There may be people here that would like to use the script who may not know enough PHP to read through and find your comments, or know how to uncomment/enable that line.
     
  13. nay27uk

    nay27uk Super Moderator Staff Member

    Joined:
    Nov 24, 2009
    Messages:
    5,572
    Likes Received:
    546
    I am going through the mods section of the forums and cleaning stuff out.

    Could I ask that you please supply a DEMO URL it does not need to be your live site just a DEMO even if that is only on a subdomain and installed for DEMO reasons​
     
  14. jjjason84

    jjjason84 Donor Donor

    Joined:
    Jun 26, 2012
    Messages:
    702
    Likes Received:
    61
    Nay i can not do a demo for this mod because it work in the back end of webid and it fix the paypal IPN this mod is not visual mod that you can see.
     
  15. nay27uk

    nay27uk Super Moderator Staff Member

    Joined:
    Nov 24, 2009
    Messages:
    5,572
    Likes Received:
    546
    Ok jay no problem could you update the thread just put

    DEMO: None avaliable as this is a non visual MOD

    Thanks mate
     
  16. Yiannis

    Yiannis New Member

    Joined:
    Apr 11, 2013
    Messages:
    36
    Likes Received:
    0
    Hello,

    Thanks for Your effort!
    One question though.
    What do You mean "sandbox on SSl and not SSL"? Sandbox or not Sandbox PayPal always uses SSL.
    This is confusing.

    Thank You for Your time
    Best Regards

    Yiannis
     
  17. Yiannis

    Yiannis New Member

    Joined:
    Apr 11, 2013
    Messages:
    36
    Likes Received:
    0
    Thank You for Your reply and info.
    No I am using 1.0.6 and try to do the testing with SANDBOX but have not succeed yet...

    B.R
    Yiannis
     
  18. nay27uk

    nay27uk Super Moderator Staff Member

    Joined:
    Nov 24, 2009
    Messages:
    5,572
    Likes Received:
    546
    That's because WeBid does not come with sandbox.php included to use sandbox you need the sandbox code
     
  19. Guest

    Guest Guest

    my mistake
    . .
     
    Last edited by a moderator: Aug 21, 2013
  20. Yiannis

    Yiannis New Member

    Joined:
    Apr 11, 2013
    Messages:
    36
    Likes Received:
    0
    You mean not even with the instructions and .zip files of this Thread?
    Is this misleading :confused::confused:
     

Share This Page