how to used paypal lib in non us developer - paypal

Accept PayPal and allow direct credit card processing Non U.S. developers, please note that direct credit card processing is not offered to you when using REST APIs. Your live credentials are inoperable for direct credit card processing but your test credentials are enabled for sandbox testing.
What I understand of this is that a Non U.S. account could no process Direct Credicard payments, but they don't say anything about others payment capabilities.
So I made my application, use the REST API in Sandbox and everything works great.
No I was setting the live application and I couldn't. After reading again the Documentation I found this:
Do I need a U.S. PayPal account to sign up? To accept payments using the new REST APIs and PayPal Mobile SDK, we currently require a U.S. PayPal Business account. But stay tuned for more country support. Note that most countries can use our Classic APIs.

Related

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.

Paypal - Sandbox - Open Test Account

After X hours of searching and lost-ing inside documentation and this community, I understand that, if :
I'm non US developer
my client is not a US company
I want integrate Paypal in market-place
sending several emails to Paypal support
I need to:
register as Business Account US in paypal.com ( and not in sandbox )
find an US user because I'm not, otherwise I need to fake my address, zip code and state
enter in developer.paypal.com
Someone can answer me YES ? or the right procedure ?
Thanks
from https://developer.paypal.com/docs/faq/#international-developer-questions
"I'm a non-U.S. developer. What products are available to me?
The REST API supports a number of countries and currencies. The REST API provides simple payment processing for common business needs, including PayPal payments, direct credit card payments, authorization and capture, and refunds. For more advanced payment solutions such as parallel and recurring payments, you can use the NVP/SOAP APIs.
If you've previously used our NVP/SOAP APIs, you can continue to use them. Using your old Sandbox email address and password, you can import existing Sandbox accounts on the Sandbox Accounts page."
I started on this page:
https://developer.paypal.com/developer/accounts/

Braintree sandbox accepts non-existent PayPal accounts?

It seems to me that you can type in any random username/password combination and both the drop-in UI widget and the backend will accept it as a valid PayPal account. The payment will go through and everything.
Is there a way I can set Braintree sandbox to only accept real PayPal accounts?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
The Braintree Sandbox allows you to pass any email address and password you like into the PayPal dialog, as mentioned in Braintree's documentation. You can test with the fake PayPal nonces found on the Testing and Go-Live page, but keep in mind, Braintree didn't actually design the PayPal sandbox for handling end-to-end tests. All PayPal transactions made in the sandbox use the same, fake PayPal account. Because of that, there's no way to configure your Sandbox account to accept real PayPal accounts. We recommend that when you go live, you perform a few low-value sale transactions with each of the payment methods you plan to accept, including PayPal.
You can test cases where the information in a PayPal account is bad in the same way you would test a bad credit card: use one of the fake invalid nonces from our Testing and Go-Live page. If your code is handling those cases correctly, you can be confident that it will be able to handle a PayPal account with bad information as well.

Paypal live issue Non US

When I was setting the paypal application I see this note:
Important: Live credentials are disabled for some capabilities. We
require additional information from you for these capabilities as
noted below.
And this:
Accept PayPal and allow direct credit card processing Non U.S.
developers, please note that direct credit card processing is not
offered to you when using REST APIs. Your live credentials are
inoperable for direct credit card processing but your test credentials
are enabled for sandbox testing.
What I understand of this is that a Non U.S. account could no process Direct Credicard payments, but they don't say anything about others payment capabilities.
So I made my application, use the REST API in Sandbox and everything works great.
No I was setting the live application and I couldn't. After reading again the Documentation I found this:
Do I need a U.S. PayPal account to sign up? To accept payments using
the new REST APIs and PayPal Mobile SDK, we currently require a U.S.
PayPal Business account. But stay tuned for more country support. Note
that most countries can use our Classic APIs.
Some is very confuse the message, Am I or Am I not able to use an UK business account to process payments (with for example paypal balance) with the REST API?
The REST API is currently only available to US merchants. UK merchants cannot yet use the feature - sorry.
From the FAQ page on Developer.PayPal.com:
Do I need a U.S. PayPal account to sign up?
To accept payments using the new REST APIs and PayPal Mobile SDK, we currently require a U.S. PayPal Business account. But stay tuned for more country support. Note that most countries can use our Classic APIs.

Feature supported list for PayPal Rest API for non US

Looking forward for PayPal's new RestAPI.
We have already started building and finding cool things as we go. Since its an on going process of releasing features it is still not clear sometimes what is supported and what is not. I am listing down my doubts for what is supported for Non-US developers.
Merchants cannot accept payments by taking credit card number.
Subscription / recurring payment possible?
For Pay with PayPal method, does Paypal offer to accept payments form non Paypal users? Like pay directly using card on Paypal page?
Do mention if I missed anything.
To register for a Live set of REST credentials you are required to provide:
U.S. Business owner Social Security Number, date of birth, and other personal details.
U.S. Business Tax ID (EIN, ITIN) and other business information.
Subscription / Recurring Payments are not yet available through the REST process. There are Reference Transactions allowed through "Vault" though.
There isn't an equivalent to "SOLUTIONTYPE" for the REST process yet but hopefully soon.