Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

You must specify one shipping option type as the default.


Recommended Posts

(before anything else, apologies for any error in my english)


Hi everyone!


My name is Gabriel Gallardo. I am web designer and I am taking my first steps on Oscommerce.


I can´t fix one bug on Paypal Express Checkout module included in Oscommerce installation. The paypal payment process can not be completed in some case and paypal return the error "You must specify one shipping option type as the default.". The error code is 11823 and you can view here:




The bug occurs pressing the "continue" button on checkout_payment.php if the selected shipping method is the zone rates module (zones.php, included in Oscommerce installation) and the delivery address has the option of use a delivery point of Mondial Relay on checkout_shipping.php. No errors when I have selected Mondial relay as shipping method or the shipping address has no Mondial Relay option.


In case is relevant , I increased the zone numbers in the zones.php module.


In paypal_express.php, the before_process method generates the $params array that contain the shipping information that is used in the sendTransactionToGateway method. But I can´t see the "shipping default option" element inside the array. I´m blocked here.


function before_process() {
 global $customer_id, $order, $sendto, $ppe_token, $ppe_payerid, $HTTP_POST_VARS, $comments, $response_array;
 if (empty($comments)) {
 if (isset($HTTP_POST_VARS['ppecomments']) && tep_not_null($HTTP_POST_VARS['ppecomments'])) {
	 $comments = tep_db_prepare_input($HTTP_POST_VARS['ppecomments']);		 $order->info['comments'] = $comments;
 $params = array('TOKEN' => $ppe_token,
				 'PAYERID' => $ppe_payerid,
				 'AMT' => $this->format_raw($order->info['total']),
				 'CURRENCYCODE' => $order->info['currency']);	 if (is_numeric($sendto) && ($sendto > 0)) {
 $params['SHIPTONAME'] = $order->delivery['firstname'] . ' ' . $order->delivery['lastname'];
 $params['SHIPTOSTREET'] = $order->delivery['street_address'];
 $params['SHIPTOCITY'] = $order->delivery['city'];
 $params['SHIPTOSTATE'] = tep_get_zone_code($order->delivery['country']['id'], $order->delivery['zone_id'], $order->delivery['state']);
 $params['SHIPTOCOUNTRYCODE'] = $order->delivery['country']['iso_code_2'];
 $params['SHIPTOZIP'] = $order->delivery['postcode'];
 $response_array = $this->doExpressCheckoutPayment($params);	 if (($response_array['ACK'] != 'Success') && ($response_array['ACK'] != 'SuccessWithWarning')) {
 tep_redirect(tep_href_link(FILENAME_SHOPPING_CART, 'error_message=' . stripslashes($response_array['L_LONGMESSAGE0']), 'SSL'));



My Oscommerce installation:

Oscommerce 2.3.3 on VPS Centos.

Automatic Oscommerce installation by Plesk.

Addons: zone.php, Mondial Relay, Seo Url 5, Linnks Manager II, one slideshow, Paypal Express Checkout


Thanks in advance.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...