GabrielGallardo Posted January 25, 2013 Share Posted January 25, 2013 (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: https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_errorcodes 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.