Can anyone give me any clues as to why the code below doesn't pass the shipping info to paypal?
Once in paypal it says "we have no shipping address on file". It is important the the shipping address gets passed along for paypal seller protection.
plus
On Virtuemarts order statement the part which states Paypal Shipping Info is empty..
Customer's note:
Payment Information Shipping Information
PayPal ./.
Anyone has any clues? This is urgent
<?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" => "1",
"no_note" => "1",
//"email" => $dbb->f("user_email"),
"address_override" => "1",
"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>';
}
?>
Hi pashis,
Did you find any solution to resolve that issue ?
Thanks