Paypal: Pending payments with Express Checkout - paypal

I have implemented Paypal Express Checkout on my website. So far everything seems to work in my sandbox, except that the payments are not processed. Every payment is "pending".
The only reason I get is
RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION
in the API response after executing the payment via API.
I cannot find any documentation on the reason, does anyone know how to fix it?

You have probably already solved the problem, but maybe someone else has similar problem.
I believe the reason for this is because the payments are in a currency that you do not hold, you need to configure your Payment Receiving Preferences in your PayPal account. Otherwise, your payment status might be pending until you manually approve the payment in your PayPal account.
Log in to your PayPal business account at www.paypal.com. Click the profile icon (Profile menu) on the top right side of the page. From the Business Profile menu, select Profile and Settings. (Note: If you do not see the profile icon on the top right, select Profile which appears in the top menu when the My Account tab is selected.)
From the left menu, click My selling tools.
In/under the Getting paid and managing my risk section, click the Update link for the Block Payments item.
Update Allow payments sent to me in a currency I do not hold to "Yes, accept and convert them to U.S. Dollars") and click Save.

Related

WHMCS & PayPal - How to disable the create account from express checkout?

I am using PayPal with WHMCS. During the purchase, PayPal express checkout popup shows the create PayPal account form also below the credit card information form, and this [Create your PayPal account] form is required even after doing these changes as per the PayPal documentation.
On the other side, the WHMCS also doesn't have any option to disable/hide the create PayPal account form.
Due to this issue, my clients are getting annoyed and leaving my site without completing the purchase. How to disable the create account from express checkout?
That is the normal flow for new PayPal buyers. An option to pay without creating an account might sometimes be available, depending on many factors including the buyer's location, but is never guaranteed.
For the option of a black button to pay with a Debit or Credit Card to always be available, integrate with current PayPal Checkout buttons, which for a UAE buyer will look like this:
You can test the demo here and append &buyer-country=AE to the SDK script line (only for sandbox mode)
I know this is an old thread but incase anyone else is trying to solve it, I've just used simple CSS to hide it - using the default Twenty One theme I just added this to my custom.css file.
.express-checkout-buttons {
display:none;
}
And it hides. I know its not the best option but it works for me as I don't need to my clients checking out via this option.

Edit Paypal's Return to Merchant link

I'm using Woocommerce with PayPal Standard as my shopping cart on a WordPress site. When a user purchases through PayPal, there is a 'Return to Merchant' link that the user has to click in order to get back to my website. It currently has my PayPal email address as the link, which is very confusing, as a user wouldn't think to click "Return to [email address]" in order to get back to a website. How can I make that link text the 'name of my website' instead of my email address?
I have "Auto Return" turned on with a web page specified in my PayPal Website Payment Preferences. However, it doesn't seem to auto return, leaving me with this merchant return link that isn't intuitive to click. I'm using the Sandbox to test the payment process...don't know if that makes a difference to this problem.
I'm assuming that the settings to change this link text are in PayPal and not in WooCommerce (couldn't find anything at all like that in my WooCommerce settings). If it is a WooCommerce issue, I will post on the appropriate forum. Thought I'd try PayPal first. Thanks.
Unfortunately there is no setting to alter the return link on the hosted page.
One of the limitations of the auto return feature is that if both the "auto return" and "account optional" features are turned on, customers who don't log in to PayPal can choose to go back to your website after checkout (using the link), but aren’t returned automatically.
You can navigate to either of these features on the "Website Preferences" page and click "Learn More" to confirm this.
In sandbox mode it seams to display your email address. Turning off sandbox mode you should see your business name now.

What is the diffrence between the two paypal payment pages?

When trying to pay for products/services through paypal, I get to see two possible options. One of them allows you to pay through your paypal account or debit/credit card while the other option only allows to pay through your paypal or register a new account.
I have trie to go over all the information about business accounts on paypal, but did not find any related information.
I am attaching screenshots of both paymnet sites.
Any guidance is vey much appreciated.
There is a feature called Account optional in PayPal.This is a merchant/seller setting and no buyer has control over it.
To turn the feature on or off, simply log in to PayPal, go to Profile, click ‘Website Payment Preferences’ under the Selling Preferences column and tick the yes/no box under PayPal Account Optional.
If this feature is turned On, then you will get to see Pay with Credit/Debit Card,
if not you will see Create a PayPal account.
P.S But, sometimes, even if this feature is on, PayPal will still display "Create a PayPal account".
This is due to some restrictions (buyers country,IP, how many times guest checkout is used etc). Its a complex limitation.

Where is the 'IPN History' on the new PayPal website?

Just been trying to find the new IPN History link on the new PayPal website and I can't see it anywhere.
Are they still supporting this?
The current PayPal for Business interface only provides a way to access IPN History if you have manually configured IPN in your PayPal account settings. In this case, you'd go to [your name] > Account Settings > Notifications > Instant Payment Notifications (click Update here), then the explanatory text there will include a link to the IPN History page.
However, that link would not appear if you have not manually configured IPN -- e.g., when your ecommerce platform automatically transmits IPN parameters to PayPal for each checkout. While you could manually enable IPN with a dummy Notification URL in order to get the IPN History link, this could result in PayPal completely disabling IPN for your PayPal account if they try sending any actual notifications to that dummy URL.
In that case, you can use this link to access IPN History directly once you're already logged into PayPal:
https://www.paypal.com/cgi-bin/webscr?cmd=_display-ipns-history
Note that if you have not manually configured IPN in PayPal, you will see a notice in IPN History saying, "The IPN feature is turned off. You must turn on IPN in order to create history data." That notice is irrelevant if your ecommerce platform specs IPN dynamically for each checkout; in that scenario, you can still view/search your IPN History without manually turning on IPN there.
More menu -> Site map -> Transactions -> IPN History
2020
Sitemap (Footer) -> Instant Payment Notification (IPN) history (under "Transactions")
It's still available in the same place. If you want to navigate to it
Log in
Profile link (white bar up top)
IPN settings
History link on this page
Currently it's directly at https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-ipn-notify (provided you're logged in)
In the latest UI: Settings > My Selling Tools > Instant Payment Notifications click "Update". You will see a link there called "IPN History page".
As of May 2022, it's still convoluted.
TL;DR:
For IPN History, try https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history
For IPN Settings, try https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify
Also, a few reminders:
PayPal IPN is a completely separate feature from PayPal Webhooks.
Even though it's the exact same concept (argh!).
PayPal IPN is associated with your normal/business PaypPal account. It is is not a part of the PayPal Developer experience.
Also, PayPal IPN is now clearly deprecated, if not effectively obsolete, so if your application code is still reliant on PayPal IPN you really should update it to use PayPal Developer APIs and the Webhook service instead.
Anyway, here's the steps I took to find it today on 1st May, 20222:
Start off on your PayPal Business Account Dashboard page:
https://www.paypal.com/mep/dashboard
It should look like this:
Don't confuse this with the Developer Not
Use the top-left menu to go to Account Settings:
https://www.paypal.com/businessmanage/account/accountAccess
On the Account Settings page, look for "Notifications" in the left-side menu:
https://www.paypal.com/businessmanage/account/notifications
Then you'll see the link to PayPal Instant Payment Notifications.
Annoyingly, they don't use the term "IPN" so Ctrl+Fing for that won't work.
Click the "Update" link (even though we aren't updating anything: we just want to see IPN History), and you'll be taken to a page belonging to Olde PayPal just with a new header:
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify
And the link to the History page is disguised in the page's text:
https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history
And you'll be welcomed back-in-time to 2005 with a page that looks like this:

PayPal Web Payment Standard: forcing PayPal account creation now?

Had a nice little custom button with a few parameters I was POSTing to PayPal (and getting POSTed back via IPN) a few years ago working fine. Payments were disabled for several years, but now my client wants to resume subscriptions with their new campaign.
I switched back to the sandbox hostname/merchant accounts, did a sandbox transaction with a test Visa card, and all was well.
Switched it to the live hostname/merchant account, went to do another test with a real Visa, but noticed that not only has the real PayPal site been completely rebranded/redesigned, they now seem to be forcing you to create a PayPal account: on the sandbox, there's a blurb with a link that says "continue" which takes you right to the credit card/billing information (this is identical to what the live PayPal site used to look like a few years ago).
NOTE: The merchant account has changed; I'm not sure if that matters or not and/or if there's any settings in there I need to change.
Question: is this the way it is now with PayPal? I can't seem to find any official information that says yes/no. Besides the Express, is there any other IPN method that'll work here or is this a policy thing at PayPal? I'd hate to rewrite my working/tested code, but this isn't going to fly with my client.
Yahel's answer is incorrect: I called PayPal, and they explained that the following conditions must be met in order to accept non-PayPal payments:
The business email address must be confirmed. You can check by going to Profile > Email.
PayPal Account Optional must be checked:
Go to www.paypal.com.au and log in to your Business account.
Click 'Profile icon' near the top right of the page (next to "Log out" button)
Click "Profile & settings"
Click ‘My selling tools.’
Click ‘Update' beside 'Website preferences.’
Select 'On' under 'PayPal Account Optional' near the bottom of the page.
Click 'Save.'
Yes paypal has been forcing users to create an account for a long time now. Before that you could use a credit card up to 10 times and then it would force you to create an account anyway.
The reason you are seeing the old branding in your sandbox is probably because it is you old sandbox on an old paypal server.
Last I tried there was no way around this new policy.
But djechelon is right, they have an excellent customer service, give them a call.
PayPal does force people to create accounts, even when they want to just make a single payment. I was puzzled by this situation too: I was choosing the option to pay without a PayPal account, but still was forced to provide all the private details enough for PayPal to create an account for me against my wishes. Very sneaky of PayPal! Then I found this page and that explained a lot.
This is the message I received in my PayPal Account:
PayPal Account Optional
When this feature is turned on, your customers will go through an optimized checkout experience. This feature is available for Buy Now, Donations, and Shopping Cart buttons, but not for Subscription buttons.
So you cannot provide a regular "Subscribe" experience to non-PayPal customers. I believe you must pay the $19.99 a month "Enhanced Subscription" for this.
PayPal Has a Purchasing Limit of $3,000 for "Guests".
I ran into this issue as well and #gravyface was bang on with setting your account preferences. However, my customers were still having issues paying without a PayPal account.
I called PayPal and it turns out they have a $3,000 (cumulative) purchasing limit for "guests". My customer's invoice was for $7,000 so even though my preferences were set to make the PayPal account optional, it still would not go through.
Hope that helps others.
JP