PayPal Auto Payment without logging in - paypal

I want to make a payment system in which users can connect their PayPal account to a website. In this step, login required.
When transaction occurs, without having to log in again, users can pay to the site.
This would be quite different from PayPal subscriptions -- just auto payment like upwork client account.

What you are looking seems to be a "Reference Transactions" solution. It can be tested in sandbox, but to use it in live, the business account would need to be approved for this feature by PayPal. To do this the account owner would need to contact their PayPal account manager or PayPal's general customer support (not MTS), and explain the business need for this feature.
As far as implementing the solution, the only public documentation I'm aware of is for classic APIs: https://developer.paypal.com/docs/classic/express-checkout/ec-set-up-reference-transactions/ . Any newer API or vault solution does not appear to be publicly available at this time, but you could always contact PayPal's support and ask if there's something they'd rather you implement than those classic APIs. The more significant hurdle is the business approval for the feature mentioned earlier.

Related

PayPal Metered Billing / Billing Agreement

I've been looking for a solution everywhere after I saw PayPal mentioned Metered Billing on their developer page.
I would like to use PayPal for my SaaS, implementing a metered billing solution for billing my customers on a monthly basis a variable amount depending on their usage rate of the service.
I do remember an option for authorizing PayPal to give some software permission to execute payments without any further action from the side of the customer. Unfortunately, I cannot find any valid documentation, and not sure if is possible at all right now.
Is metered billing an option using the PayPal API?
Thank you so much!
What you are looking for is a "Reference Transactions" solution, which use PayPal Billing Agreements. It can be tested in sandbox, but to use it in live, the business account would need to be approved for this feature by PayPal. To do this the account owner would need to contact their PayPal account manager or PayPal's general customer support (not MTS), and explain the business need for this feature.
As far as implementing the solution, the only public documentation is for classic APIs: https://developer.paypal.com/docs/classic/express-checkout/ec-set-up-reference-transactions/ . Any newer API or vault solution isn't publicly documented currently, though I have seen some links surface about a v2 vault solution.
So, you can always contact PayPal's support and ask if there's something they'd rather you implement than classic APIs. The first hurdle is the business approval for the feature mentioned earlier.

Integration tests with PayPal

I would like to be able to test our integration with PayPal. We have sandbox accounts set up, etc, and I can even create payments. However, I'd like to be able to also issue refunds, query for refunds, and all the other APIs, all via integration tests and without human or even browser involvement. The difficult part seems to be that, of course, the PayPal flow requires someone to interact with a PayPal URL and approve the purchase.
Some more detail : We use the standard e-commerce flow on our site. User shows up, puts a product in a cart, proceeds to buy flow, selects a payment method, in this case PayPal. Of course, in PayPal's case, we create the Payment in PayPal and then simply show the embedded popup of palpal's flow where the user logs into their PayPal account and approves the purchase. PayPal does all this work. We simply get the response that 'yes, the purchase has been approved'.
So.. in an integration test environment, we can create the Payment entity in PayPal but.. how do we, in a sandbox environment integration test, get that payment approved? Is there a developer API available on the sandbox environment that says 'hey, this PayPal user approves this payment' or 'hey, this PayPal user rejects this payment', so that in test code we can simulate the buyer's flow. Or is there a way to set up a sandbox account to just 'auto approve' purchases or 'auto reject' purchases, simply for a test environment?
Yes, you can do anything in the sandbox that you can do on the live servers. This is a very broad question, though, so it's tough to answer.
For example, if you want to process payments without the need for any browser flow you'll need to have a billing agreement setup or a Pro transaction so you can run reference transactions. This would involve Express Checkout APIs and/or Payments Pro APIs, and reference transactions APIs. Depending on whether you're using Classic or REST, though, the API calls would be different.
In any case, once a transaction exists in the PayPal sandbox system you could then use the API to refund it. Same thing, though...you'd either be using REST APIs or Classic.
If you can provide more specifics in your question I can update this answer to be more specific as well.

PayPal API for funding business account

All the users on my site have a personal account. I would like to add paypal as a payment method to fund a user account. Upon a fund the user account will be credited so he will be able to pay for the services I provide. Is it possible?
Yes, this is possible you can write a script that after the users payment several lines of code get executed that activates your service and credits your account.
The easiest way of doing this is by using a payment provider that sits between paypal and your site. They can deliver you directly the scripts and API you need.
Ofcourse you can also make them yourself. Not sure if the PayPal API already includes this functionality.
I hope that this is of any help
Paypal provides an API to integrate and customize its payment platform to your website.
For starters this limk will give you a breakdown on what you can do with the api.
https://developer.paypal.com/docs/classic/api/gs_PayPalAPIs/
try this link if you are keen on developing that part of your site.
https://developer.paypal.com/docs/api/

Verifying paypal account

I am building website which requires customer to update paypal account.
Is there anyway to check the reality of customer's account?
When my customer fill out their paypal account in my site, I want them to be directed to paypal login page to login and paypal will return the result.
Does paypal api support this situation?
Pretty much any implementation of PayPal you choose would follow the flow you mentioned.
Payments Standard would allow you to create basic buttons or create an HTML form and POST directly to PayPal to process. It would send the user to PayPal for login and approval to complete the payment. The transaction details would include the payer status (verified or unverified) as well as the address status (confirmed or unconfirmed) and lots of other details about the order.
Express Checkout is basically the API version of Standard, but it's much more advanced and open to integrate in the way that works best for your site or application. In this case, some of buyer/transaction data is available during the process within your app through API requests and responses, and then you can also get to it via transaction details after the fact just like payments standard provides.
Another option would be to use Adaptive Payments, but if you're doing a general payment of any kind you probably don't need that. That's what you would use if/when you start wanting to split payments among multiple receivers within the same transaction, setup preapproval profiles, etc.
If you happen to be working with PHP my class library for PayPal will make the API calls very simple for you.
You could do what PayPal itself does when you register. Send them a few cents and have them tell you how many when they get it. The payment itself will fail if the account doesn't exist, and telling you how many cents proves that they own the account.

PayPal: Alternative to PayPal's Developer Account

I was using Paypal Sandbox for testing transactions last year using my PayPal developer account.
I just checked last week that I cannot access my old account, so I decided to sign up for a new account. However, you need now to sign up for a business account. Business account is only available to U.S. businesses (I came from outside the US).
I was hoping if you can suggest an alternative and free developer account (similar to PayPal), but with a different payment gateway.
Thank you.
How about stripe ?
Stripe
Uses a JavaScript based API to complete transactions.
Simpler to integrate with multiple platforms.
You don't need a US Business account to use developer.paypal.com.
Simply sign up via https://www.paypal.com/ for a live PayPal account, either Premier or Business, and you'll be able to log in to developer.paypal.com with it.
Note however that the new REST API is currently available for live US Business accounts only, but this won't affect the availability of other Sandbox products or functionality.
I'll look into why the messaging states that you do, because that's not correct. Thanks for pointing this out!