I used the PayPal sandbox last year when integrating a website with PayPal Pro and it was pretty straightforward. The new and improved version is confusing the heck out of me, though. Nowhere can I find an actual definition for what an "app" is (I'm not kidding, I can't find a definition anywhere) and I'm confused on what I need to do to access the sandbox.
Do I need to create an "app," or just create sandbox accounts?
It depends on which APIs you're using. Adaptive Payments and related APIs (Adaptive Accounts, Invoicing) require a "classic" APP ID. And REST APIs require a newer app to get credentials.
Classic APIs such as Express Checkout and Payments Pro do not require any app; merely an appropriate Business sandbox account.
So, start by figuring out which API you want to use, and then follow its documentation.
Related
Is it possible to use Paypal express checkout without signing in even if the user has a Paypal account present?
We have noticed that some folks forget their credentials and don't want to login to Paypal, thus causing us to lose their donation. The Account optional setting seems to still require users, who have a Paypal account linked to the provided email, to sign in even if they would like to pay from the checkout page.
Is there a way to avoid this?
Thanks!
Paypal provide optional guest checkout. https://www.paypal.com/webapps/mpp/express-checkout#overview
Guest Checkout would allow people to use a credit card without signing in or creating an account, but the checkout would still take place in PayPal hosted pages.
If you'd like to process credit cards directly on your site you could use Payments Pro, the REST API, or Braintree. The difference is really just the technical details in integrating it, so your developer could choose which method would work best for your setup, and then you could create that account and integrate it accordingly.
If you're already using and are familiar with PayPal in general I would recommend going with Payments Pro. It typically costs $30/mo, but if you contact me directly I can help you to get that fee waived.
You would also need to make sure your site has an SSL installed and can run from https:// correctly.
Once those things are in place it's just a matter of integrating Payments Pro into your current setup, which depending on what that is, there are a number of different ways that could be done. I would need more detail to be able to help you more specifically with integration.
I have a native mobile app in which I want users to subscribe for a monthly fee. I started by integrating with the native PayPal SDKs and use future payments, but in that case I'm in charge of processing the payments every month. I want a more automatic way where users approve their subscription and PayPal automatically posts the payments every month.
I have also started looking at Stripe, so if there is a solution using another library I would be glad to hear of that too.
(Disclaimer: I work for Stripe.)
Stripe does support recurring payments with the "subscriptions" feature. You can read more about it here:
https://stripe.com/docs/subscriptions
https://stripe.com/docs/guides/subscriptions
To implement this in a mobile app, you'd need to use the iOS SDK and/or the Android SDK. Both SDKs offer the same functionality: the ability to turn card information into a token, by exchanging the information directly between the user's device and Stripe's servers.
This way, the sensitive card information never hits your server, which greatly reduces the burden of PCI compliance. You can read more here: https://support.stripe.com/questions/do-i-need-to-be-pci-compliant-what-do-i-have-to-do. (This article talks about Stripe.js and Checkout, but the mobile SDKs serve the same purpose.)
Once a token has been created, you'd need to send it to an external server, where you would use it to create a customer object and a subscription, as explained in the subscriptions documentation I linked above.
The reason why this needs to be done on an external server and not in the app itself is because aside from the creation of card tokens, all other API requests need to be sent with your secret API key. You cannot embed or otherwise provide the secret API key to your app, as an attacker could extract it and use it for malicious purposes (they could refund past charges, use your account to test stolen card numbers, etc.).
I am working for a company that is using Paypal pro. There are so many Paypal account types, API's, and SDK's that I am starting to get confused with it all. At developer.paypal.com, there is documentation for many different things. What API and/or documentation do I use to start integrating paypal into my website? What is the difference between all these different ones?
Any advice or help would be great, as I am stuck.
Thanks for your time!
Personally, I would avoid the REST API and stick with the Classic API for now. The REST API is very new and doesn't do (much) more than the Classic APIs do. In fact, the Classic API is much more mature has a lot more functionality, which is one of the reasons I still prefer and recommend it.
With PayPal Pro you will use one of two APIs depending on which version you have.
Website Payments Pro 3.0 - This uses the DoDirectPayment API
Payments Pro 2.0 - This uses the PayFlow API.
Payments Pro 2.0 is actually the newer version. If you're interested in more detail on that you can take a look at my article on the History of PayPal Payments Pro.
So those would be for direct credit card processing through your site / application from your own custom checkout page. To add PayPal payments to that, you would use Express Checkout APIs. Specifically,
SetExpressCheckout
GetExpressCheckoutDetails
DoExpressCheckoutPayment
If you are working with PHP this PayPal PHP SDK will make all of these calls very simple for you.
I have looked at the Paypal REST API and at classic API. I like the Direct card processing support the REST API offers and the ability to use the Vault from the REST API.
Only problem is our PayPal sales rep insists the REST APIs are not stable and should not be used and wants us to use PayPal payments Pro with this Class API .
We have a business account and only expect to receive payments in the US, which per this link should be supported just fine. We need to accept payments using a mobile app and website. The mobile app needs to support one time transactions and both (app and website) need to support transactions using stored credit card information (which is where the Vault feature seems really handy).
I clearly see a lot of REST API questions so now doubt its in use.
Question for devs using the REST API over the past 6 months:
has it changed in a breaking manner for you?
Is it reasonably available (99.9%) for your applications?
Does using the Vault REST API feature require a Payments Pro account?
The RESTful APIs would work for you based off of what you stated. Granted they are not to parity with the Classic APIs just yet but the features you were requesting (Direct Card and Vault) are good to go. Pro is not required for Vault with a US account.
Lastly, without knowing the full conversation you had with your Sales Rep, I can't comment on why they felt so strongly against the RESTful APIs. However, if you open up a ticket at www.paypal.com/mts with all of your integration requirements, we can help you out with the best options available.
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!