News:

Looking for documentation? Take a look on our wiki

Main Menu

Step by Step Instructions for PAYPAL configuration

Started by PMA, March 24, 2011, 10:22:26 AM

Previous topic - Next topic

PMA

I've read multiple threads with varying information on configuring PAYPAL yet my palpal does not work, kindly help.

Here is my code - I am getting an error



"business" => PAYPAL_EMAIL, - SHOULD I CHANGE THIS? to me@mybusiness.com



Here is the code I am using:

<?php

$url = "https://www.paypal.com/cgi-bin/webscr";

$order_id = $db->f("order_id");

$tax_total = $db->f("order_tax") + $db->f("order_shipping_tax");

$discount_total = $db->f("coupon_discount") + $db->f("order_discount"); 



// Query for Order Items

$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();



$auth = $_SESSION['auth'];

$cart = $_SESSION['cart'];

$t_quantity = 0;

$disc_perItem = 0;

$i=1;




$dbb = new ps_DB;

$q = "SELECT * FROM #__vm_user_info ";

$q .= "WHERE user_id ='".$my->id."' ";

$dbb->setQuery($q);

$dbb->query();



//logic for applying discounts to multiple items

$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;

}

//query to optain product attributes

while($dboi->next_record()) {



  $prod_attrib = $dboi->f("product_attribute");

  $supp_var['item_name_' . $i] = strip_tags($VM_LANG->_('PHPSHOP_ORDER_LIST_ID') . " " . $db->f("order_id").": ". $dboi->f("order_item_name"));



  if($prod_attrib > ''){

    $attributes_array = explode('
',$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++;

}



$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);





  $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_2_code");

  $zip = $dboui->f("zip");

  $H_PhoneNumber = $dboui->f("phone_1");



$post_variables = Array(

"charset" => "utf8",

"cmd" => "_cart",

"upload" => "1",

"page_style" => "paypal",

"business" => PAYPAL_EMAIL, - SHOULD I CHANGE THIS? to me@mybusiness.com

"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_number"),

"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,

"country" => $address_country,

"zip" => $zip,

"night_phone_b" => $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>';

}

?>



Thanks!

PMA

jameel

Virtuemart + Joomla extensions www.itechshop.org
get Paypal extended, payza extended, moneybookers extended module that let you use 98  currencies nonsupported paypal/alertpay/mb currencies on VM 1.1.x and convert them to supported one at www.itechshop.org

220+ domain extensions www.industechnologies.co