Jump to content

Customer Address not transferring to Paypal


Recommended Posts

I don't know which version of PrestaShop and which version of Paypal you are using?
Using Paypal standard or Paypal API?

If you are using Paypal Standard, there is parameter address_override.
If address_override = 0, the address will not be overwritten(means address at Paypal will be used)

you can find this in following location, depends the version of you Paypal module

/modules/paypal/reddirect.tpl

or

/modules/paypal/standard/redirect.tpl

  • Like 1
Link to comment
Share on other sites

Thank you very much for the reply.

I'm using 2 modules PayPal v1.6 and PayPal Direct Payment (I'm pretty sure the problem is just with the paypal module, not DirectP)

I'm looking in /modules/paypal

I'm not seeing the redirect file. The only files I see are:

confirmation.tpl
en.php
fr.php
paypal.php
validation.php

only thing I can see that could possibly be related without knowing php is:

        $address = new Address(intval($params['cart']->id_address_invoice));
       $customer = new Customer(intval($params['cart']->id_customer));
       $business = Configuration::get('PAYPAL_BUSINESS');
       $header = Configuration::get('PAYPAL_HEADER');
       $currency = $this->getCurrency();

Link to comment
Share on other sites

for Paypal 1.6, it seems the redirect contents is inside paypal.tpl
It seems there is no this parameter included in Paypal module 1.6 or older

you can try add this line

           <input type="hidden" name="address_override" value="1" />



After this line

           <input type="hidden" name="upload" value="1" />

Link to comment
Share on other sites

ok great, I added the code, hope it works.

While I have you looking, regarding the Paypal Direct Payment module.

I use groupon a lot. so for example people who buy my groupon get a $60 coupon.

If their purchase goes over $60, they get charged their $9 shipping, plus whatever the amount over. this is fine.

but the problem is, If their purchase is under $60, for example $55.50, and shipping is $9, the shipping total in prestashop doesn't calculate in the shipping, it says $4.50. But on the paypal statement their charge is for $9.

what gives?

Link to comment
Share on other sites

Ever since I added the override address code as mentioned above, i get the following message:

"Unable to process payment. Please contact the merchant as the shipping address provided by the merchant is invalid, and the merchant has requested that your order must be shipped to that address."


Here is the full code on the paypal.tpl file:

<form action="{$paypalUrl}" method="post" id="paypal_form" class="hidden">
   <input type="hidden" name="upload" value="1" />
   <input type="hidden" name="address_override" value="1" /> 
   <input type="hidden" name="first_name" value="{$address->firstname}" />
   <input type="hidden" name="last_name" value="{$address->lastname}" />
   <input type="hidden" name="address1" value="{$address->address1}" />
   {if !empty($address->address2)}<input type="hidden" name="address2" value="{$address->address2}" />{/if}
   <input type="hidden" name="city" value="{$address->city}" />
   <input type="hidden" name="zip" value="{$address->postcode}" />
   <input type="hidden" name="country" value="{$country->iso_code}" />
   <input type="hidden" name="amount" value="{$amount}" />
   <input type="hidden" name="email" value="{$customer->email}" />
{if !$discounts}
   <input type="hidden" name="shipping_1" value="{$shipping}" />
   {counter assign=i}
   {foreach from=$products item=product}
   <input type="hidden" name="item_name_{$i}" value="{$product.name}{if isset($product.attributes)} - {$product.attributes}{/if}" />
   <input type="hidden" name="amount_{$i}" value="{$product.paypalAmount}" />
   <input type="hidden" name="quantity_{$i}" value="{$product.quantity}" />
   {counter print=false}
   {/foreach}
{else}
   <input type="hidden" name="item_name_1" value="{l s='My cart' mod='paypal'}" />
   <input type="hidden" name="amount_1" value="{$total}" />
   <input type="hidden" name="quantity_1" value="1" />
{/if}
   <input type="hidden" name="business" value="{$business}" />
   <input type="hidden" name="receiver_email" value="{$business}" />
   <input type="hidden" name="cmd" value="_cart" />
   <input type="hidden" name="charset" value="utf-8" />
   <input type="hidden" name="currency_code" value="{$currency->iso_code}" />
   <input type="hidden" name="payer_id" value="{$customer->id}" />
   <input type="hidden" name="payer_email" value="{$customer->email}" />
   <input type="hidden" name="custom" value="{$id_cart}" />
   <input type="hidden" name="return" value="{$goBackUrl}" />
   <input type="hidden" name="cancel_return" value="{$cancelUrl}" />
   <input type="hidden" name="notify_url" value="{$notify}" />
   {if $header}<input type="hidden" name="cpp_header_image" value="{$header}" />{/if}
   <input type="hidden" name="rm" value="2" />
   <input type="hidden" name="bn" value="PRESTASHOP_WPS" />
   <input type="hidden" name="cbt" value="{l s='Return to' mod='paypal'} {$meta_title}" />
</form>

Link to comment
Share on other sites

“Unable to process payment. Please contact the merchant as the shipping address provided by the merchant is invalid, and the merchant has requested that your order must be shipped to that address.”

This error is caused in different scenarios. One scenario is that your address in a country contains state/province, but address submit to Paypal does not gave the state data. You need to configure your store correctly for those countries.
Or if your Paypal account in one country, but you submit address is in another country, same error will occur.

If you use over_write = 0, then you can avoid this error. So you need to trade off which way you want to do.'
Link to comment
Share on other sites

When you say, “You need to configure your store correctly for those countries.”


I mean for those countries contains state, like USA/Canada/China/Japan,... you have to go countries and select Contains Sate as Yes. Also you need to set up state/province data for those countries.

I think only a few countries(USA/Canada) are already set by default at PrestaShop.

Link to comment
Share on other sites

  • 1 month later...

I've tried this: http://xbfish.com/2010/11/page/3/
and this http://www.addons-modules.com/prestashop-tips/2010/12/prestashop-tip-wrong-shiping-address-bug-in-stanadard-paypal-modules/
Modified files:

redirect.php
$address = new Address(intval($cart->id_address_delivery));

redirect.tpl
<input type="hidden" name="address_override" value="0" />

but still nothing! I still get the same error. They only ship to the US...
www(dot)keatons-cupboard(dot)com(slash)store

Prestashop 1.3.7 / Paypal 1.7.1

Please help!

Link to comment
Share on other sites

@AnnaEw,
the link you listed, only to correct invoice to delivery address. Most of cases they are the same.
I guess you didn't set "address_override" correctly. You must set is to 0.
Please make sure you have done this correctly.

Link to comment
Share on other sites

  • 5 years later...

I don't know which version of PrestaShop and which version of Paypal you are using?

Using Paypal standard or Paypal API?

 

If you are using Paypal Standard, there is parameter address_override.

If address_override = 0, the address will not be overwritten(means address at Paypal will be used)

 

you can find this in following location, depends the version of you Paypal module

 

/modules/paypal/reddirect.tpl

 

or

 

/modules/paypal/standard/redirect.tpl

Hello, I am having the same issue. I contacted PayPal and they answered me this:

 
"From my understanding you were getting error "We're sorry, things don't appear to be working at the moment. Please try again later."
 
Upon checking, you have set address_override=1, but you did not sent the shipping address in the request.
 
Basically this issue is related to this upgrade as mentioned in here: https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ2067&expand=true&locale=en_US"
 
I am using PayPal USA, Canada v1.3.8 with Ps. 1.6.0.6
Here I cannot find (does not have it) the:
 
/modules/paypal/reddirect.tpl

or

 

/modules/paypal/standard/redirect.tpl

 

Can you give me a hand and show me where should I be doing the proper change?

Thanks in advance.

Edited by HHServices (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...