I am using a PayPal button that redirects to a checkout/payment confirmation page that has payment info, payment methods, etc.
However, it is not obvious if the payment is one time or recurring.
The user could click on the amount and see more details, but I was wondering if I could show the subscription info by default to avoid confusion.
The subscription info is also presented after the payment has been processed in the receipt which is informative, but not ideal.
Here is the amount:
here is the amount after click/expansion:
PayPal's checkout is designed to be equally usable from a mobile device or small/pop-up minibrowser, so the space on the right in your screenshot isn't available cross-platform.
The details of what is being paid for are meant to be shown by your own site before, on the page and in the receipt after, and are also available via the drop-down as shown in your screenshot.
You can't expand it by default.
Related
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.
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:
On my site, I have multiple billing plans, for example:
1$ = 5 points
2$ = 15 points
3$ = 30 points
When user chooses paypal option, I want him to be redirected to the paypal checkout page,
and on completion of transaction, I want to receive notification so I can grand the account
with points. I understand that can't be done with Pay Now button. Also, I can't understand what is the most right way to do so. Suggestion?
when i talk about paypal checkout page I mean this one
I would just create a drop down menu option to allow the buyer to select which one they are wanting to purchase. Then that will popluate the PayPal checkout page with the correct options selected, and amount. As for getting the information back to your site. I would use IPN.
Instant Payment Notification (IPN) is a message service that notifies you of events related to PayPal transactions. You can use it to automate back-office and administrative functions, such as fulfilling orders, tracking customers, and providing status and other information related to a transaction.
Checkout this page here for more on IPN. There are also some samples of IPN scripts, and additional links relating to IPN on the left hand side of that page.
After adding stuff in shopping cart, clicking some Pay Now with PayPal button, and successful PayPal payment (PP or CC), it is logically possible that a user stays on PayPal website, if for example the Auto Return option isn't activated (or it is but it doesn't work because the user is a guest user without PP account)
The user can return to the site by clicking a link, but doesn't have to. My question is: if he doesn't, how will the site owner be aware that the user paid so that he can now send the items by post? That the site owner gets informed of being paid seems elemental to me, so I find incomprehensible that such elemental thing be left to some obscure Auto-Return option.
Please can somebody explain this to me?
This is a common challenge with any redirected payment gateway, and it's the reason most (if not all) of them implement some sort of asynchronous notification that a payment has been completed. In PayPal, this is the Instant Payment Notification (IPN). You must setup on your site either a generic IPN listener that you link to from your PayPal account profile settings or you can create a more targeted IPN listener specifically for your transactions and use the NOTIFYURL (or related) parameter in the form or API request you use to redirect to PayPal to send IPNs to that listener.
In my integrations, I never perform any order update or transaction logging when the customer returns from the site, preferring instead to wait for the IPN that I can validate and ensure came from PayPal as opposed to a spoofed return from someone trying to hack my checkout process.
For more information, see the IPN documentation: https://www.x.com/developers/paypal/documentation-tools/ipn/integration-guide/IPNIntro
Paypal provide IPN for this purpose through which we paypal send request asynchronous to your site and you can perform whichever action you want
I think the point may have been missed here. Or a problem does exist. If the purchaser uses CC, even if you have IPN set up and it works, but if the purchaser uses CC and does not click a button on the last page, which is not presented when using PP account, it is possible for the funds to go through, but no IPN, and so your website is unaware of the purchase. This last page, is an extra page that CC user gets after the page with the Pay button on it.
In this state, you can even go into IPN history, and the IPN is there, says it is sent, but it hasn't been. It does not get sent until after the purchaser clicks the button on the extra page and then they are taken to the auto return page.
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