I am trying to achieve guest checkout via PayPal on one site for my client.
Now it look like this:
But only thing what I want is just pay without creating an account (as a guest).
I want it like this:
Do you know how to do this only as pay by card, not with creating a paypal account?
To get that flow consistently you need to use the Express Checkout APIs. In your SetExpressCheckout request you'll include the following parameters.
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
USERSELECTEDFUNDINGSOURCE=CreditCard
You also need to make sure that "PayPal Account Optional" is enabled in your PayPal profile. It's under Payment Receiving Preferences, or Website Payment Preferences, or something like that.
That will give you what you're after.
Related
What's the difference between PayPal buttons and PayPal Express Checkout?
The second one seems more complicated than the first one to integrate in a web site. When I should consider to use Express Checkout rather than Buttons? What are the advantages?
PayPal Standard buttons are indeed quick and easy, but they are limited. One of the biggest issues with it is with regard to Guest Checkout, which allows non-PayPal account holders to pay with a credit card without creating an account.
With Standard buttons this is browser cookie based, so if anybody has ever signed in to a PayPal account using the browser in use, then the cookie will trigger and assume that the user will be logging in to PayPal. This causes the guest checkout option to be less prominent, and buyers often miss it, which results in lost sales.
Express Checkout uses the APIs which gives you more flexibility, including the ability to force the Guest Checkout experience if you want to regardless of any browser cookies. This can lead to increased conversion rates.
Another thing to consider is that with Standard buttons there is no guarantee the user will make it back to your site. Even if you have Auto-Return enabled in the PayPal account there is a delay, and the user could simply close their browser before they are sent back to your site. With Express Checkout the user has to return to your site before the process can be completed, so this gives you the ability to tie more post-transaction processing procedures into your checkout flow.
Adding PayPal buttons to your website eliminates the need to enter your shipping address. You only verify the purchase details and confirm by the user and it gets supplied by PayPal but in case of Express checkout customer still need to supply their shipping address .
Also in case of express checkout you make API call initially to PayPal and in turn PayPal gives you token id for the payment you are going to make and you use the token(which is unique for every payment) to subsequently authorize and capture the amount from PayPal account once the customer confirms the payment after logging into PayPal account.
We have been using the PayPal Checkout (v4) for a little while now, and really like the way it integrates. This is the system I'm talking about:
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/checkout-flow/
We are using this plugin to do the magic:
https://github.com/paypal/paypal-checkout
Anyway, as I said we have this all working fine when someone is sending US the money. However, we also have a tool on our site where "customers" can send money to sellers. For this, we currently have the Adaptive Payments system.
My question: How can we use the PayPal Checkout tool to let people send to a given email address, while still getting the callback for the order? (so we can enter it into our system, to track it)
At first I thought this wouldn't be possible - but I've seen this exact same logic on eBay:
Is this something that is publicly available? Or is it just a "PayPal-Ebay" thing? (as they are effectively the same company, so maybe have access to different tools than the general public do)
Thanks!
Here's another option -- the payee option in PayPal's REST api:
https://devblog.paypal.com/setting-payee/
Using this, you can set the money to be moved to whichever paypal account you like with just the email address.
The PayPal Express Checkout v4 is based on PayPal Rest API which does not support spliting or sending payment to a given PayPal account that is not the API caller. Adaptive payment is the right to do so in PayPal. The PayPal checkout on eBay is only for eBay, the checkout experience may look similar but it's using different product than the Express Checkout v4.
The basic integration lets you set up a button for a merchant using only their client id:
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/basic-integration/
So if you can collect the merchant's client id, you can set up a button to make payments to that merchant.
Hope that helps!
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 can't understand Hosted Checkout. I think this is because I can't let go of Payflow Link. So I'm going to reduce this to what I want to do and if somebody could tell me if this is possible with Hosted Checkout I would greatly appreciate it.
With PayflowLink I was able to collect some information (Name, Address, Email, etc) + some app specific information that was used to calculate an AMOUNT and send it off to payflow.paypal.com and the user could happily check out before being returned to my website.
With Hosted Checkout the documentation seems to imply that I now collect the credit card info and grab a Secure Token to submit it to payflow.
You'll say why not use Paypal Payment Standard but the user has their own Merchant Account.
Am I missing something?
If you're using a 3rd party merchant other than PayPal you would actually still use PayFlow Link (or Pro) the same way you did before. Payments Advanced (hosted PayPal) is only for when you're using PayPal as the merchant account.
Yes you can.
The documentation makes no reference to this use case but you can.
It appears you can even continue to use the legacy PayflowLink parameters (again not documented).
The real kicker is the confusing error message regarding "Express Checkout" generated by the lack of the Sandbox account when trying to run a test form submission.
For those who follow me... you have to have the sandbox account if you are in test. You enter your sandbox email about halfway down the Hosted Checkout Setup form
When the PayPal transaction is complete, PayPal shows this:
Thanks for your order
Your payment of $XXXX.XX USD is complete.
You're now going back to MYSITE.
If you are not redirected within 10 seconds, click here.
I don't want the client to even see this page. Is there any way to either avoid it completely, or set the redirect time to 0?
You will also need a Website Payments Pro subscription for that.
https://www.paypal.com/webapps/mpp/website-payments-pro
Once you have it, get the API signature, API username & API password from the My Profile area of your paypal account.
Then, use the Direct Payment method as described in the following manual
https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_WPP_IntegrationGuide.pdf
As mentioned by Watermark, you might need to review PCI requirements and at least have SSL on your site before you can do this.
Check out https://developer.paypal.com/. You can build your own interface using PayPal's API. The user will never know that PayPal handled the transaction.
Be sure to review PCI-DSS requirements when using this approach.
What you ask is achievable with PayPal Payments Standard, but the seller account receiving the payment needs to be a PayPal Business/Premier account (a free upgrade), and they need to enable Auto Return and provide a Return URL in their PayPal account > Profile > Profile & Settings > My Selling Tools > Website Preferences.
You can also pass a return URL variable to checkout for each order, which would override any Return URL (or lack thereof) in the seller's PayPal account profile; however, if Auto Return is not also enabled in the seller's account, the buyer would need to click past the end of checkout manually in order to be redirected to that URL.