Require a linked e-mail before approved purchase? - paypal

Basically what I want to do is make sure that the user has an e-mail tied to their account before allowing a payment to take place. I will allow users to add emails to their account via the user account panel. The plan is to make it so that any purchases can be handled automatically. (Obviously the IPN handles a lot of this, but there's still some "Manual work" that needs to be done to poll the database). If I could require accounts to have an email linked before making a purchase I could eliminate that manual step.
tl;dr - is it possible to require a user to have their paypal email linked to their account before approving the payment? This certainly isn't possible using the IPN, because it takes place after the payment is completed. I want to be able to display a custom message as to why the payment was declined and the steps to resolve it if at all possible.

Related

Saving a paypal account for a user to my web application

I have a web application that allows users to purchase products online. I would like a user to add a paypal account to his or her account such that the next time, he or she needs to checkout, the paypal on file shall be used.
I do not want to store the payal details on my server instead i am looking for a service like paypal credit card vault.
An advantage for saving the paypal on vault is a user shall not be needed to enter email and password all over again.
Does paypal have a service like the one i describe?.
Yes, you can do this. It's done by creating a Billing Agreement and then processing future Reference Transactions based on that billing agreement.
This gives you a lot of power to process any amount at any time without further approval from the buyer. As such, this requires heavy vetting from PayPal.
They will only approve you for it if you're doing very high volume (millions of dollars per year) in most cases. But yes, it can be done.
Keep in mind that PayPal itself provides a "One Touch" feature so people can quickly checkout without entering credentials in the future. So they've basically built what you're wanting to do directly into the Express Checkout experience.

Creating a registration key

I am selling my software on line, and using PayPal for payment processing. Every time someone buys my software, I get notified by PayPal, at which point I take the purchaser's name and encrypt it onto a unique password with which they can unlock the software. I e-mail this password to the user.
I'd like to automate this step, so that every time PayPal processes the payment, the user name is used to create an unique password, and the email is sent directly to the user. Is that possible from PayPal's side?
You have many options. For example:
PayPal - Instant Payment Notification. Basically, everytime one of
your clients buys your software PayPal will notify you using the url
you set in your button for IPN. Please check the documentation
HERE
Express Checkout. DOCUMENTATION

Verify Paypal id is valid or not inserted by user

I want to verify that whether user has entered valid Paypal id or not. If not than user can't do registration. I've also visited this [1]: How can I verify a PayPal ID? question but it doesn't help me :(
You can't find a direct answer because "valid PayPal ID" doesn't have a single fixed meaning. You will need to be more specific as to what you are trying to discover. Then there may or may not be a way to accomplish what you want, since PayPal protects some aspects of their customers' account and identity information for their protection (and for business reasons).
A bit of background that may help you clarify your question, if not necessarily answer it:
Any email (or phone number) can be configured to receive PayPal payments, in many cases even if the email was not attached to a PayPal account at the time the payment was sent. However, not all PayPal products can function in this way (e.g. you cannot make API calls as an account that has not been set up and has not generated API credentials). Are you asking about receiving money, and if so with which product(s)?
Most people can pay through PayPal if sent to a PayPal page, whether they are accountholders or not (depending upon the PayPal product being used). In addition to guest payments and/or direct credit card payments through PayPal, people can set up PayPal accounts when they arrive and immediately pay with them. So collecting email first and refusing to go forward if there is no PayPal account attached to that email would loose you potential customers. It would also "let through" many customers who could not pay, such as people who know an email address but don't own the attached PayPal account. PayPal also intentionally declines to easily answer questions about whether an email has an associated PayPal account in order to make it harder for bad actors to accumulate lists of PayPal accounts (often with associated personal information) for spear phishing campaigns. There are some APIs that allow you to get limited information about a PayPal account but there are limits associated with these APIs; see e.g. GetVerifiedStatus documentation at:
https://developer.paypal.com/docs/classic/api/adaptive-accounts/GetVerifiedStatus_API_Operation/
Note also that Verified has a particular technical meaning in PayPal, and is NOT AT ALL THE SAME as "able to pay you."
If you want to know if someone can log into their PayPal account, and then use that PayPal account to get information about the user (as well as potentially pay you), that's easy: use Login with PayPal. That's what it's for. Naturally this requires the user to login and assent to your use of their information.
If you want to know if someone can take a particular action (e.g. make a payment), at this moment, the only way to be certain is to actionally request that action. You have options short of actually requesting money; if you want to ensure the user has funds and reserve them for you to collect shortly you can request an authorization rather than a sale. If you want to make sure the user can log in, has payment mechanisms and generally looks ready to pay you (but WITHOUT reserving and guaranteeing funds) you can request an Order.
Hopefully one of these things is what you are asking for?
If you have a PayPal AccountID (a PayPal-generated ID rather than an externally-generated identifier like email or phone number) you can pass it to certain APIs (such as the GetVerifiedStatus), so many of the same options above apply.

Paypal canceling recurring profile buyer email notification

I am useing paypal exprees checkout API. I want to cancel recurring profile. I add a note for reason of canceling. The recurring profile cancel successfully and note setup to buyer profile history page. But The note does show buyer email notification.
Can you tell anyone how can I show user reason of cancellation in email notification?
Thanks advance
That note is considered an internal use sort of thing, and isn't meant to be shown to the buyer.
What you can do, though, is setup an Instant Payment Notification (IPN) solution which would get hit when the profile is canceled. Within this you can generate a custom, branded email notification, update your database, hit 3rd party web services, etc. It's a very useful tool that allows you to automate all sorts of things based on different transaction types.

Paypal Marketplace Seller

I'm struggling to pick the right Paypal solution for a small marketplace website.
The site has a number of vendors and customers buy directly from them. There is no commission or complication - payment is direct, buyer to vendor.
It crosses my mind that although I'm the merchant, I'm not the final funds recipient - so I can't see how I can make this work. I'd like to use Express, but I'm not sure that I can set the funds recipient to a third party account.
I don't want to use Adaptive. I've tried that before and it has some features missing (mostly relating to verified addresses, ability to list invoice items etc).
It also crosses my mind that if buyer A sends to Vendor B through the site, then there can be no IPN as the merchant is not the final recipient.
Really I'm looking for the right way to go to deploy a solid Paypal solution for this.
You could use Express Checkout for this. They vendors would just need to grant API permissions to your API username so that your user name has the permissions to execute Express Checkout API calls on their account. This will allow you directly process the transactions on their PayPal account. You can also pass over the IPN URL in the API call that you would like to have the IPN sent to. Also by passing it over in the API call, it will override the one set in the account for the particular transaction you pass it over for. This way the merchant/vendor can still use the one they may have set in their account for something else.