Jump to content
Sign in to follow this  
nmetsovo

PayPal - A SOLUTION to Customer not returning to site.

Recommended Posts

Many people seem to have a problem with customers that pay with PayPal not returning to their website. When their customers do this, the store owner receives payment, but does not receive the order information.

 

A simple solution to this -- which some people may not like, but it should work fine -- is to simply put a message at the payment selection page advising the customer to make sure they return from the PayPal site to this site to complete their order.

 

This should eliminate MOST of the PayPal order problems that result from the customer not returning to the site. I have seen this implemented on a site that was for a pretty big, multi-national company. I didn't think it was unprofessional at all. That was even before I knew about this problem, or osCommerce, for that matter.

 

I cannot say how effective this will be, because our webstore is still not operational. It is still in the testing stages. We hope to make it live later today or tomorrow if all goes well. So, since we don't have actual experience with this, I can't say how well this will work in reality. It works fine in testing.

 

WE ARE USING THE STANDARD PAYPAL MODULE THAT COMES WITH OSCOMMERCE 2.2MS2.

 

 

Dormition Skete

http://www.DormitionSkete.org

 

------------------------------------------------------------------

 

 

catalog\includes\languages\english\modules\payment\paypal.php

Change to this, or something similar.

 

define('MODULE_PAYMENT_PAYPAL_TEXT_TITLE', 'PayPal ');

define('MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION', 'PayPal <br><br>Very Important - After completing the PayPal payment process, please make sure you return from the PayPal site to this site to complete your order, or we will receive your payment but not your order details. <br><br>International Orders - Please use PayPal whenever possible.');

 

If you do not want the extra instruction bold, then you could do something like this:

 

define('MODULE_PAYMENT_PAYPAL_TEXT_TITLE', 'PayPal ');

define('MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION', 'PayPal <br><br></b>Very Important - After completing the PayPal payment process, please make sure you return from the PayPal site to this site to complete your order, or we will receive your payment but not your order details. <br><br>International Orders - Please use PayPal whenever possible.<b>');

 

 

------------------------------------------------------------------

 

 

 

catalog\includes\modules\payment\paypal.php

 

Change from this:

 

 

function selection() {

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

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

}

 

 

To this:

 

function selection() {

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

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

}

 

 

 

------------------------------------------------------------------

(Optional)

 

checkout_payment.php

At approximately line 240, add the line below <!-- Ds Mod -->

to draw a horizontal line separator between the payment types.

 

<?php

}

 

$radio_buttons = 0;

for ($i=0, $n=sizeof($selection); $i<$n; $i++) {

?>

<!-- Ds Mod -->

<tr><td colspan="3"><hr></td></tr>

 

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

But *which* IPN Contribution? A link would be very helpful.

 

There are a LOT of IPN Contributions. I downloaded a couple, and they both seemed to require pretty significant modifications. I already have a heavily modified store. I didn't want to deal with another major modification that might break other things for a payment option that probably won't even be used very much.

 

This is at least a fast, SIMPLE way to deal with this problem.

 

 

(I'd appreciate a link to the best IPN Contribution, though, in case people do actually use PayPal on our site.)

Share this post


Link to post
Share on other sites

[

 

If you go into paypal and "profile" There is a button stating IPN Preferences. You input your website deatils http://yourwebsite.co.uk and save. This turns IPN on and the order process comes through with that, It does occasionally miss one if the server doesnt respond for 4 days or more for example but I have forund it 99% effective.

Share this post


Link to post
Share on other sites
But *which* IPN Contribution? A link would be very helpful.

 

There are a LOT of IPN Contributions. I downloaded a couple, and they both seemed to require pretty significant modifications. I already have a heavily modified store. I didn't want to deal with another major modification that might break other things for a payment option that probably won't even be used very much.

 

This is at least a fast, SIMPLE way to deal with this problem.

(I'd appreciate a link to the best IPN Contribution, though, in case people do actually use PayPal on our site.)

Use the one named oscommercec_paypal_ipn. It takes five minutes to install and doesn't require any file changes.

 

Jack

Share this post


Link to post
Share on other sites

Thank you very much for the links.

 

I appreciate it.

 

I haven't had a chance to try it out yet, but I intend to soon.

 

Many thanks.

Share this post


Link to post
Share on other sites

nmetsavo - The official PayPal IPN module (the one that is developed by the OSC team) was designed to capture client orders prior to them leaving your site to go to paypal. Once the client pays, paypal sends the IPN updating the order status at your site, so it doesn't require them to come back for it to update. Prior to the IPN module a client could pay then navigate away. You would then get a paypal email but wouldn't have a record of their order because it wasn't captured.

 

The new module does cure some of these problems, but is not a complete answer. The client can still navigate away after paying. If he or she does, then the IPN will still get updated but the client order emails will not be produced or sent. So in short your site won't notify you of a new order.

 

This is still an improvement over the module that come standard with OSC 2.2, but like I said not a complete answer.

 

As a side note, once the IPN is installed you do not need to enable IPN at paypal, or switch auto return on, these will make no difference what so ever. All of this fuctionality is built into the modules code and is sent with the payment request.

 

As far as I know (for sites using non us paypal) the only way to get it to auto return back to checkout without giving the customer the choice to navigate away is to turn off the 'optimised payment' option at paypal. This will force your customers to create an account at PP prior to paying. Then when the payment is completed paypal wont give them the standard option of 'create an account' or 'return to merchant' but will instead return them directly to merchant. You may need to set a 'return to' ULR at PP as well using this method. This is not idea, as for small amounts most customers don't want the hassle of creating an account.

 

So I guess what I'm trying to say is that your suggestion of putting a note at checkout is still a good idea, even if you do install the Official OSC team developed IPN module. Unless you force your customers to create a PP account that is.

 

Hope this helps. Please feel free to correct me if I'm wrong, Andy.

Share this post


Link to post
Share on other sites
nmetsavo - The official PayPal IPN module (the one that is developed by the OSC team) was designed to capture client orders prior to them leaving your site to go to paypal. Once the client pays, paypal sends the IPN updating the order status at your site, so it doesn't require them to come back for it to update. Prior to the IPN module a client could pay then navigate away. You would then get a paypal email but wouldn't have a record of their order because it wasn't captured.

 

The new module does cure some of these problems, but is not a complete answer. The client can still navigate away after paying. If he or she does, then the IPN will still get updated but the client order emails will not be produced or sent. So in short your site won't notify you of a new order.

 

This is still an improvement over the module that come standard with OSC 2.2, but like I said not a complete answer.

 

As a side note, once the IPN is installed you do not need to enable IPN at paypal, or switch auto return on, these will make no difference what so ever. All of this fuctionality is built into the modules code and is sent with the payment request.

 

As far as I know (for sites using non us paypal) the only way to get it to auto return back to checkout without giving the customer the choice to navigate away is to turn off the 'optimised payment' option at paypal. This will force your customers to create an account at PP prior to paying. Then when the payment is completed paypal wont give them the standard option of 'create an account' or 'return to merchant' but will instead return them directly to merchant. You may need to set a 'return to' ULR at PP as well using this method. This is not idea, as for small amounts most customers don't want the hassle of creating an account.

 

So I guess what I'm trying to say is that your suggestion of putting a note at checkout is still a good idea, even if you do install the Official OSC team developed IPN module. Unless you force your customers to create a PP account that is.

 

Hope this helps. Please feel free to correct me if I'm wrong, Andy.

 

 

Hi Andy,

 

thanks for this, I had recently been confused as to why two recent paypal orders hadn't appeared on my database, I have made the above fix and it should do the trick. In testing when returning to my site from Paypal the page didn't display correctly but the order did reach the mysql database, I got the following:

 

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

 

Any ideas?

 

Thanks,

 

Karl

:thumbsup:

Share this post


Link to post
Share on other sites
As a side note, once the IPN is installed you do not need to enable IPN at paypal, or switch auto return on, these will make no difference what so ever. All of this fuctionality is built into the modules code and is sent with the payment request.

 

This was not the case with me. None of my orders went to "Pending" when I turned off IPN at paypal. I have the IPN URL set to ipn.php in /ext. Everything updates and emails are sent.

Share this post


Link to post
Share on other sites
The contribution below implements the IPN notification service. It was developed by the OSCommerce core team.

 

http://www.oscommerce.com/community/contributions,2679

 

 

I use the original PayPal payment module and then while testing, once I hit the confirm order and goes to the PayPal page, the shipping charge is not included. I tried installing the PayPal IPN mentioned above and it still does not pass the shipping charge to PayPal. Anyone else have this problem?

Share this post


Link to post
Share on other sites

I'm having a very similar problem, but mine is with Paypal IPN mod...

 

I'm using OSCommerce CRE Loaded 6.1 after purchasing a template from The Template Shop.

 

Customer will add a item to there cart and checkout. OSCommerce sends them over to Paypal to make the payment. Payment is made and customer returns back to the OSCommerce Shopping Cart. Here is where the problem comes in. I dont recieve an e-mail stating that an order was made from OSCommerce. I get an e-mail from Paypal that a payment was made, but nothing from OSCommerce...

 

After going into the back end, I can goto Customers/Orders and then goto Orders and see the client there with an order Pending. After viewing the Pending order I see this...

 

PayPal

Transaction Activity

Date Payment Status Details Action Gross Fee Net Amount

No PayPal Transaction Information Available (ad299a08b36c5f19685368b44602d907)

 

Payment Method: PayPal

 

It shows "No Paypal Transaction Information Available"....?!?!?!

 

Also, If I goto into Paypal IPN, it doesn't show anything in there. 0/0 orders!

 

I wasn't sure if I needed to have a return URL setup in IPN section of Paypal's site, in order to have it return something to the shopping cart so it knew the order was completed. After reading on here, it doesn't seem that is true...

 

Any help someone can give would greatly be appreciated! :)

Share this post


Link to post
Share on other sites
I dont recieve an e-mail stating that an order was made from OSCommerce. I get an e-mail from Paypal that a payment was made, but nothing from OSCommerce...

 

I wasn't sure if I needed to have a return URL setup in IPN section of Paypal's site, in order to have it return something to the shopping cart so it knew the order was completed. After reading on here, it doesn't seem that is true...

I don't have a return URL set. The the modual takes care of that.

In regards to the email not being sent try this:

Post 677-679

Hope this helps.

Share this post


Link to post
Share on other sites

I tried PayPal IPN OSC official moduel, but it is not working for me. It creates an order everytime a customer arrived at the Confirm Page (before clicking the confirm button). Say if the customer went back to add more orders or went back to change the payment type, then I have an extra order recorded.

 

I used the PayPal IPN for a few days and dump it.

 

I am now putting up a warning descriptions as this thread starter suggested, hopefully the mysterious orders are kept to the minimum... :rolleyes:


Best regards,

Koh Kho King

Share this post


Link to post
Share on other sites

Well, we are running milestone 2.1 and I don't think the IPN thing works for 2.1..

 

So, I am also going for the warnings to see if that helps.

 

Anyone else had success with the warnings?

Share this post


Link to post
Share on other sites
Many people seem to have a problem with customers that pay with PayPal not returning to their website. When their customers do this, the store owner receives payment, but does not receive the order information.

 

A simple solution to this -- which some people may not like, but it should work fine -- is to simply put a message at the payment selection page advising the customer to make sure they return from the PayPal site to this site to complete their order.

 

This should eliminate MOST of the PayPal order problems that result from the customer not returning to the site. I have seen this implemented on a site that was for a pretty big, multi-national company. I didn't think it was unprofessional at all. That was even before I knew about this problem, or osCommerce, for that matter.

 

I cannot say how effective this will be, because our webstore is still not operational. It is still in the testing stages. We hope to make it live later today or tomorrow if all goes well. So, since we don't have actual experience with this, I can't say how well this will work in reality. It works fine in testing.

 

WE ARE USING THE STANDARD PAYPAL MODULE THAT COMES WITH OSCOMMERCE 2.2MS2.

Dormition Skete

http://www.DormitionSkete.org

 

------------------------------------------------------------------

catalog\includes\languages\english\modules\payment\paypal.php

Change to this, or something similar.

 

define('MODULE_PAYMENT_PAYPAL_TEXT_TITLE', 'PayPal ');

define('MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION', 'PayPal <br><br>Very Important - After completing the PayPal payment process, please make sure you return from the PayPal site to this site to complete your order, or we will receive your payment but not your order details. <br><br>International Orders - Please use PayPal whenever possible.');

 

If you do not want the extra instruction bold, then you could do something like this:

 

define('MODULE_PAYMENT_PAYPAL_TEXT_TITLE', 'PayPal ');

define('MODULE_PAYMENT_PAYPAL_TEXT_DESCRIPTION', 'PayPal <br><br></b>Very Important - After completing the PayPal payment process, please make sure you return from the PayPal site to this site to complete your order, or we will receive your payment but not your order details. <br><br>International Orders - Please use PayPal whenever possible.<b>');

 

 

------------------------------------------------------------------

 

 

 

catalog\includes\modules\payment\paypal.php

 

Change from this:

function selection() {

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

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

}

To this:

 

function selection() {

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

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

}

 

------------------------------------------------------------------

(Optional)

 

checkout_payment.php

At approximately line 240, add the line below <!-- Ds Mod -->

to draw a horizontal line separator between the payment types.

 

<?php

}

 

$radio_buttons = 0;

for ($i=0, $n=sizeof($selection); $i<$n; $i++) {

?>

<!-- Ds Mod -->

<tr><td colspan="3"><hr></td></tr>

 

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">

 

 

Hi,

very nice suggestions..

Thanks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×