Woocommerce customer quit before Paypal redirect - paypal

I setup a Woocommerce website with Paypal and I linked a PDT token to it. When my customer buy something with Paypal they get redirect to Paypal -> Pay their items -> get redirect to the thank you page of my woocommerce.
During this last step some of my client quit Paypal website before they get redirect back to Woocommerce. Their order is now stuck on pending payment.
Is it normal to ask my customer to wait 10 seconds or click here to have their order completed.

When using PayPal Standard (which is what comes with WooCommerce by default) then yes, it's normal for the user to have to wait "up to 10 seconds" for the redirect, even with Auto-Return enabled in your PayPal account.
If you want to provide a better experience it would be recommended to enable PayPal Express Checkout instead of PayPal Standard. This can be done using the free PayPal for WooCommerce plugin.

Related

Auto redirect Explanation

I'm configuring a paypal payment gateway in my website, at the moment a sandbox is configured and I'm using paypal standard. Everithing works fine except for some small thing I need to discuss with you:
after user (redirected to paypal site) make the payment is there a way to redirect automatically after the payment is done...I would avoid that user has to click the link: "return to xxx website". ( I have seen and used many websites that use to redirect to paypal but after payments is done the really automatically redirect to the website...without any additional click)
I have personalized the aspect of my page under paypal account (in sandbox mode) but when i test the payment the page is not personalized but show the standard one...so my question is personalized pages works under sandbox?
For paypal standard subscribe button is required an HTTPS protocol or they accept also normal urls?
1) If you are using PayPal Payments Standard (Buttons) then you will have the return to merchant at the checkout page, this is because the payment is complete at this point. What you are thinking when you are redirected back immediately is ExpressCheckout and the merchant can process the payment immediately or by user action.
2) Yes, personalized pages work in sandbox. You need to make sure it is set as primary
3) For PayPal Payments Standard you do not need HTTPS, as the payment is handled on the Paypal website.

Basic PayPal express checkout

I have a store running opencart which already has a fully functional shopping cart running, it is just requesting an API and authentication details.
So, how can I simply setup a API and be done with it, do i need to setup a sandbox account etc.
I just want a very simple setup for accepting payments via paypal and credit cards in NZ
Ive checked all the online guides and they are all for older layouts/designs of paypal.
Any help much appreciated!
Thanks
The only thing You need to is to install and enable (both if not yet done) the PayPal standard (or Paypal Express checkout) payment options in OpenCart administration - as far as I understand Your problem clearly.
Go to administration Extensions -> Payments and here scroll to find the PayPal payment options (should be three by default: PayPal Standard, PayPal Website Payment Pro and PayPal Website Payment Pro UK) - PayPal Standard should be Your bet. If Install action is available on the right, click on it and afterwards click on Edit action. Insert Your account information, select Enabled status and Your are done.
Now users should be able to select this payment option and after confirming the order they should be redirected to PayPal to pay for their orders.

PayPal API - How to keep the payment process on my website?

I run a small marketplace with multiple sellers where buyers can buy items and pay with PayPal. The problem is, when someone makes a payment, they are then displayed the "Payment Confirmation" on the PayPal website and are given a choice to either return to their PayPal account, or return to the website.
Is there any way to keep the payment flow on my website, except for the payment part? I notice when buying on Etsy for example, the buyer goes to PayPal to make the payment and is then immediately returned to Etsy for the payment confirmation. They never see the PayPal payment confirmation page.
I assume it could be because Etsy and PayPal have a special arrangement that isn't available to other sites? Or am I missing something in the API?
Right now, with the normal PayPal API, this is what buyers see:
NAME, you've just completed your payment.
Your transaction ID for this payment is: XXXXXXXXXXXXXXXXXXXX.
We'll send a confirmation email to your#email.com
Go to PayPal account overview.
Go back to "seller#email.com".
I can't even figure out how to change the "Go back to..." link to my website name in the hidden fields. PayPal just chooses to display the seller's (the person that received the payment) email address.
Is there any way to at least set a website name for them to return to with hidden variables? Keep in mind that I have different sellers, so it's not something I could set inside each seller's PayPal account.
Thank you :)
I assume you are using Express Checkout with Set/Get/Do EC API integration. Please check the below document for experience options available with Express Checkout API.
https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECCustomizing/
The 'useraction=commit' in the PayPal payment auth url triigers the 'Buy' button. If you do not send that request paramter then it will show 'continue' button and you can complete rest of the process on your site.
However, if you are using Paypal Payment Standard product then you need to use Express Checkout to accomplish the outcome you are seeking.

How to check Payment failure for Paypal Express Checkout

We are using Paypal recurring billing service (using Express Checkout) at our website for monthly subscription.
Since we have an Australian account so we are not able use the DPRP (Direct Payment Recurring Payment) service offered by Paypal because it seems, DPRP service is limited
to only few countries (US, UK and Canada).
In Express checkout payment details are received at Paypal Website. So we do not have any information, whether the payment failed, user pressed the Back button in browser or He/She intentionally clicked the cancel payment.
After speaking to Paypal support team we get know that there could be multiple possible reason for Payment failure, and seller has to contact Paypal by themself. So we can
not provide any troubleshooting for that at our website.
So we want to know, Is there any possible solution to avoid this or atleast can we diffrentiate between the user for whom payment failed and who intentionally moved to
our website back without doing payment because this way we are not only unable to followup with them but also loosing a part of the customer base, interested in our service.
Any help in this is Appreciated.
Thanks
You should implement the Pay Pal IPN (Instant Payment Notification).
You configure the IPN url address on your PayPal merchant account settings. This page is simple HTML page with server-side programming that is listening for requests coming from PayPal.
There's no need to do something extra in the checkout process for making IPN work. Once you set this up, it will automatically work.
Every time something happens with a transaction in your merchant account, e.g. transaction completed/failed/canceled, PayPal will send an HTTP Post to your IPN listener URL.
Here you can get all the relevant information about the transaction, like the payer ID, the payment status. With this information you can decide what to do with your customer's order.

Checking if paypal payment was successful

I have downloaded sample code from paypal to allow me to use parallel payments via their sandbox accounts. When I run parallel.php, I get redirected to paypal's sandbox login page.
How am I supposed to know "server side" that the payment has been made successfully, so I can update my database records?
I believe you have to work with PayPals IPN system. This will basically send a confirmation to your server that tells you it has gone through.
https://www.paypal.com/ipn
Paypal lets you register a notification url which is part of the IPN (instant payment notification IIRC) system. So if someone pays by a delayed payment (such as a bank transfer) the transaction will update days later. You need to have an application (web page) on your server that can be called by Paypal with transaction details to update a payment.
You'll need to create an initial transaction record in your system when paypal redirects back to you so refer to their documentation for that. I'd also recommend looking at either OSCommerce or Zen cart for an idea of how they do it as they support the same kind of thing.