Post by duneracerweston » Sat Jul 20, 2019 7:29 am

OC version 3.0.3.1
Extension paypal express/paypal standard

My site is not on a open style setup and we are ready with everything but the shipping settings setup. i have tried to use both of the paypal extensions, and spent about 48 hours now digging through this forum and cant find a way to tweek this to work on OC 3.0.3.1 so here goes.

Up until now i have sold on ebay and directly from paypal using the create invoice and billing customers directly and by doing so i can do my USPS shipping directly from the invoice or payment receipt in the activities tab of my business paypal. Now after setting up a test on the website i receive the payment and a invoice number from OC but no customer info/shipping info/order info. Is there a extension i can use? Or is there a patch im missing or code tweek i can do to complete this? ive found a work around and a fix on on both oc 1.x and 2.x but i cant find anything on the OC 3.0 forum.

%99.99 of my buisness is shipped out of state with about 30-100 orders a week so manually entering in each address and keeping up with each order individually would be a nightmare for me once this site "goes live"

I also have not found a way to print a shipping label from the admin side of the website either which could work but would not be my preferred way to do it.

I have also tried using different USPS shipping extensions with no change to any of it either in sandbox or in live configuration.

I cant think of any additional info i can add to help describe my issue at this point, and i read the forum rules and believe i included all of the sujested info with interest, but if there is anything else info wise i did not supply to help with this let me know.

Thank you for you time and or help.
Weston


Posts

Joined
Sat Jul 20, 2019 6:42 am

Post by agatha65 » Sun Jul 21, 2019 2:50 am

In catalog/view/theme/default/template/extension/payment/pp_standard.twig
Replace

Code: Select all

<input type="hidden" name="no_shipping" value="1" />
with

Code: Select all

<input type="hidden" name="no_shipping" value="2" />
https://developer.paypal.com/docs/class ... -variables
no_shipping
Valid value is:
0. Prompt for an address, but do not require one.
1. Do not prompt for an address.
2. Prompt for an address and require one.

Suppliers Module - XML, CSV, XLS Product Feed Import and Update
Rich Snippets | Facebook Open Graph Meta Tags | WebP Images
Image


User avatar
Active Member

Posts

Joined
Fri Mar 16, 2012 10:18 am
Location - Canada, QC

Post by duneracerweston » Fri Jul 26, 2019 10:39 am

After following the above suggestion i am now blocked with the "Warning: Shipping method required!" text under the guest check out to no avail.

Using the flat rate shipping extension.


Posts

Joined
Sat Jul 20, 2019 6:42 am

Post by ADD Creative » Fri Jul 26, 2019 6:04 pm

The change above would not affect the shipping method as the payment method is only done after shipping is selected. Try clearing your browser cookies or check the setting of your Geo Zones.

The PayPal Express module does seem to have code to send the shipping address. If that is not working, it may be a configuration problem.

For the PayPal Standard module, the lack of shipping address in down to limitations with PayPal's standard web payments. It only allows for one address to be passed to them. By default OpenCart send the payment address. As well as changing the no_shipping as suggested above. You could change the address sent to PayPal.

In catalog/controller/extension/payment/pp_standard.php, change

Code: Select all

			$data['first_name'] = $order_info['payment_firstname'];
			$data['last_name'] = $order_info['payment_lastname'];
			$data['address1'] = $order_info['payment_address_1'];
			$data['address2'] = $order_info['payment_address_2'];
			$data['city'] = $order_info['payment_city'];
			$data['zip'] = $order_info['payment_postcode'];
			$data['country'] = $order_info['payment_iso_code_2'];
to

Code: Select all

			$data['first_name'] = $order_info['shipping_firstname'];
			$data['last_name'] = $order_info['shipping_lastname'];
			$data['address1'] = $order_info['shipping_address_1'];
			$data['address2'] = $order_info['shipping_address_2'];
			$data['city'] = $order_info['shipping_city'];
			$data['zip'] = $order_info['shipping_postcode'];
			$data['country'] = $order_info['shipping_iso_code_2'];
Some addresses my get rejected due to the missing state. Try adding something like the following after the above.

Code: Select all

			if ($order_info['payment_iso_code_2'] == 'US') {
				$data['state'] = $order_info['shipping_zone_code'];
			} else {
				$data['state'] = $order_info['shipping_zone'];
			}
And add the following to catalog/view/theme/default/template/extension/payment/pp_standard.twig:

Code: Select all

  <input type="hidden" name="state" value="{{ $state }}" />

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom
Who is online

Users browsing this forum: No registered users and 321 guests