Saving a paypal account for a user to my web application - paypal

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.

Related

Pay as you go with Paypal

I want to implement a pay as you go with Paypal, as I read the subscriptions API we need to create a plan and product, and as I understand it, it works based on the regular payments which obviously we don't want that we want if the user's budget is below a certain amount we recharge the user by a fixed amount again, can anybody guide me how to approach and implement pay as go using Paypal?
You are correct, subscriptions bill on a regular schedule whereas what you are describing is the ability to bill an arbitrary amount at any time.
That feature is called "reference transactions", or sometimes "billing agreements". It is not enabled for PayPal business accounts by default. To request the feature, the owner of the PayPal account should contact PayPal's general business support (note: not technical support) and explain the business need for this reference transactions feature.
If it's approved for the account, PayPal can then guide you on which API integration to use; potentially something like the newest v2/vault.

How can I obtain a token to charge authorized PayPal accounts as needed?

I have a white labeling Shopify app that bills store owners who install my app whenever orders for my vendor are created in their store. Currently I use Authorize.net as a payment processor. Store owners perform an initial setup whereby they authorize their credit card using a web form I provide. This provides me with a customer profile ID and a customer payment profile ID for the store owner, and I use these two ids to charge their credit card via Authorize.Net for each and every order that is placed through their store for when the order contains one or more of my white label products.
So essentially I have Authorize.Net tokens for each store, and I use those tokens to charge store owners' credit cards as orders come in through their store, and each order has a different charge amount (this is not a recurring payment that is of the same amount each time). Here is some sample code.
I'd like to use PayPal as a backup payment processor and reproduce this same functionality. I'm looking through PayPal's API as well as the Node SDK, and I am not sure how to accomplish the same thing with PayPal. I essentially want to obtain a token tied to the store owner's account which I can use to charge the seller for each order, and each order can have a different charge amount.
Can someone point me in the right direction?
Turns out that what I wanted seems to be Reference Transactions.
For documentation see https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/.
For an example see this project which uses the paypal-ec2 Node package.
The flow for the example project mentioned above appears to be as follows:
Create Billing Agreement with seller
Visit Express Checkout page
http://localhost:3000/checkout/callback_success is called
Receive token
Redirect to payment URL (which uses token received)
Receive token
Create a billing agreement
(no redirection or confirmation happens)
Receive and store a billing agreement token in database
You now have the ability to process payments in the future for arbitrary transaction amounts using the Billing Agreement ID

PayPal Recurring payments/subscription

I need to create a subscriptions system in my app, where users can subscribe to a certain package and they must be billed monthly.
Moreover, I need to charge their credit card automatically, and without requiring them to have a PayPal account.
I read about https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=merchant/erp_overview, but is seems it's not available anymore as I click on sign up and it gives me an error ("Sorry, this feature is not available at this time.").
Then I've read about PayPal Standard Payments, which have a subscription method (https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscribe_buttons/)
From what I can read there is that this is what is suitable for my use case, and it says that I need to enable the above mentioned service, which it doesn't work.
Can someone point me in the right direction on what service should I use from PayPal in order to implement recurring payments (basically my users will subscribe themselves to a service on my website, and I need to charge them monthly).
Thank you.
If you're wanting to handle credit cards directly I would highly recommend going with Payments Pro w/ Recurring Payments APIs.
You'll have to pay a monthly fee to get it all activated, and it's a little bit more expensive than what you were looking at, but it will give you much greater flexibility building your application(s) into various experiences for your buyers.

Paypal integration back-end?

Is it possible to store the clients credit card information on our secure website database and automatically pass the values to paypal to process without even having to show paypal website?
I would like to do this so client does not have to enter paypal credit card information each time for payment, if they do not want to setup a paypal account.
So basically just use the paypal system in the back-end. After the information is passed to paypal, it processes it, and redirects user to another page.
Update: Paypal Introducing Direct Payment
Can I just pass credit card information from my secure web database to direct payment system, and have it be processed without manually entering data?
It is never recommended to store credit card details in your database for a number of reasons. You really don't need to, either.
Instead, you can use PayPal's DoReferenceTransaction API.
The DoReferenceTransaction API operation processes a payment from a
buyer's account, which is identified by a previous transaction.
Basically, you just pass in the transaction ID of a previous sale or authorization transaction along with a new amount to be charged. PayPal will charge the card using the details they have saved in their system, so you don't have to worry about the hassle of protecting sensitive data like that.

Paypal vault for recurring payments

I'm going to offer my customers a selection of subscriptions to digital content. I want the customer to be able to add or delete subscriptions later, with as little hassle as possible.
It seems that if I use Paypal vault, I can collect the card information on the same subscriptions screen without multiple redirects and later change the monthly total without another checkout process or even customer sending approval to Paypal!
Does Paypal allow this? It seems too easy and also too permissive. Also, do I need to worry about PCI compliance?
Does anyone know a better way to do this (with or without Paypal)? I don't know how to use paypal recurring payments without a lengthy checkout if they ever change their subscriptions. Google wallet does not have subscription cancellation in their API! Several other alternatives only allow preset subscription amounts.
The CSC/CVV is missing from the examples here: https://developer.paypal.com/docs/integration/direct/store-a-credit-card/ which makes me think you cannot use the card at will. The customer is probably going to be asked for authorisation.
Normally your online payment provider needs to support recurring payments (installments, subscriptions). PayPal does, there's a specific API:
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/installment_buttons/
For the customer it's one-off, then the card is billed, say, monthly.