I am developing Express checkout with Merchant-SDK for classic API and I am experiencing some problems with guest paymens.
I have checked the PayPal Account Optional and I am manualy setting the SOLUTIONTYPE=Sole during setExpresCheckout.
However I am getting very inconsistent results (at some point I was able to use guest payment with PayPal Account Optional alone). Guest payment seems to work for only some states but they seem not to be always the same.
So I am wondering What else affects this? Where can I find some explanation?
Note: I am using shortened flow (useraction=commit) and setting the LOCALCODE. Right now I am also setting the LANDINGPAGE=Billing but It would be better for me to leave this on PayPal.
As for integration level, PayPal Account Optional (set as 'on') and SOLUTIONTYPE=Sole are the only 2 steps for you to configure. Nothing else you should do. Such guest checkout issue for Express Checkout is mainly based on customer/buyer side, including the network environment, funding source status, etc., PayPal has its own risk detection mechanism to judge whether or not your customer is suitable for guest checkout. This risk detection mechanism is very complicated to find its rule.
But if your PayPal account is based on U.S., you can go to the link below to upgrade your PayPal account to the Pro account, and then you can integrate PayPal Direct Payment which can fully use guest checkout.
https://www.paypal-business.com/paypal-pro
Related
I integrated OmniPay in my project few days ago, and I wondered if there is any option coming with it to actually enable credit card payments.
https://github.com/thephpleague/omnipay
I want to understand how to enable the PayPal credit card payments (which do not require an paypal account) using it.
What PayPal API settings should I enable?
How can I code this?
Is there any option to do this using PayPal & PHP at all ?
I tried to document myself on this and I couldn't find any answer to this question. Neither on the https://github.com/thephpleague/omnipay nor on Stack.
The setting mentioned in comments, 'PayPal Account Optional' exists so you have the ability to only accept payments from people with an account (when set to 'No').
If set to 'Yes', payments without an account can be possible. But whether the option will be offered to a particular payer in a particular PayPal checkout attempt depends on very many factors, which you do not control.
The only way to have some guarantee of a guest method being offered is to show a credit card form on your own site, before the buyer reaches a PayPal.com page, using the black 'Debit or Credit Card' button that is part of the JS SDK. You can see an example demo here: https://developer.paypal.com/demo/checkout/#/pattern/server
That JS code used for payer approval can be paired with any backend to create and capture the order via API -- including Omnipay, which essentially acts as a proxy for the PayPal API. This JS replaces any redirect over to PayPal which you might be familiar with from oler legacy integrations; the JS SDK is a more modern way to get the payer's approval, via a small in-context window or open a credit card form iframe instead which is a better UX than redirecting away anyway.
For setting up a transaction between Paypal account to another Paypal account without user intervention/permission, I was planning to integrate Paypal Adaptive but had second thoughts due to a note on the Paypal's web page for Adaptive payments. The screen shot and link of the note attached below:
https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APIntro/
Screenshot:
This got me to wondering whether Adaptive is a good choice for new integrations considering the limited release note or whether I would be able to make requests in a live account currently? (It works in sandbox account currently)
If yes, then should I be worried there may be some future update that would render my integration to not work?
If its not a good choice then what other alternatives does Paypal offer that are best suitable for Paypal account to account transaction?
Initially, I was actually trying to integrate PreApprove coupled with Pay API for automated transactions without user intervention/permission but used "DoReference" instead due to this note from Paypal.
Hi i am getting two options while integrating the paypal with my PHP code
1. Pay via paypal
2. Create a paypal account
Whereas i Need an option Of
Payment through Debit/Credit Card
How can i get that,,
i reffer to thisThis Link But unable to find the paypal profile and more options option, Can anyone help me
The only way to force Guest Checkout (which is what PayPal calls it when somebody uses a credit card from their checkout pages without signing in to a PayPal account) is to use the Express Checkout APIs.
This will allow you to set parameters that provide the Guest Checkout experience in all instances where it's available. Keep in mind that even with this configured correctly, Guest Checkout is simply not available for all buyers in all countries, so you still won't get it for 100% of your customers if you're selling world wide.
Guest Checkout is available in PayPal Standard Payments, too, but it's cookie based, so it's very unreliable. If the browser in use has ever had anybody sign in to a PayPal account then it will assume the current user will be signing in, too, and it will not prominently display the Guest Checkout option. This is what you are able to avoid by using the Express Checkout APIs.
This PayPal PHP SDK will make the Express Checkout calls very quick and easy for you. Specifically, you'll be working with:
SetExpressCheckout
GetExpressCheckoutDetails
DoExpressCheckoutPayment
In your SetExpressCheckout request you'll make sure to include the follow parameters:
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
USERSELECTEDFUNDINGSOURCE=CreditCard
This will ensure that the user sees the Guest Checkout experience.
Direct processing of Credit Cards is deprecated.
But people can pay without PayPal account - it's called guest payments.
Use the PayPal API and allow the optimal checkout to YES and then customers can pay either through credit card / paypal account.
https://developer.paypal.com/docs/integration/direct/payments/guest-payments/#
I am trying to use Express checkout in Pay Pal Api.
And I want to use it in guest mode (without creating of account), everything of it work through WooCommerce.
For all of that i done:
SET "PayPal Account Optional: On."
SET LANDINGPAGE=Billing
SET SOLUTIONTYPE=Sole
Settings in wooCommerce also correct
And yes I have business account.
I cleaned cache and once time it even worked but after few time testing its broken again and I do not know what to do.
I tested in different browsers even IPs, one time some magic it used to work but failed again.
So maybe someone know how to make it work constantly?
Verified PayPal account
Confirmed email address
Guest Checkout enabled
With Express Checkout their cart must pass "SOLUTIONTYPE=Sole"
If all of these are met and it's not available then our system has decided to disable the guest checkout option for risk reasons. This is not a permanent decision and it will be available in the future. If you are a big merchant and has a good TPV, you can check with your account manager/business support to help you with this.
If you want to make sure that you want to use Guest checkout, you will need to go for Payflow or PayPal Payments PRO (depending on merchant country).
This question asked before but didn't got any answer.Maybe things have been changed.
When you click the Express Checkout PayPal button on any webshop, it redirects you to a specific paypal login link, for paying the order.
I have been searching high and low for 3 weeks for a simple paypal php curl script that logs you in from this step, and confirms the payment, but have not been able to find anything.
I found out it is not possible to use the API for this, so its gotta be done by CURL.
I'm asking for this because I run a dropshipping website, and would like to automate certain steps, like placing and paying orders. A working code for this would help not just me, but all looking to automate buying in some form.
Thank's!
You can't log the buyer into PayPal when you redirect them to the site. The buyer has to enter their own account credentials themselves.
If you wanted to bill a buyer without requiring they log into PayPal each time you would need to use billing agreements (reference transactions) through Express Checkout. If you set up a billing agreement with a buyer you can charge a previously successful sale to bill them again for a different amount.
You cannot do what you want with Express Checkout, especially since nobody will ever enter the paypal details on your website (that is the entire point of paypal).
You can use either preapproved payments (buyers preappove payments being taken out of their account up to a certain ceiling), or reference transactions (you reference a new transaction to an older transaction. PayPal will then use the billing details of this earlier transaction to bill the user).
Preapproved payments is part of Adaptive Payments. Documentation is at https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/
You can find more details about Reference Transactions at https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECReferenceTxns
Note: Reference Transactions needs to be enabled on your account. This API call is not open to everyone due to the potential for abuse, so you may want to look into whether you're eligible for it before you start working on a full integation with it.
You can find more info here :https://www.paypal-community.com/t5/Merchant-services-Archive/Does-Paypal-have-a-quot-Token-Payments-quot-concept/td-p/325794
Also google "token payments" as that is what you need and most payment gateways usually support them.