Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Postage not being passed to PayPal


DawnG

Recommended Posts

Is anyone else having this problem with OSC?

 

All of a sudden my postage charges aren't being sent to PayPal (my site has been running for well over a year with no problems) - I've upgraded the PayPal IPN module I was using to the lastest one, and this hasn't helped - a quick google has shown me that this seems to be a problem that a few people using different carts are experiencing.

 

I've contacted PayPal Merchant Technical Support but probably wont get an answer until tomorrow. Has anyone found a work-around I can usse until they get back to me?

Link to comment
Share on other sites

everything is working here... remove the contribution and try install again.

Please read this line: Do you want to find all the answers to your questions? click here. As for contribution database it's located here!

8 people out of 10 don't bother to read installation manuals. I can recommend: if you can't read the installation manual, don't bother to install any contribution yourself.

Before installing contribution or editing/updating/deleting any files, do the full backup, it will save to you & everyone here on the forum time to fix your issues.

Any issues with oscommerce, I am here to help you.

Link to comment
Share on other sites

I've received this response from PayPal:

The IPN notification being delayed was a known issue that arose at the time and has since been resolved. If you continue to receive large delays in the IPN notifications please Update this ticket with the information of the transaction.

 

In regards to chipping Check in the button code being passed to PayPal and look for a variable called "no_shipping" if this variable is set to "0" or "1" it could be potentially causing the issue described. If you find this variable change it's value to "2" which in turn will require shipping information and then require the shipping in all cases.

Response (Autumn)

 

I'm still experiencing this issue, how would I make the changes he suggests?

Link to comment
Share on other sites

I've re-installed the mod, but postage is still not being passed and I'm losing money - any ides?

Someone suggested in another thread that you had to set up your paypal account to not calculate shipping. I don't know if it is true.

Link to comment
Share on other sites

The IPN notification being delayed was a known issue that arose at the time and has since been resolved. If you continue to receive large delays in the IPN notifications please Update this ticket with the information of the transaction.

 

In regards to chipping Check in the button code being passed to PayPal and look for a variable called "no_shipping" if this variable is set to "0" or "1" it could be potentially causing the issue described. If you find this variable change it's value to "2" which in turn will require shipping information and then require the shipping in all cases.

 

Well, I don't know if this will help much, but here it goes....

 

I found the variable "no_shipping" in the paypal_ipn.php file.

 

The code where it gets set looks like this:

 

	  if (MODULE_PAYMENT_PAYPAL_IPN_SHIPPING == 'True') {
  // all that matters is that we send the variables
  // what they contain is irrelevant as PayPal overwrites it with the customer's confirmed PayPal address
  // so what we send is probably not what we'll get back
  $parameters['no_shipping'] = '2';   
  $parameters['address_name'] 		= $name;
  $parameters['address_street'] 	= $order->delivery['street_address'];
  $parameters['address_city'] 		= $order->delivery['city'];
  $parameters['address_zip'] 		= $order->delivery['postcode'];
  $parameters['address_state'] 		= $state_abbr;
  $parameters['address_country_code']	= $order->delivery['country']['iso_code_2'];
  $parameters['address_country']	= $order->delivery['country']['title'];
  $parameters['payer_email'] 		= $order->customer['email_address'];		  
 } else {	  
  $parameters['no_shipping'] = '1'; 
  $parameters['H_PhoneNumber'] 		  = $order->customer['telephone'];	  
  $parameters['first_name'] 		= $order->delivery['firstname'];
  $parameters['last_name'] 		= $order->delivery['lastname'];		
  $parameters['address1'] 		= $order->delivery['street_address'];
  $parameters['address2'] 		= $order->delivery['suburb'];
  $parameters['city'] 			= $order->delivery['city'];
  $parameters['zip'] 			= $order->delivery['postcode'];
  $parameters['state'] 			= $state_abbr;
  $parameters['country'] 			= $order->delivery['country']['iso_code_2'];
  $parameters['email'] 			= $order->customer['email_address'];   
 }

 

Please note that it's value, '1' or '2' is dependant upon this variable:

 

MODULE_PAYMENT_PAYPAL_IPN_SHIPPING

 

Which I found in my database like this:

 

insert into configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) values ('244', 'Force shipping address?', 'MODULE_PAYMENT_PAYPAL_IPN_SHIPPING', 'False', 'If TRUE the address details for the PayPal Seller Protection Policy are sent but customers without a PayPal account must re-enter their details. If set to FALSE order is not eligible for Seller Protection but customers without acount will have their addre', '6', '4', NULL, '2007-07-06 13:34:26', NULL, 'tep_cfg_select_option(array(\'True\', \'False\'),');

 

Like I said, I really don't know where this leaves you, but I figure the more info you have available, the better your decision making process might be.

:blush:

If I suggest you edit any file(s) make a backup first - I'm not perfect and neither are you.

 

"Given enough impetus a parallelogramatically shaped projectile can egress a circular orifice."

- Me -

 

"Headers already sent" - The definitive help

 

"Cannot redeclare ..." - How to find/fix it

 

SSL Implementation Help

 

Like this post? "Like" it again over there >

Link to comment
Share on other sites

Someone suggested in another thread that you had to set up your paypal account to not calculate shipping. I don't know if it is true.

You're right this is true, but this isn't the case in this instance, I've had my site running for over 18 months without this issue, but thanks :blush:

 

I've changed my paypal_ipn code to this:

 

$parameters['business'] = MODULE_PAYMENT_PAYPAL_IPN_ID;
$parameters['amount'] = number_format(($order->info['total'] - $order->info['shipping_cost'] - $order->info['tax']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency));
$parameters['currency_code'] = $my_currency;
$parameters['invoice'] = substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1);
$parameters['custom'] = $customer_id;
$parameters['no_shipping'] = '2';
$parameters['no_note'] = '1';
$parameters['notify_url'] = tep_href_link('ext/modules/payment/paypal_ipn/ipn.php', '', 'SSL', false, false);
$parameters['return'] = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
$parameters['cancel_return'] = tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL');
$parameters['bn'] = $this->identifier;

 

I didn't have that code in my database, so I've added it in - but sadly the postage is still not passing, is there something I've missed?

Link to comment
Share on other sites

I don't know.

 

At least you can go back to PayPal and tell them that "$parameters['no_shipping'] = '2';" can't be the problem.

 

Things like this can be extremely difficult to debug and resolve.

 

I only wish I could be more help.

:blush:

If I suggest you edit any file(s) make a backup first - I'm not perfect and neither are you.

 

"Given enough impetus a parallelogramatically shaped projectile can egress a circular orifice."

- Me -

 

"Headers already sent" - The definitive help

 

"Cannot redeclare ..." - How to find/fix it

 

SSL Implementation Help

 

Like this post? "Like" it again over there >

Link to comment
Share on other sites

Found the problem, PayPal had unticked the box in my profile setting that says:

 

 

Click here to allow transaction-based postage values to override the profile postage settings listed above (if profile settings are enabled).

 

Thanks for all the help.

Link to comment
Share on other sites

Found the problem, PayPal had unticked the box in my profile setting that says:

Click here to allow transaction-based postage values to override the profile postage settings listed above (if profile settings are enabled).

 

Thanks for all the help.

Thank you for posting the fix.

Link to comment
Share on other sites

Its under Profile>Selling Preferences>Postage Calculations at the bottom of the page.

 

Postage charges must be set at 0.00 in PayPal, and no_shipping must be set to 2 in includes/modules/payment/paypal_ipn.php

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...