My clients website is using the PayPal UK Website Payments Pro Hosted Solution.
When a customer is directed to PayPal to make their payment they are given two options,
"Pay with my PayPal account" OR "Pay with my debit or credit card".
If the customer chooses to use their paypal account they log in and make their payments and are taken to a Paypal payment confirmation page that states "Thanks for your order. You are now going back to ..." this page hovers for about 5-10 seconds and then redirects the customer back to the website where the order is confirmed and emails sent etc.
My problem is that some customers aren't waiting to be redirected, which is causing errors with order confirmations.
My question is how can I skip the PayPal payment confirmation page altogether?
I have auto return on. I have set a return URL. Payment Data Transfer is on.
showHostedThankyouPage = false
And I'm running out of ideas...
If the user chooses the other option and enters their credit card details it all works perfectly.
I got a fantastic response from PayPal's technical depart. Thanks Ignacio. I'll share my findings for anyone else with this issue. This was the response I received.
My website is using the PayPal UK Website Payments Pro Hosted
Solution. When a customer is directed to PayPal to make their payment
they are given two options, 'Pay with my PayPal account' OR 'Pay with
my debit or credit card'.
The Website Payments Pro Hosted Solution has two different ways of payment:
- Payment with a credit card directly, which uses our DoDirectPayment API internally to take credit cards without a PayPal account.
- Payment with a PayPal account, which is basically a redirection to our PayPal Standard payment method and pages.
If the customer chooses to use their PayPal account they log in and
make their payments and are taken to a PayPal payment confirmation
page that states 'Thanks for your order. You are now going back to
...' this page hovers for about 5-10 seconds and then redirects the
customer back to the website where the order is confirmed and emails
sent etc.
This is the intended behavior in PayPal Standard when a customer makes a payment with a PayPal account and Auto Return is enabled.
The fact that it's happening for the "Pay with PayPal" option included within the Pro Hosted Solution is because, as mentioned above, this option is basically our PayPal Standard payment method, so the behavior is exactly the same.
My problem is that some customers aren't waiting to be redirected,
which is causing errors with order confirmations. My question is how
can I skip the PayPal payment confirmation page altogether?
Unfortunately, there is not a way to skip this page at all. Not from your PayPal account settings, not by sending any variables.
I have auto return on. I have set a return URL. Payment Data Transfer
is on. showHostedThankyouPage = false. And I'm running out of ideas...
I’d rather not have to use IPN as it will mean further integration and
programming.
We definitely recommend IPN as a more reliable way of getting notifications of new payments, as even if "Auto Return" was working straight away, some customers could still close the browser inmediately.
If IPN is enabled, PayPal will always send a POST to your notification URL, regardless if the customer has returned back to your site or not.
Is there a way around this? Before we upgraded to Payments Pro we were
using Express Checkout and were simply able to pass SOLUTIONTYPE=Sole
and LANDINGPAGE=Billing and we were able to skip that confirmation
page step. I'm hoping there's a way to do something similar so it
doesn't need to be re-written.
The Express Checkout flow is different from PayPal Standard. When a customer clicks on "Continue/Pay" while in PayPal, we won't attempt to take the payment, but rather take the customer back inmediately to the RETURNURL, and it would be your own integration the one that would complete the payment by sending a DoExpressCheckoutPayment API request.
But again, the "Pay with PayPal" option within the Pro Hosted Solution uses PayPal Standard and not Express Checkout.
The only alternative that I can suggest apart from using IPN, would be to disable the "Pay with PayPal" option within the Pro Hosted Solution (this can be done from our side), so that customers only have the option to pay by direct credit card and not by PayPal, and then implement Express Checkout independently of the Pro Hosted Solution for your PayPal payments.
You're a little bit scattered it seems. What you described in your original post sounds like Payments Standard or Express Checkout. Payments Pro doesn't have any redirect to PayPal at all.
Then I see you made a comment that you're using BMCreateButton. That is part of the Button Manager API, which is Payments Standard. Not Pro. Payments Standard doesn't have the option like Express Checkout does to force the full CC form using SOLUTIONTYPE and LANDINGPAGE parameters.
If you're using the full Payments Pro you would need to use the DoDirectPayment API or PayFlow depending on which version you're setup with. Then you'd have Payments Pro Hosted, which makes use of an iframe on your page. Again, though, with both, no redirect occurs.
If you're using BMCreateButton that's not Pro. You need to figure out exactly what version of Pro you're signed up for and integrate those API's accordingly.