A Flash Developer Resource Site

Results 1 to 2 of 2

Thread: [F8] Paypal cart resets with new frame

  1. #1
    Member
    Join Date
    Apr 2007
    Posts
    73

    [F8] Paypal cart resets with new frame

    Hello, someone on this site helped me set up a simple Paypal cart. It works fine when all my items are contained within the same frame. However, if I have several frames which each have their own items for purchase, the cart gets reset each time the playhead advances to that new frame. Here is the code:

    Code:
    var lvSend:LoadVars = new LoadVars();//do not change
    lvSend.business = "[email protected]"; //your paypal email address here 
    lvSend.currency_code = "USD"; //the currency you would like to use
    
    
    
    //define items, their prices, quantity in basket and there associated movieclips
    var aItem:Array = new Array();
    	aItem["PGA Poster"] = {instance:mcPgaposter, price:12, quantity:0};
    	aItem["PGA Print"] = {instance:mcPgaprint, price:35, quantity:0};
    	aItem["PGA Shirt Med"] = {instance:mcPgamed, price:20, quantity:0};
    	aItem["PGA Shirt Lg"] = {instance:mcPgalarge, price:20, quantity:0};
    	aItem["PGA Shirt XL"] = {instance:mcPgaxlarge, price:20, quantity:0};
    	aItem["PGA Shirt XXL"] = {instance:mcPgaxxlarge, price:20, quantity:0};
    	//-----------------------DO NOT CHANGE UNLESS FAMILIAR WITH ACTIONSCRIPT--------------------//	
    	
    	
    var totalPrice:Number;
    
    for (var i in aItem) {
    	var currentProduct:String = i;
    	aItem[i].instance.id = currentProduct;
    	
    	aItem[i].instance.onRelease = function() {
                            
                                        //it has been added to basket so increase quantity in basket
                                        aItem[this.id].quantity++;
                                        
                                        //update datagrid
                                        updateDatagrid();
                                        
    };
    }
    
    
    //--------------------------------------- functions ----------------------------------------------//
    
    
    function updateDatagrid():Void{
    	totalPrice = 0;
    	var aBasket:Array = new Array();
    	for (var i in aItem) {
    	if(aItem[i].quantity > 0 ){
    	   aBasket.push({Product: aItem[i].instance.id, Quantity: aItem[i].quantity, Price: aItem[i].price * aItem[i].quantity });
    	   totalPrice += aItem[i].quantity * aItem[i].price;
    	}
    }
    
    	basketInfo.dataProvider = aBasket;
    	basketInfo.vScrollPolicy = "auto";
    	tTotal.text = totalPrice;
    }
    What do i do???

    PS- there is also this code to send the info to Paypal but I didn't include it to increase legibility. Here it is just in case:

    Code:
    mcPaypal.onRelease = function():Void{
    	//send variables to paypal
    
    	//CONSTANTS
    	lvSend.cmd = "_cart";
    	lvSend.upload = "1";
    	
    	var j:Number = 1;
    	for (var i in aItem) {
    		if(aItem[i].quantity > 0){
    			lvSend["item_name_"+j] = aItem[i].instance.id;
    			lvSend["amount_"+j] = aItem[i].price;
    			lvSend["quantity_"+j] = aItem[i].quantity;
    			j++;
    			}
    			
    	}
    	lvSend.send("https://www.paypal.com/cgi-bin/webscr", "_self", "POST");
    }

  2. #2
    Member
    Join Date
    Apr 2007
    Posts
    73
    Any ideas? This is dealing with an array, which I know nothing about. I'm sure some knowledge of that would help solve the problem...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center