Can paypal credit card payment be handled in a hosted page like paypal express? - paypal

For paypal express payment (the one pay via a paypal account), I am quite happy to provide a return url and handle the payment in a paypal page. (so the transaction doesn't happen in my site).
If I want to accept credit card payments, I saw some APIs that I can pass credit card number from my site to paypal. Is it possible that I can just provide a return url and go to a paypal page? On that page, my user can type in credit card number and payment details. So I won't have to worry if my site is secure with those financial data.
Many Thanks

Just add the following parameters to your SetExpressCheckout request and I think you'll get what you're wanting.
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
USERSELECTEDFUNDINGSOURCE=CreditCard
Also, make sure you have the VERSION set to 119.0.

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.

Credit Card Options in Paypal Express Checkout

I have setup the express checkout process integration in asp.net mvc. When user is redirected to paypal website after submission, there is only option to login using paypal or sign up new account. There is no option to pay using credit card ?
Am i using right API for this?
By default Express Checkout is for PayPal accountholder payments; originally you would pair this with some other product for credit card payments (such as collecting the card information on your site and calling PayPal DirectPay or some other card processing partner).
PayPal also has several somewhat-similar products that collect the card information on their site (so you don't have to) and do that as well as accountholder payments; these vary in whether they end up giving you access to the credit card information (more flexible, but means you have to safely handle the card information and meet industry regulations, including vetting) or you do not ever see the card, just the money (simpler). This is often called some form of "guest checkout."
And eventually PayPal did add a guest checkout option to Express Checkout called "Account Optional." So you can use Express Checkout and get a guest checkout experience. See this link:
PayPal: express checkout pay without account
So in short you can get this from EC if you configure things for it, although some other PayPal products might be a better fit depending upon your particular requirements.

Add PayPal Credit option to the PayPal button

The PayPal Credit (formerly BML) overview page says the following:
How do I select PayPal Credit as my payment source?
There are two ways to choose PayPal Credit. Some merchants have a PayPal Credit option at checkout. If they do, you can simply choose that option. If you don’t see a PayPal Credit option, check out with PayPal, and then you’ll have the option to select PayPal Credit as your payment method. Either way a window will appear on your screen where you’ll provide your date of birth and the last 4 digits of your Social Security number, and then agree to the terms and conditions. Approval takes just seconds and you can complete your purchase.
I've tried several sites, and in some of them PayPal Credit appears as an option when you check out with PayPal (see Nordstrom, for example). In others, the PayPal Credit option does not appear (see KitchenAid). What parameter needs to be passed in the PayPal API for the Credit option to show up? I checked the PayPal button creator page, and there's no option to add PayPal Credit.
I realize this question is old, but the PayPal documentation is awful so this should save people time.
If you're using the PHP SDK you can set the PayPal credit to be the default payment with this method.
$payer = new PayPal\Api\Payer();
$payer->setExternalSelectedFundingInstrumentType('CREDIT');
The JSON for it is this
"payer":{
"payment_method":"paypal",
"external_selected_funding_instrument_type":"CREDIT"
}
If your account is eligible and enabled for PayPal Credit, you can use this parameter:
USERSELECTEDFUNDINGSOURCE = BML
in your ExpressCheckout API call.

PayPal API - How to keep the payment process on my website?

I run a small marketplace with multiple sellers where buyers can buy items and pay with PayPal. The problem is, when someone makes a payment, they are then displayed the "Payment Confirmation" on the PayPal website and are given a choice to either return to their PayPal account, or return to the website.
Is there any way to keep the payment flow on my website, except for the payment part? I notice when buying on Etsy for example, the buyer goes to PayPal to make the payment and is then immediately returned to Etsy for the payment confirmation. They never see the PayPal payment confirmation page.
I assume it could be because Etsy and PayPal have a special arrangement that isn't available to other sites? Or am I missing something in the API?
Right now, with the normal PayPal API, this is what buyers see:
NAME, you've just completed your payment.
Your transaction ID for this payment is: XXXXXXXXXXXXXXXXXXXX.
We'll send a confirmation email to your#email.com
Go to PayPal account overview.
Go back to "seller#email.com".
I can't even figure out how to change the "Go back to..." link to my website name in the hidden fields. PayPal just chooses to display the seller's (the person that received the payment) email address.
Is there any way to at least set a website name for them to return to with hidden variables? Keep in mind that I have different sellers, so it's not something I could set inside each seller's PayPal account.
Thank you :)
I assume you are using Express Checkout with Set/Get/Do EC API integration. Please check the below document for experience options available with Express Checkout API.
https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECCustomizing/
The 'useraction=commit' in the PayPal payment auth url triigers the 'Buy' button. If you do not send that request paramter then it will show 'continue' button and you can complete rest of the process on your site.
However, if you are using Paypal Payment Standard product then you need to use Express Checkout to accomplish the outcome you are seeking.

useraction parameter in URL

Please some one explain what happens if we send useraction=commit in paypal site url.
> And what parameters we need to send to paypal in SetExpress checkout request to make visible purchase value at PayPal site page.
With Express Checkout, you can shorten your checkout flow to let buyers complete their
purchases on PayPal. Then, you can skip your order confirmation page.
Generally, buyers select payment methods as the last step before they complete their
purchases. If you collect no additional information after buyers return from PayPal, you can
skip the confirm-order page on your website. If you collect additional information that does
not affect the payment, PayPal recommends that you collect it after buyers complete their
purchases.
The useraction URL parameter in your redirect to PayPal determines whether buyers
complete their purchases on PayPal or on your website. If you set useraction to commit,
PayPal sets the button text to Pay Now on the PayPal Review your informaton page. This
text lets buyers know that they complete their purchases if they click the button.
As for your other question about what parameters you need to send to PayPal in SetExpressCheckout request to make visible purchase value at PayPal site page, I am not sure I completely understand what you are asking. If you pass over the amount, this will show up on the checkout page. If you are wanting items to show up on these pages, you would need to pass over the line item details. These variables can be found in the Express Checkout Developers Guide, they will be slightly different depending on if you are using SOAP or NVP.
NVP Developers Guide
SOAP Developers Guide