Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Paypal- "return to merchant error" please help


philpop

Recommended Posts

I have been having one hell of a time with this paypal module.

 

I want to accept payment only in Aud $$$$

 

 

I have installed the Aud paypal module.

 

now, when the customer goes through the checkout process,

 

1) the amount does not carry though to the paypal site

 

2) they get this error

 

Warning: Cannot modify header information - headers already sent by (output started at /home/heli/public_html/includes/modules/payment/paypal.php:141) in /home/heli/public_html/includes/functions/general.php on line 29

 

 

can someone please help me, this is killing me,

 

I have tried

1) the return to merchant feature in paypal to "on"

 

I have had this same problem for the last 6 months.

 

any help would be much appreciated

 

thanks

 

Phil

Edited by Johnson
Link to comment
Share on other sites

That error has nothing to do with the type of currency you are accepting.

 

I would open your paypal module and try this... (fron the knowledgebase)

 

A common cause to the problem is spaces ("whitespace") existing before the first <?php tag and/or after the last ?> tag with the files involved. By removing all spaces so that <?php is at the very start of the file and that ?> is at the very end of the file, no content would have been sent to the client and headers can be set safely.

 

Open the file in a text editor -> place your mouse cursor after the very last ?> tag at the very end of the file and press the 'delete' key on your computer keyboard. Make sure that whitespace does not exist before the opening <?php tag at the very beginning of the file - delete whitespace if present. Save and upload the file to your installation.

 

And see if that helps

Wendy James

 

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Link to comment
Share on other sites

That error has nothing to do with the type of currency you are accepting.

 

I would open your paypal module and try this... (fron the knowledgebase)

 

A common cause to the problem is spaces ("whitespace") existing before the first <?php tag and/or after the last ?> tag with the files involved. By removing all spaces so that <?php is at the very start of the file and that ?> is at the very end of the file, no content would have been sent to the client and headers can be set safely.

 

Open the file in a text editor -> place your mouse cursor after the very last ?> tag at the very end of the file and press the 'delete' key on your computer keyboard. Make sure that whitespace does not exist before the opening <?php tag at the very beginning of the file - delete whitespace if present. Save and upload the file to your installation.

 

And see if that helps

 

Do you know the answer to question 1?

why doesnt the "amount" carry over to the paypal page??

Link to comment
Share on other sites

Well that could all depend. Is the error coming before they go to paypal or when they come bacK?

 

If the error is stopping them from going to paypal or stopping osCommerce from sending all of the information this could cause your problem.

 

Other than that, sorry I can't help. I have never had any issues with paypal so I don't know what it could be.

Have you set up all the correct information on paypals end? Such as taxes? I believe I had to fill all that out on their site.

 

Woops thought your problem was just the taxes. Sorry. I would try solving your error first, then work on the second issue.

Edited by wendyjames

Wendy James

 

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Link to comment
Share on other sites

Oh, and have you thought of maybe editing the module that comes with osCommerce to only accept Aud? maybe there is something wrong with the particular module you are using.

Wendy James

 

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Link to comment
Share on other sites

Oh, and have you thought of maybe editing the module that comes with osCommerce to only accept Aud? maybe there is something wrong with the particular module you are using.

 

I have been mucking around with it for a while now, and relised I had 2 paypal modules on my server, and that gave me the error problem. I deleted one of them, now that bits all good.

 

the only issue I have now is when someone checks out, the total amount does not transfer into the paypal page, the customer has to manually do it, and if they forgot, then they have to press back, which screws up everything.

 

any idea?

 

thanks

Link to comment
Share on other sites

Glad to hear you got the first problem taken care of. I really don't know what could be causing that problem. Hopefully someone else will come along who does.

Wendy James

 

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Link to comment
Share on other sites

Glad to hear you got the first problem taken care of. I really don't know what could be causing that problem. Hopefully someone else will come along who does.

 

Hey, bad news, back to the first question.

with the normal paypal module, your can select many currencys. every currency works except Aud. do you know why?

 

then I installed the Aud paypal contribution, which has that error i mentioned above. this is it here. can you tell me what you think I need to change?

 

<?php

/*

$Id: paypal.php,v 1.39 2003/01/29 19:57:15 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

 

Modification: 2003, J.H.J. Zimniak, PayPal Fee Charge

 

*/

 

class paypal {

var $code, $title, $description, $enabled;

 

// class constructor

function paypal() {

global $order;

 

$this->code = 'paypal';

$this->title = MODULE_PAYMENT_PAYPAL_TEXT_TITLE;

$this->description = MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION;

$this->sort_order = MODULE_PAYMENT_PAYPAL_SORT_ORDER;

$this->enabled = ((MODULE_PAYMENT_PAYPAL_STATUS == 'True') ? true : false);

 

if ((int)MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID > 0) {

$this->order_status = MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID;

}

 

if (is_object($order)) $this->update_status();

 

$this->form_action_url = 'https://secure.paypal.com/cgi-bin/webscr';

}

 

// class methods

function update_status() {

global $order;

 

if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE > 0) ) {

$check_flag = false;

$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAYPAL_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");

while ($check = tep_db_fetch_array($check_query)) {

if ($check['zone_id'] < 1) {

$check_flag = true;

break;

} elseif ($check['zone_id'] == $order->billing['zone_id']) {

$check_flag = true;

break;

}

}

 

if ($check_flag == false) {

$this->enabled = false;

}

}

}

 

function javascript_validation() {

return false;

}

 

function selection() {

return array('id' => $this->code,

'module' => $this->title);

}

 

function pre_confirmation_check() {

return false;

}

 

function confirmation() {

return false;

}

 

function process_button() {

global $order, $currencies, $currency;

 

if (MODULE_PAYMENT_PAYPAL_CURRENCY == 'Selected Currency') {

$my_currency = $currency;

} else {

$my_currency = substr(MODULE_PAYMENT_PAYPAL_CURRENCY, 5);

}

if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD','AUD'))) {

$my_currency = 'AUD';

}

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .

tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .

tep_draw_hidden_field('item_name', STORE_NAME) .

tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * FEECHARGE_ORDER * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .

tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * FEECHARGE_SHIPPING * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .

tep_draw_hidden_field('currency_code', $my_currency) .

tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .

tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

 

return $process_button_string;

}

 

function before_process() {

return false;

}

 

function after_process() {

return false;

}

 

function output_error() {

return false;

}

 

function check() {

if (!isset($this->_check)) {

$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYPAL_STATUS'");

$this->_check = tep_db_num_rows($check_query);

}

return $this->_check;

}

 

function install() {

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable PayPal Module', 'MODULE_PAYMENT_PAYPAL_STATUS', 'True', 'Do you want to accept PayPal payments?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('E-Mail Address', 'MODULE_PAYMENT_PAYPAL_ID', '[email protected]', 'The e-mail address to use for the PayPal service', '6', '4', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Transaction Currency', 'MODULE_PAYMENT_PAYPAL_CURRENCY', 'Selected Currency', 'The currency to use for credit card transactions', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\',\'Only AUD\'), ', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_PAYPAL_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_PAYPAL_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");

}

 

function remove() {

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

}

 

function keys() {

return array('MODULE_PAYMENT_PAYPAL_STATUS', 'MODULE_PAYMENT_PAYPAL_ID', 'MODULE_PAYMENT_PAYPAL_CURRENCY', 'MODULE_PAYMENT_PAYPAL_ZONE', 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_SORT_ORDER');

}

}

?>

Link to comment
Share on other sites

Hey, bad news, back to the first question.

with the normal paypal module, your can select many currencys. every currency works except Aud. do you know why?

 

then I installed the Aud paypal contribution, which has that error i mentioned above. this is it here. can you tell me what you think I need to change?

 

<?php

/*

  $Id: paypal.php,v 1.39 2003/01/29 19:57:15 hpdl Exp $

 

  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com

 

  Copyright ? 2003 osCommerce

 

  Released under the GNU General Public License

 

  Modification: 2003, J.H.J. Zimniak, PayPal Fee Charge

 

*/

 

  class paypal {

    var $code, $title, $description, $enabled;

 

// class constructor

    function paypal() {

      global $order;

 

      $this->code = 'paypal';

      $this->title = MODULE_PAYMENT_PAYPAL_TEXT_TITLE;

      $this->description = MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION;

      $this->sort_order = MODULE_PAYMENT_PAYPAL_SORT_ORDER;

      $this->enabled = ((MODULE_PAYMENT_PAYPAL_STATUS == 'True') ? true : false);

 

      if ((int)MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID > 0) {

        $this->order_status = MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID;

      }

 

      if (is_object($order)) $this->update_status();

 

      $this->form_action_url = 'https://secure.paypal.com/cgi-bin/webscr';

    }

 

// class methods

    function update_status() {

      global $order;

 

      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE > 0) ) {

        $check_flag = false;

        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAYPAL_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");

        while ($check = tep_db_fetch_array($check_query)) {

          if ($check['zone_id'] < 1) {

            $check_flag = true;

            break;

          } elseif ($check['zone_id'] == $order->billing['zone_id']) {

            $check_flag = true;

            break;

          }

        }

 

        if ($check_flag == false) {

          $this->enabled = false;

        }

      }

    }

 

    function javascript_validation() {

      return false;

    }

 

    function selection() {

      return array('id' => $this->code,

                  'module' => $this->title);

    }

 

    function pre_confirmation_check() {

      return false;

    }

 

    function confirmation() {

      return false;

    }

 

    function process_button() {

      global $order, $currencies, $currency;

 

      if (MODULE_PAYMENT_PAYPAL_CURRENCY == 'Selected Currency') {

        $my_currency = $currency;

      } else {

        $my_currency = substr(MODULE_PAYMENT_PAYPAL_CURRENCY, 5);

      }

      if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD','AUD'))) {

        $my_currency = 'AUD';

      }

      $process_button_string = tep_draw_hidden_field('cmd', '_xclick') .

                              tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .

                              tep_draw_hidden_field('item_name', STORE_NAME) .

                              tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * FEECHARGE_ORDER * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .

                              tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * FEECHARGE_SHIPPING * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .

                              tep_draw_hidden_field('currency_code', $my_currency) .

                              tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .

                              tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

 

      return $process_button_string;

    }

 

    function before_process() {

      return false;

    }

 

    function after_process() {

      return false;

    }

 

    function output_error() {

      return false;

    }

 

    function check() {

      if (!isset($this->_check)) {

        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYPAL_STATUS'");

        $this->_check = tep_db_num_rows($check_query);

      }

      return $this->_check;

    }

 

    function install() {

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable PayPal Module', 'MODULE_PAYMENT_PAYPAL_STATUS', 'True', 'Do you want to accept PayPal payments?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('E-Mail Address', 'MODULE_PAYMENT_PAYPAL_ID', '[email protected]', 'The e-mail address to use for the PayPal service', '6', '4', now())");

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Transaction Currency', 'MODULE_PAYMENT_PAYPAL_CURRENCY', 'Selected Currency', 'The currency to use for credit card transactions', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\',\'Only AUD\'), ', now())");

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_PAYPAL_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_PAYPAL_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");

      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");

    }

 

    function remove() {

      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

    }

 

    function keys() {

      return array('MODULE_PAYMENT_PAYPAL_STATUS', 'MODULE_PAYMENT_PAYPAL_ID', 'MODULE_PAYMENT_PAYPAL_CURRENCY', 'MODULE_PAYMENT_PAYPAL_ZONE', 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_SORT_ORDER');

    }

  }

?>

 

 

ye ha, I think I fixed it, thanks to you, now the erro message is gone again.

 

back to the problem that the amount wont transfer to the paypal page. Soryy for all this trouble,

Link to comment
Share on other sites

ye ha, I think I fixed it, thanks to you, now the erro message is gone again.

 

back to the problem that the amount wont transfer to the paypal page. Soryy for all this trouble,

 

Well the best way to make out whats going wrong is to check the code associated with the button at the browser level.

 

Reverse engineering is a better tool to engineer things when we have knowledge enough to get thru.

 

Satish Mantri

Ask/Skype for Free osCommerce value addon/SEO suggestion tips for your site.

 

Check My About US For who am I and what My company does.

Link to comment
Share on other sites

All sounds good, but where do I start?

Thru browser reach where you have paypal button to move to payal site.Now save the code and check the button code.

 

Satish Mantri

Ask/Skype for Free osCommerce value addon/SEO suggestion tips for your site.

 

Check My About US For who am I and what My company does.

Link to comment
Share on other sites

Thru browser reach where you have paypal button to move to payal site.Now save the code and check the button code.

 

Satish Mantri

 

dont have a paypal button, when you checkout, you have three options, bank transfer, money order, or paypal. when you select paypal, and press continue, it opens up the paypal page, except, it doesnt transfer the amount owing into the paypal page, meaning the customer has to manually type it in. Any Idea?

Link to comment
Share on other sites

dont have a paypal button, when you checkout, you have three options, bank transfer, money order, or paypal. when you select paypal, and press continue, it opens up the paypal page, except, it doesnt transfer the amount owing into the paypal page, meaning the customer has to manually type it in. Any Idea?

 

Well the last page before you move is the page where you need to analyse whats been posted to the paypal.

 

Satish Mantri

Ask/Skype for Free osCommerce value addon/SEO suggestion tips for your site.

 

Check My About US For who am I and what My company does.

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.

Guest
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...