VirtueMart Forum

VirtueMart 1.1.x [ Old version - no longer supported ] => Payment VM 1.1 => PayPal / PayPal Pro VM 1.1 => Topic started by: pashis on July 21, 2009, 02:13:18 AM

Title: Small change in configuration..
Post by: pashis on July 21, 2009, 02:13:18 AM
I have this piece of code and its working just fine on my website.  I do however require a small change..

This is what appears in Paypal under the Description heading:

Item Name
Item SKU
Quantity - Price

How can i move 'Quantity - Price' next to 'Item Name' ?
So it gets displayed as:

Item Name, Quantity - Price
Item SKU

Does anyone know how to change that? Here's my code.
Thanks


<?php
$order_id 
= $db->f("order_id");

$dboi = new ps_DB;
$q_oi = "SELECT * FROM #__vm_order_item ";
$q_oi .= "WHERE #__vm_order_item.order_id='$order_id'";
$dboi->query($q_oi);

$row_num = $dboi->num_rows();

//New code Getting Cart Items
$auth = $_SESSION['auth'];
$cart = $_SESSION['cart'];
$t_quantity = 0;
$disc_perItem = 0;
$i=1;

$dbb = new ps_DB;
$q = "SELECT * FROM jos_vm_user_info ";
$q .= "WHERE user_id ='".$my->id."' ";
$dbb->setQuery($q);
$dbb->query();

$url = "https://www.paypal.com/cgi-bin/webscr";
$tax_total = $db->f("order_tax") + $db->f("order_shipping_tax");
$discount_total = $db->f("coupon_discount") + $db->f("order_discount");  //New Code
$discount_totalCP = $db->f("coupon_discount") + $db->f("order_discount");

while(
$dboi->next_record()) {
$t_quantity = $t_quantity + intval($dboi->f("product_quantity"));
}

$dboi = null;
$dboi = new ps_DB;
$dboi->query($q_oi);

if(
$t_quantity > 0)
{
if($discount_totalCP > 0)
{
$disc_perItem = round($discount_totalCP / $t_quantity, 2);
}
else
{
$disc_perItem = 0;
}
}
else
{
$disc_perItem = 0;
}

while(
$dboi->next_record()) {

    
$prod_attrib = $dboi->f("product_attribute");
              
    
$supp_var['item_name_' . $i] = strip_tags($dboi->f("order_item_name"));
    if(
$prod_attrib > ''){
      
$attributes_array = explode('<br/>',$prod_attrib);
      
$v = 0;
      
$z = 1;
      foreach ( 
$attributes_array as $attributes_value){
        
$attrib_name = trim(substr($attributes_value, 0, strpos($attributes_value, ':')), " ");
        
$supp_var['on' . $z . '_' . $i] = $attrib_name;
        
$attrib_sel = trim(substr_replace(substr_replace($attributes_value, "", 0, strrpos($attributes_value, ': ')), "", 0, 2));
        
$supp_var['os' . $z . '_' . $i] = $attrib_sel;
        
$v++;
        
$z++;
        unset(
$attributes_value);
      }
    }
$supp_var['item_number_' . $i] = $dboi->f("order_item_sku");
    
$supp_var['quantity_' . $i] = $dboi->f("product_quantity");
    
$supp_var['amount_' . $i] = round(($dboi->f("product_item_price") - $disc_perItem),2);
      
    
$i++;
}
//End New Code

//Start New Code - Ship to Address Versus Bill To Address

$dboui = new ps_DB;
$q_oui = "SELECT * FROM #__vm_order_user_info ";
$q_oui .= "WHERE #__vm_order_user_info.order_id='$order_id' ORDER BY #__vm_order_user_info.order_info_id DESC";
$dboui->query($q_oui);

$oui_id = $dboui->f("order_info_id");

if(
$oui_id == $order_id){
  
$first_name = $dbb->f("first_name");
  
$last_name = $dbb->f("last_name");
  
$address1 = $dbb->f("address_1");
  
$address2 = $dbb->f("address_2");
  
$city = $dbb->f("city");
  
$state = $dbb->f("state");
  
$address_country = $dbbt->f("country");
  
$zip = $dbb->f("zip");
  
$H_PhoneNumber = $dbb->f("phone_1");
}
else
{
  
$first_name = $dboui->f("first_name");
  
$last_name = $dboui->f("last_name");
  
$address1 = $dboui->f("address_1");
  
$address2 = $dboui->f("address_2");
  
$city = $dboui->f("city");
  
$state = $dboui->f("state");
  
$address_country = $dboui->f("country");
  
$zip = $dboui->f("zip");
  
$H_PhoneNumber = $dboui->f("phone_1");
}
//End New Code

$post_variables = Array(
"cmd" => "_cart",
"upload" => "1",
"page_style" => "paypal",
"business" => PAYPAL_EMAIL,
"currency_code" => $_SESSION['vendor_currency'],
"amount" => round( $db->f("order_subtotal")+$tax_total-$discount_total, 2),
"handling_cart" => sprintf("%.2f", $db->f("order_shipping")),
"tax" => $tax_total,
"tax_cart" => $tax_total,
"invoice" => $db->f("order_id"),
"image_url" => $vendor_image_url,
"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.result&order_id=".$db->f("order_id"),
"notify_url" => SECUREURL ."administrator/components/com_virtuemart/notify.php",
"cancel_return" => SECUREURL ."index.php",
"no_shipping" => "2",
"no_note" => "1",
//"email" => $dbb->f("user_email"),
"address_override" => "0",
"first_name" => $first_name,
"last_name" => $last_name,
"address1" => $address1,
"address2" => $address2,
"city" => $city,
"state" => $state,
"address_country" => $address_country,
"zip" => $zip,
//"H_PhoneNumber" => $H_PhoneNumber
);

if( 
$page == "checkout.thankyou" ) {
$query_string = "?";

foreach( 
$post_variables as $name => $value ) {
$query_string .= $name. "=" . urlencode($value) ."&";
}
if(
is_array($supp_var) && count($supp_var)) {
foreach($supp_var as $name => $value) {
$query_string .= $name. "=" . urlencode($value) ."&";
}
}

vmRedirect( $url . $query_string );
} else {
echo 
'<form action="'.$url.'" method="post" target="_blank">';

foreach( 
$post_variables as $name => $value ) {
echo 
'<input type="hidden" name="'.$name.'" value="'.$value.'" />';
}
if(
is_array($supp_var) && count($supp_var)) {
foreach($supp_var as $name => $value) {
echo '<input type="hidden" name="'.$name.'" value="'.$value.'" />';
}
}
echo 
'<input type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/x-click-but6.gif" border="0" alt="Make payments with PayPal, it is fast, free, and secure!">';
echo 
'</form>';
}
?>

Title: Re: Small change in configuration..
Post by: Contendia on July 21, 2009, 06:06:46 AM
Not sure where exactly you are wanting to change the layout.  Is it a PayPal page or a page generated by your site?  If it is a PayPal page, in all likelihood, you cannot change it.

The code you have posted does not control the layout of the invoices.
Title: Re: Small change in configuration..
Post by: pashis on July 21, 2009, 12:16:57 PM
Yes its the way products get displayed in Paypal page.. So its not possible then?
Title: Re: Small change in configuration..
Post by: pashis on July 22, 2009, 17:25:49 PM
so guys is there something i can do, or is it impossible?