Post by jtam » Wed Jun 22, 2011 1:05 pm

What a discount code is used during checkout, customers get this error when being sent to PayPal for the final step.
"The link you have used to enter the PayPal system contains an incorrectly formatted item amount."
Never encountered this before 1.5.x and I can't get too much useful info on Google. Please help, thanks!

Attachments

000.png

000.png (7.33 KiB) Viewed 7412 times


Newbie

Posts

Joined
Tue Aug 31, 2010 5:40 pm

Post by Qphoria » Wed Jun 22, 2011 11:46 pm

This might happen if your decimal points in the currency are set to more than 2

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by jtam » Sat Jun 25, 2011 12:57 am

Qphoria wrote:This might happen if your decimal points in the currency are set to more than 2
Checked again and confirmed that's "2" for all currencies.

Newbie

Posts

Joined
Tue Aug 31, 2010 5:40 pm

Post by jtam » Sat Jun 25, 2011 2:18 am

It's strange but i see "$-5.00" instead of "-$5.00". Is this the reason of this issue?

Attachments

Untitled.png

Untitled.png (8.02 KiB) Viewed 7392 times


Newbie

Posts

Joined
Tue Aug 31, 2010 5:40 pm

Post by jtam » Sun Jun 26, 2011 12:24 am

jtam wrote:What a discount code is used during checkout, customers get this error when being sent to PayPal for the final step.
"The link you have used to enter the PayPal system contains an incorrectly formatted item amount."
Never encountered this before 1.5.x and I can't get too much useful info on Google. Please help, thanks!

I've confirmed that this issue also occurs on a clean installation of opencart 1.5.0.5. The key to reproduce this issue is to set free shipping. Then any discount won't work!

Newbie

Posts

Joined
Tue Aug 31, 2010 5:40 pm

Post by YeshWillis » Thu Jun 30, 2011 11:41 pm

Having the Same Issue, Any one have any luck fixing the Issue?

Newbie

Posts

Joined
Thu Jun 30, 2011 11:39 pm

Post by iuchewie » Fri Jul 22, 2011 12:26 pm

Is this being worked on / addressed? I use PayPal as my only payment option. At this point this bug is a deal breaker for me using this software.

Newbie

Posts

Joined
Wed Jul 20, 2011 2:10 am

Post by iuchewie » Fri Jul 22, 2011 12:30 pm

jtam wrote:The key to reproduce this issue is to set free shipping. Then any discount won't work!
No sir... I'm getting this issue whether I've got free shipping, shipping charges, etc.

Newbie

Posts

Joined
Wed Jul 20, 2011 2:10 am

Post by nickv67 » Sat Jul 23, 2011 5:28 pm

i have the same issue with a clean install of opencart 1.5.0.5 ... any ideas as to how to fix it please?

Newbie

Posts

Joined
Sat Jul 23, 2011 5:26 pm

Post by burniesb » Sun Aug 21, 2011 5:16 pm

Hi guys,

A client of mine was having the exact same issue with her installation of OC v1.5.0.5.

After some testing I noted that the PayPal 'incorrectly formatted' error occurs when:

- A coupon or negatively priced item is applied to the shopping cart, and
- The total value of the negatively priced items exceed the price of shipping

I have tracked down the relevant file within the OpenCart system that communicates with PayPal's servers. Currently it itemises orders, which in the above circumstances causes the error. Although their technical manual suggests otherwise, PayPal does not accept negatively priced items.

My suggested fix is to modify this file and send order payment information as a lump sum - rather then item by item. This would avoid the occurrence of any negative values as any coupons would have already been applied. Not great - but it is a working fix.


1. Download the following file: catalog/controller/payment/pp_standard.php

2. Make a copy of the file for for backup purposes

3. Find the following block of code and delete it (or comment it out):

Code: Select all

foreach ($this->cart->getProducts() as $product) {

				

				$option_data = array();

	

				foreach ($product['option'] as $option) {

					$option_data[] = array(

						'name'  => $option['name'],

						'value' => $option['option_value']

					);

				}

				

				$this->data['products'][] = array(

					'name'     => $product['name'],

					'model'    => $product['model'],

					'price'    => $this->currency->format($product['price'], $currency, false, false),

					'quantity' => $product['quantity'],

					'option'   => $option_data,

					'weight'   => $product['weight']

				);

			}
4. Find the following line of code:

Code: Select all

'price'    => $this->currency->format($order_info['total'] - $this->cart->getSubTotal(), $currency, false, false),
and replace it with:

Code: Select all

'price'    => $this->currency->format($order_info['total'], $currency, false, false),
5. Find the following line of code:

Code: Select all

'name'     => $this->language->get('text_total'),
and replace it with:

Code: Select all

'name'     => "Order total",
(feel free to replace the wording within the inverted commas)

6. Commit the file to the server, overriding the old version of pp_standard.php

Newbie

Posts

Joined
Wed Aug 26, 2009 3:07 pm

Post by Shemuel » Wed Aug 24, 2011 12:31 pm

I did follow the above solution , but I still get the error , just to note that the step #4 was already fixed by me , maybe I have a newer version than yours.
anyway I still have the above issue

Code: Select all

	$this->data['products'] = array();
			
	/*		foreach ($this->cart->getProducts() as $product) {
				$option_data = array();
	
				foreach ($product['option'] as $option) {
					$option_data[] = array(
					'name'  => $option['name'],
						'value' => $option['option_value']
					);
			}
				
			$this->data['products'][] = array(
				'name'     => $product['name'],
					'model'    => $product['model'],
					'price'    => $this->currency->format($product['price'], $currency, false, false),
					'quantity' => $product['quantity'],
					'option'   => $option_data,
					'weight'   => $product['weight']
				);
			}	*/
			'price'    => $this->currency->format($order_info['total'], $currency, false, false),
			
			
			$this->data['discount_amount_cart'] = 0;
			
			$total = $this->currency->format($order_info['total'] - $this->cart->getSubTotal(), $currency, false, false);

			if ($total > 0) {
				$this->data['products'][] = array(
				//	'name'     => $this->language->get('text_total'),
				    'name'     => "Order total",
					'model'    => '',
					'price'    => $total,
					'quantity' => 1,
					'option'   => array(),
					'weight'   => 0
dormeasy.com

Newbie

Posts

Joined
Sat Aug 20, 2011 1:50 am

Post by burniesb » Thu Aug 25, 2011 3:05 pm

Shemuel, the code you posted above isn't syntactically correct. Did you copy and paste this directly from your OpenCart system?

Immediately below the commented-out lines, you have:

Code: Select all

'price'    => $this->currency->format($order_info['total'], $currency, false, false),
I haven't run your code, but I'm certain you would get a PHP error that would halt the processing of the script.

You'll need to comment the above line out or remove it completely.

As for the possibility of a newer version - my fix is for version 1.5.0.5. Please check what version you have (this will be apart of the name of the installation ZIP file). I can't guarantee this will work for other versions.

Let me know how you go.

Newbie

Posts

Joined
Wed Aug 26, 2009 3:07 pm

Post by Shemuel » Fri Aug 26, 2011 3:11 pm

Thanks for your reply , my version is 1.5.1.1
here is the full text of the file I would appreciateit if you can find a solution. at this point paypal works but we get the above error.

Code: Select all

<?php
class ControllerPaymentPPStandard extends Controller {
	protected function index() {
		$this->language->load('payment/pp_standard');
		
		$this->data['text_testmode'] = $this->language->get('text_testmode');		
    	
		$this->data['button_confirm'] = $this->language->get('button_confirm');

		$this->data['testmode'] = $this->config->get('pp_standard_test');
		
		if (!$this->config->get('pp_standard_test')) {
    		$this->data['action'] = 'https://www.paypal.com/cgi-bin/webscr';
  		} else {
			$this->data['action'] = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
		}

		$this->load->model('checkout/order');

		$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);

		if ($order_info) {
			$currencies = array(
				'AUD',
				'CAD',
				'EUR',
				'GBP',
				'JPY',
				'USD',
				'NZD',
				'CHF',
				'HKD',
				'SGD',
				'SEK',
				'DKK',
				'PLN',
				'NOK',
				'HUF',
				'CZK',
				'ILS',
				'MXN',
				'MYR',
				'BRL',
				'PHP',
				'TWD',
				'THB',
				'TRY'
			);
			
			if (in_array($order_info['currency_code'], $currencies)) {
				$currency = $order_info['currency_code'];
			} else {
				$currency = 'USD';
			}		
		
			$this->data['business'] = $this->config->get('pp_standard_email');
			$this->data['item_name'] = html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8');				
			
			$this->data['products'] = array();
			
			foreach ($this->cart->getProducts() as $product) {
				$option_data = array();
	
				foreach ($product['option'] as $option) {
					$option_data[] = array(
					'name'  => $option['name'],
						'value' => $option['option_value']
					);
			}
				
			$this->data['products'][] = array(
				'name'     => $product['name'],
					'model'    => $product['model'],
					'price'    => $this->currency->format($product['price'], $currency, false, false),
					'quantity' => $product['quantity'],
					'option'   => $option_data,
					'weight'   => $product['weight']
				);
			}	
			
			
			
			$this->data['discount_amount_cart'] = 0;
			
			$total = $this->currency->format($order_info['total'] - $this->cart->getSubTotal(), $currency, false, false);

			if ($total > 0) {
				$this->data['products'][] = array(
					'name'     => $this->language->get('text_total'),
			
					'model'    => '',
					'price'    => $total,
					'quantity' => 1,
					'option'   => array(),
					'weight'   => 0
				);	
			} else {
				$this->data['discount_amount_cart'] -= $this->currency->format($total, $currency, FALSE, FALSE);
			}
			
			$this->data['currency_code'] = $currency;
			$this->data['first_name'] = html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8');	
			$this->data['last_name'] = html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');	
			$this->data['address1'] = html_entity_decode($order_info['payment_address_1'], ENT_QUOTES, 'UTF-8');	
			$this->data['address2'] = html_entity_decode($order_info['payment_address_2'], ENT_QUOTES, 'UTF-8');	
			$this->data['city'] = html_entity_decode($order_info['payment_city'], ENT_QUOTES, 'UTF-8');	
			$this->data['zip'] = html_entity_decode($order_info['payment_postcode'], ENT_QUOTES, 'UTF-8');	
			$this->data['country'] = $order_info['payment_iso_code_2'];
			$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback');
			$this->data['email'] = $order_info['email'];
			$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8') . ' ' . html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');
			$this->data['lc'] = $this->session->data['language'];
			$this->data['return'] = $this->url->link('checkout/success');
			$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback');
			$this->data['cancel_return'] = $this->url->link('checkout/checkout', '', 'SSL');
			
			if (!$this->config->get('pp_standard_transaction')) {
				$this->data['paymentaction'] = 'authorization';
			} else {
				$this->data['paymentaction'] = 'sale';
			}
			
			$this->load->library('encryption');
	
			$encryption = new Encryption($this->config->get('config_encryption'));
	
			$this->data['custom'] = $encryption->encrypt($this->session->data['order_id']);
		
			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/pp_standard.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/payment/pp_standard.tpl';
			} else {
				$this->template = 'default/template/payment/pp_standard.tpl';
			}
	
			$this->render();
		}
	}
	
	public function callback() {
		$this->load->library('encryption');
	
		$encryption = new Encryption($this->config->get('config_encryption'));
		
		if (isset($this->request->post['custom'])) {
			$order_id = $encryption->decrypt($this->request->post['custom']);
		} else {
			$order_id = 0;
		}		
		
		$this->load->model('checkout/order');
				
		$order_info = $this->model_checkout_order->getOrder($order_id);
		
		if ($order_info) {
			$request = 'cmd=_notify-validate';
		
			foreach ($this->request->post as $key => $value) {
				$request .= '&' . $key . '=' . urlencode(html_entity_decode($value, ENT_QUOTES, 'UTF-8'));
			}
			
			if (!$this->config->get('pp_standard_test')) {
				$curl = curl_init('https://www.paypal.com/cgi-bin/webscr');
			} else {
				$curl = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr');
			}

			curl_setopt($curl, CURLOPT_POST, true);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($curl, CURLOPT_HEADER, false);
			curl_setopt($curl, CURLOPT_TIMEOUT, 30);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
					
			$response = curl_exec($curl);
			
			if (!$response) {
				$this->log->write('PP_STANDARD :: CURL failed ' . curl_error($curl) . '(' . curl_errno($curl) . ')');
			}
					
			if ($this->config->get('pp_standard_debug')) {
				$this->log->write('PP_STANDARD :: IPN REQUEST: ' . $request);
				$this->log->write('PP_STANDARD :: IPN RESPONSE: ' . $response);
			}
						
			if ((strcmp($response, 'VERIFIED') == 0 || strcmp($response, 'UNVERIFIED') == 0) && isset($this->request->post['payment_status'])) {
				$order_status_id = $this->config->get('config_order_status_id');
				
				switch($this->request->post['payment_status']) {
					case 'Canceled_Reversal':
						$order_status_id = $this->config->get('pp_standard_canceled_reversal_status_id');
						break;
					case 'Completed':
						if ((float)$this->request->post['mc_gross'] == $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false)) {
							$order_status_id = $this->config->get('pp_standard_completed_status_id');
						}
						break;
					case 'Denied':
						$order_status_id = $this->config->get('pp_standard_denied_status_id');
						break;
					case 'Expired':
						$order_status_id = $this->config->get('pp_standard_expired_status_id');
						break;
					case 'Failed':
						$order_status_id = $this->config->get('pp_standard_failed_status_id');
						break;
					case 'Pending':
						$order_status_id = $this->config->get('pp_standard_pending_status_id');
						break;
					case 'Processed':
						$order_status_id = $this->config->get('pp_standard_processed_status_id');
						break;
					case 'Refunded':
						$order_status_id = $this->config->get('pp_standard_refunded_status_id');
						break;
					case 'Reversed':
						$order_status_id = $this->config->get('pp_standard_reversed_status_id');
						break;	 
					case 'Voided':
						$order_status_id = $this->config->get('pp_standard_voided_status_id');
						break;								
				}
				
				if (!$order_info['order_status_id']) {
					$this->model_checkout_order->confirm($order_id, $order_status_id);
				} else {
					$this->model_checkout_order->update($order_id, $order_status_id);
				}
			} else {
				$this->model_checkout_order->confirm($order_id, $this->config->get('config_order_status_id'));
			}
			
			curl_close($curl);
		}	
	}
}
?>

Newbie

Posts

Joined
Sat Aug 20, 2011 1:50 am

Post by awollenh » Mon Aug 29, 2011 4:57 pm

Hello,

i've got the same problem and the Version 1.5.0.

What i need to do to solve this problem? ???

Newbie

Posts

Joined
Fri Jul 29, 2011 3:46 pm

Post by awollenh » Tue Aug 30, 2011 6:33 pm

Tried burniesb solution and it works!

Thank you! O0

Newbie

Posts

Joined
Fri Jul 29, 2011 3:46 pm

Post by burniesb » Wed Aug 31, 2011 4:31 pm

Shemuel wrote:Thanks for your reply , my version is 1.5.1.1
here is the full text of the file I would appreciateit if you can find a solution. at this point paypal works but we get the above error.

Code: Select all

<?php
class ControllerPaymentPPStandard extends Controller {
	protected function index() {
		$this->language->load('payment/pp_standard');
		
		$this->data['text_testmode'] = $this->language->get('text_testmode');		
    	
		$this->data['button_confirm'] = $this->language->get('button_confirm');

		$this->data['testmode'] = $this->config->get('pp_standard_test');
		
		if (!$this->config->get('pp_standard_test')) {
    		$this->data['action'] = 'https://www.paypal.com/cgi-bin/webscr';
  		} else {
			$this->data['action'] = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
		}

		$this->load->model('checkout/order');

		$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);

		if ($order_info) {
			$currencies = array(
				'AUD',
				'CAD',
				'EUR',
				'GBP',
				'JPY',
				'USD',
				'NZD',
				'CHF',
				'HKD',
				'SGD',
				'SEK',
				'DKK',
				'PLN',
				'NOK',
				'HUF',
				'CZK',
				'ILS',
				'MXN',
				'MYR',
				'BRL',
				'PHP',
				'TWD',
				'THB',
				'TRY'
			);
			
			if (in_array($order_info['currency_code'], $currencies)) {
				$currency = $order_info['currency_code'];
			} else {
				$currency = 'USD';
			}		
		
			$this->data['business'] = $this->config->get('pp_standard_email');
			$this->data['item_name'] = html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8');				
			
			$this->data['products'] = array();
			
			foreach ($this->cart->getProducts() as $product) {
				$option_data = array();
	
				foreach ($product['option'] as $option) {
					$option_data[] = array(
					'name'  => $option['name'],
						'value' => $option['option_value']
					);
			}
				
			$this->data['products'][] = array(
				'name'     => $product['name'],
					'model'    => $product['model'],
					'price'    => $this->currency->format($product['price'], $currency, false, false),
					'quantity' => $product['quantity'],
					'option'   => $option_data,
					'weight'   => $product['weight']
				);
			}	
			
			
			
			$this->data['discount_amount_cart'] = 0;
			
			$total = $this->currency->format($order_info['total'] - $this->cart->getSubTotal(), $currency, false, false);

			if ($total > 0) {
				$this->data['products'][] = array(
					'name'     => $this->language->get('text_total'),
			
					'model'    => '',
					'price'    => $total,
					'quantity' => 1,
					'option'   => array(),
					'weight'   => 0
				);	
			} else {
				$this->data['discount_amount_cart'] -= $this->currency->format($total, $currency, FALSE, FALSE);
			}
			
			$this->data['currency_code'] = $currency;
			$this->data['first_name'] = html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8');	
			$this->data['last_name'] = html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');	
			$this->data['address1'] = html_entity_decode($order_info['payment_address_1'], ENT_QUOTES, 'UTF-8');	
			$this->data['address2'] = html_entity_decode($order_info['payment_address_2'], ENT_QUOTES, 'UTF-8');	
			$this->data['city'] = html_entity_decode($order_info['payment_city'], ENT_QUOTES, 'UTF-8');	
			$this->data['zip'] = html_entity_decode($order_info['payment_postcode'], ENT_QUOTES, 'UTF-8');	
			$this->data['country'] = $order_info['payment_iso_code_2'];
			$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback');
			$this->data['email'] = $order_info['email'];
			$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8') . ' ' . html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');
			$this->data['lc'] = $this->session->data['language'];
			$this->data['return'] = $this->url->link('checkout/success');
			$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback');
			$this->data['cancel_return'] = $this->url->link('checkout/checkout', '', 'SSL');
			
			if (!$this->config->get('pp_standard_transaction')) {
				$this->data['paymentaction'] = 'authorization';
			} else {
				$this->data['paymentaction'] = 'sale';
			}
			
			$this->load->library('encryption');
	
			$encryption = new Encryption($this->config->get('config_encryption'));
	
			$this->data['custom'] = $encryption->encrypt($this->session->data['order_id']);
		
			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/pp_standard.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/payment/pp_standard.tpl';
			} else {
				$this->template = 'default/template/payment/pp_standard.tpl';
			}
	
			$this->render();
		}
	}
	
	public function callback() {
		$this->load->library('encryption');
	
		$encryption = new Encryption($this->config->get('config_encryption'));
		
		if (isset($this->request->post['custom'])) {
			$order_id = $encryption->decrypt($this->request->post['custom']);
		} else {
			$order_id = 0;
		}		
		
		$this->load->model('checkout/order');
				
		$order_info = $this->model_checkout_order->getOrder($order_id);
		
		if ($order_info) {
			$request = 'cmd=_notify-validate';
		
			foreach ($this->request->post as $key => $value) {
				$request .= '&' . $key . '=' . urlencode(html_entity_decode($value, ENT_QUOTES, 'UTF-8'));
			}
			
			if (!$this->config->get('pp_standard_test')) {
				$curl = curl_init('https://www.paypal.com/cgi-bin/webscr');
			} else {
				$curl = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr');
			}

			curl_setopt($curl, CURLOPT_POST, true);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($curl, CURLOPT_HEADER, false);
			curl_setopt($curl, CURLOPT_TIMEOUT, 30);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
					
			$response = curl_exec($curl);
			
			if (!$response) {
				$this->log->write('PP_STANDARD :: CURL failed ' . curl_error($curl) . '(' . curl_errno($curl) . ')');
			}
					
			if ($this->config->get('pp_standard_debug')) {
				$this->log->write('PP_STANDARD :: IPN REQUEST: ' . $request);
				$this->log->write('PP_STANDARD :: IPN RESPONSE: ' . $response);
			}
						
			if ((strcmp($response, 'VERIFIED') == 0 || strcmp($response, 'UNVERIFIED') == 0) && isset($this->request->post['payment_status'])) {
				$order_status_id = $this->config->get('config_order_status_id');
				
				switch($this->request->post['payment_status']) {
					case 'Canceled_Reversal':
						$order_status_id = $this->config->get('pp_standard_canceled_reversal_status_id');
						break;
					case 'Completed':
						if ((float)$this->request->post['mc_gross'] == $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false)) {
							$order_status_id = $this->config->get('pp_standard_completed_status_id');
						}
						break;
					case 'Denied':
						$order_status_id = $this->config->get('pp_standard_denied_status_id');
						break;
					case 'Expired':
						$order_status_id = $this->config->get('pp_standard_expired_status_id');
						break;
					case 'Failed':
						$order_status_id = $this->config->get('pp_standard_failed_status_id');
						break;
					case 'Pending':
						$order_status_id = $this->config->get('pp_standard_pending_status_id');
						break;
					case 'Processed':
						$order_status_id = $this->config->get('pp_standard_processed_status_id');
						break;
					case 'Refunded':
						$order_status_id = $this->config->get('pp_standard_refunded_status_id');
						break;
					case 'Reversed':
						$order_status_id = $this->config->get('pp_standard_reversed_status_id');
						break;	 
					case 'Voided':
						$order_status_id = $this->config->get('pp_standard_voided_status_id');
						break;								
				}
				
				if (!$order_info['order_status_id']) {
					$this->model_checkout_order->confirm($order_id, $order_status_id);
				} else {
					$this->model_checkout_order->update($order_id, $order_status_id);
				}
			} else {
				$this->model_checkout_order->confirm($order_id, $this->config->get('config_order_status_id'));
			}
			
			curl_close($curl);
		}	
	}
}
?>
Shemuel, comment out this part of your code and try it again:

Code: Select all

foreach ($this->cart->getProducts() as $product) {
                $option_data = array();
       
                foreach ($product['option'] as $option) {
                   $option_data[] = array(
                   'name'  => $option['name'],
                      'value' => $option['option_value']
                   );
             }
                
             $this->data['products'][] = array(
                'name'     => $product['name'],
                   'model'    => $product['model'],
                   'price'    => $this->currency->format($product['price'], $currency, false, false),
                   'quantity' => $product['quantity'],
                   'option'   => $option_data,
                   'weight'   => $product['weight']
                );
             }

Newbie

Posts

Joined
Wed Aug 26, 2009 3:07 pm

Post by champagnechocolate » Wed Sep 14, 2011 12:31 am

Any help for previous versions? I can't beleive paypal is this lame!

I have 1.4.9

User avatar
New member

Posts

Joined
Thu May 05, 2011 9:14 pm

Post by champagnechocolate » Wed Oct 19, 2011 3:34 am

Has anyone got this working? Could they post their pp_standard file?

User avatar
New member

Posts

Joined
Thu May 05, 2011 9:14 pm

Post by hoffy5 » Fri Oct 21, 2011 1:00 am

Ditto for me using Voucher! Using version 1.5.0

Help!!!!!!!
Bob

Newbie

Posts

Joined
Sat Aug 27, 2011 7:31 pm

Post by hebiki » Sat Nov 05, 2011 1:34 am

any more information on this. my client is also receiving an error when free shipping and a discount code is involved.

Version 1.5.0

New member

Posts

Joined
Sun Oct 10, 2010 4:00 pm
Who is online

Users browsing this forum: No registered users and 6 guests