Paypal vs braintree for user to user payments - paypal

I need a solution that allows UserA to make a payment to UserB. UserA is a registered account in a web service that has their information stored in the "vault". UserB has no registered account and would simply pay at checkout by entering a valid card number. The web service would take 2% of the payment that goes to I guess a separate account for the website.
I am trying to wrap my head around which payment service to use as this is the first time I am creating a service with money transactions involved. I like Braintree specifically from what I see:
Free up to first 50k (good for a small cloud based web service)
Drop in UI that handles the encryption side of thigns for me (so it seems)
My question is my solution requirements need me to seemily split up the transaction that UserB pays from a card into two places - a portion to UserA and a portion to the web service. Does Brain tree offer a solution that makes this possible as I see it is with Paypal Adaptive Payments
Just looking for a quick link to the documentation.

I think Braintree supports "Split & pay". Refer : You can designate a service fee with each transaction and Braintree will disburse the appropriate funds to you and your sub-merchant..
And Paypal of course supports Adaptive payments. Refer : Adaptive Payments
I think all you need is in the above links.

I've made already some applications with the requirements of yours, and if I was you, I would consider Paypal Adaptive payments, because through the API, you can select how you want to "split" the payment between the receivers.
check this page for the configurations : page with configs

Related

How to split the payment received in Paypal

I'm trying to split the payment into 2 accounts, the main and the secondary. Like any other marketplace or service platform, the secondary account is owned by the platform itself. I've read that it is called parallel payments under adaptive payment in Paypal. But right now, they don't accept new integration.
I've also read about the new mass payment and checkout features, but I'm not sure if they are the same. What I want to have is similar to fiverr where when a customer pays, the payment is automatically split into 2 just like I described above.
Any idea what section in Paypal docs I should read? Thanks.
Mass Payments is old, it's been replaced by Payouts, which you could request access to. It may or may not be approved for your marketplace use case.

Paypal Rest API Payment or Braintree Payments

I used the Paypal NVP API (Express checkout) for a long time and it worked fine. I'm now developing a new project and wanted to use the 'new' Rest API that Paypal recommends for new projects. I, however, find the documentation rather imprecise at some points and often contradictory.
I'm using their sandbox to test the payments and I noticed that the payments work fine, except that once I log in to the Paypal Buyer account, I can only select the PayPal balance to pay.
Is this a limitation of the Rest API? I want to clarify that I am based outside the US and I do not want to accept credit card payments on my own website (well, if there is no other solution, I would accept it). I'd rather have the user get redirected to the PayPal page and provide his credit card information over there. I do, however, want to give the option to the user to at least select from PayPal balance or credit card. (As I'm used to from the NVP API)
UPDATE
In the meantime, I've done a lot of additional research. On the PHP SDK page, they've added the following notice:
Important: The PayPal REST API no longer supports new direct credit card integrations. Please instead consider Braintree Direct; which is, PayPal's preferred integration solution for accepting direct credit card payments in your mobile app or website. Braintree, a PayPal service, is the easiest way to accept credit cards, PayPal, and many other payment methods.
How should I understand the direct credit card integration? Is that the credit card payment on the PayPal website after being redirected onto that page or do they mean credit card payments where the card number is provided on ones own website?
I've got the impression, PayPal is entirely shifting to Braintree Payments. Even on the official PayPal Developer website, they propose Express Checkout for quick (client side only) integrations and Braintree Direct for other payments.
This is what I need:
PHP integration of the API calls
Payment methods: PayPal balance, Different Credit Cards
eventually recurring payments
I do not need:
Third party invoicing
client management
shipping address management
So my concrete questions would be:
What's the difference between Braintree and PayPal payment methods (since they belong to the same organisation)?
Should I use PayPal Rest API or Braintree solutions in my case?
What are those PayPal limitations that they list on their website?
Has nobody got any experience in this domain? Even partial answers are welcome!
I have partial answer, as I am also in the process of choosing between BrainTree, PayPal Rest API, and Express checkout.
I'm here to answer "How should I understand the direct credit card integration?"
I'm no expert on the subject, but during my recent work at the area of integration with checkout systems, I've learned this:
One of the types of credit-cards is called "direct credit card". It means that it is directly connected with a bank account - when it is billed, the money is instantly transfered from the connected bank-account to the merchant. This is different than how most credit-cards work - most will only charge the bank-acoount at the beginninng of the next month.
I've come accross situations where direct cards behave differently than regular credit-cards.
For instance - the checkout-system I integrate with doesn't allow to monthly-bill a direct card. direct card on a monthly payment plan have to be billed manually.
So for me, the PayPal announcement you qouted means a lot - I need to support direct credit cards, hence I'm choosing BrainTree. Thanks!
Note to moderators:
I originally wanted to post this as a comment to the question, becuase I thought it would help the OP. I don't have enough reputation to comment, so I posted an Answer.

Easiest way to add PayPal to existing Stripe billing flow

I have an educational website that uses 'Stripe Connect' to accept payments from students, and split the payments between myself (the platform provider) and the teachers (content-creators).
Payments to teachers are currently handled through Stripe. Whenever a student purchases content, the teacher automatically receives the payment directly into their Stripe account. I retain a portion of the transaction directly into my Stripe account. It's an easy system and works nicely.
The problem is that students want to pay with PayPal.
So, I would like to add PayPal as a payment option for students, without forcing content-creators to connect two separate accounts--one for when viewers pay with PayPal, and another for when viewers pay with Stripe. The only idea I have so far, is to deposit all PayPal payments to one PayPal account, then manually "payout" teachers into their Stripe accounts every week.
But is there an automated way to do this? Stripe says they don't accept payments from PayPal.
Any ideas/help would be appreciated. Thanks!
Adaptive payments does support chained payments, as Andrew says in his answer; it would work very much like what you describe having set up with Stripe.
However, this will not meet your requirements of having both PayPal and Stripe payments arrive in a single teacher account. Unfortunately, Stripe & PayPal see each other as competitors and to my knowledge neither one has built a tidy product to consolidate "their" payments into the other company's account.
If you are willing to move away from Stripe, PayPal does provide many solutions that consolidate "raw" credit card payments and PayPal account payments into a single receiver account, including through Adaptive Payments as cited by Andrew.
I would add that Braintree, having been purchased by PayPal, provides perhaps the most Stripe-like integration for a product that would accomplish this goal. However, I do not believe that the Braintree SDK will do the chained payments for you; you might have to do some work to make that happen on your end (take the first payment, then calculate and make payouts either weekly as you mentioned or per-incoming-transaction).
A couple other things to think about: if you split some payments into delayed fulfillment but others are chained inside one payments provider you will need to support two very different flows; you may find it easier (for both you and your content providers) to select one model and run everything through that model.
Also, instead of payments going to you & then chained to the content providers you could have payments to go directly to the content providers and then trigger billing (either invoicing or automatically collected via recurring payments) from the content providers to you for your cut.
The best pattern depends largely upon how you want the legal & financial responsibilities to lie: are you providing the good or service and people are paying you for it, making you like a retail store or distributor for producers? Or are content providers providing the good or service being paid for to the students, and you are like a marketplace/facilitator/advertising venue? This question becomes significant as soon as someone is unsatisfied with something they have bought :).
You can use the Adaptive Payments platform with PayPal to split payments just like you're doing with Stripe. Specifically, you'd use the Pay API setup as a chained payment with a secondary receiver.
If you happen to be working with PHP my class library for PayPal will make all of the API calls very simple for you.

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.

Storing Credit Card information using PayPal Payments Advanced API?

I want to use PayPal Payment Advanced API to store the customer's credit card info on the PayPal's website the first time the customer enters the credit card info. For subsequent customer visits, i want to retrieve the Credit Card info from the PayPal's server. Is this possible? What does the PayPal server return me ( like a transaction id )that I can store in my database for that customer and then use it for subsequent requests.
Thanks
There is no API for Paypal payments advanced. From their tutorials:
PayPal Payments Advanced requires use of PayPal's hosted checkout template...
This means that you have to use their hosted pages (you can probably do so using an iframe if you want). The reason for that is that in order to collect credit-card details you have to be PCI compliant, meaning, you have to pass a series of security checks/tests. This process took my company almost two years and major development (and other) resources, so you probably don't want to go down that path.