PayPal Adaptive Payments without a popup or lightbox - paypal

I have been using Adaptive Payments for a while but recently it has started to let me down. The lightbox feature is good, but users are hardly ever signed in to their PayPal account so a popup is required. The PayPal popup gets blocked by all web browsers these days and my users are not noticing this, even though I have a big message to warn them next to the payment button.
I have tested and have working the full page solution, i.e. redirecting to
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=AP-XXXX
This works fine though I also need to customise the page logo on the PayPal page depending on the domain (I provide my technology white labelled).
Is there any PayPal service that allows me to perform charges on behalf of other users business accounts or do I need each business customer to create their own API account with PayPal?

You can use the Permission API to do transactions on behalf of other account holders, https://developer.paypal.com/webapps/developer/docs/classic/products/permissions/

Related

How to receive webhooks from paypal donations? (and a few other misunderstandings)

Good day, everyone. I'm a bit stumped on this subject. I have a bit of experience with PayPal developer apps when it comes to subscriptions but this issue with donations is stumping me.
I would like to receive webhooks when a donation is made. I have created a new app in paypal developer dashboard, assigned it the webhook URL (a web app running on Python Flask) and while I have been able to successfully send and receive mock sandbox webhooks from the developer sandbox dashboard for testing so I know everything is configured to work. I just can't figure out how to now establish the live environment donations handling.
I have a business and a developer PayPal account. Within my business account (which I assume is the one that does live donation transactions), I have created a donation button. Logic would dictate that within this donation button setup, there should be a select option to specify the app who's webhooks these donations need to be using. But there is no such thing and PayPal's developer forum is deserted.
The general question is:
How does one set up a donation button to receive webhooks to a certain app or is that not how this works? Because I can have multiple donation buttons for various purposes, campaigns and configurations and I don't need webhooks for all of them. If I am forced to receive all donations, at least I see that there's a donation button ID which I can use to filter out donations coming from other buttons. But I can't even do that if I am not receiving donation webhooks at all.
Looks like for the time being to make this work I have to use Smart Buttons instead of donation buttons in Paypal. With smart buttons I can specify an app id I created in the developer dashboard and receive the webhooks this way.

What's the difference between PayPal buttons and PayPal Express Checkout?

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.

PayPal Adaptive Account Creation Using Light Box

I am using PayPal Adaptive Accounts to let my site users create their accounts on PayPal. I want to use light box on top of my web site's page, so that users do not feel they are going outside of my web site, i.e. I am not redirecting to PayPal site for account creation.
For this purpose, I use PayPal Adaptive Accounts "Create Account" Classic API operation.
I am getting a URL from "Create Account" operation, which I want to open in a light box.
Here, I have certain questions:
Does any body has done this before and if kind enough provide code sample for this?
After the user creates his/her account on PayPal page displayed inside a light box on my site, how my page will know if the user successfully created his/her account and show a confirmation message that his account in PayPal has been successfully created.
Does PayPal provide any JavaScript for this purpose or I should create my JavaScript code of my own? Can dg.js be used? I am confused.
Thanks.
Unfortunately, lightbox feature is not supported due to security concerns. However, paypal supports minibrowser. As far as knowing when somebody is done setting up their account, with the minibrowser flow they would get an IPN when the password is created. SDKs have sample code for this.
Reference: https://developer.paypal.com/webapps/developer/docs/classic/adaptive-accounts/integration-guide/ACIntroduction/

Auto redirect Explanation

I'm configuring a paypal payment gateway in my website, at the moment a sandbox is configured and I'm using paypal standard. Everithing works fine except for some small thing I need to discuss with you:
after user (redirected to paypal site) make the payment is there a way to redirect automatically after the payment is done...I would avoid that user has to click the link: "return to xxx website". ( I have seen and used many websites that use to redirect to paypal but after payments is done the really automatically redirect to the website...without any additional click)
I have personalized the aspect of my page under paypal account (in sandbox mode) but when i test the payment the page is not personalized but show the standard one...so my question is personalized pages works under sandbox?
For paypal standard subscribe button is required an HTTPS protocol or they accept also normal urls?
1) If you are using PayPal Payments Standard (Buttons) then you will have the return to merchant at the checkout page, this is because the payment is complete at this point. What you are thinking when you are redirected back immediately is ExpressCheckout and the merchant can process the payment immediately or by user action.
2) Yes, personalized pages work in sandbox. You need to make sure it is set as primary
3) For PayPal Payments Standard you do not need HTTPS, as the payment is handled on the Paypal website.

How does a non-developer test a dead simple, single-use, Paypal button?

I'm not a programmer, a developer, or a genius. I'm a semi-intelligent person who wants to build a single-serving Web site that provides a simple service for a fixed price.
So I just need to test a single "Submit & Pay" button that I've built using a Machform form. You fill in the form, press the button, and it directs you to Paypal to complete the payment.
Everything is working until I get to the Paypal part. But I don't want to start paying Paypal fees just to check if it's working okay.
There seems to have been a Sandbox option in the past on Paypal, but after creating a basic Sandbox account, it... doesn't work. Links go nowhere, and even the main site (cms.paypal.com) goes to a 404 page. The "Getting Started with Sandbox" link goes to a broken page. The "Sandbox User Guide" attempts to load a PDF on a site I don't know, and don't trust.
The "Sandbox" options on the main site -- when they don't go to the semi-broken, I-guess-abandoned "Sandbox" site -- go to developer.paypal.com, which is way too much gun for me. Even a Google search for "paypal sandbox" now leads exclusively to developer.paypal.com links.
I just need to confirm that my "pay" button will execute correctly in Paypal; I don't need to build a multi-platform API that configures my JavaScripts to execute a parallel-stream optimization option on a scaleable interface across mobile devices with integrated IPNs and a side of fries.
What's the best way to do that?
The sandbox is indeed what you need for testing, and you do need an account at developer.paypal.com in order to use it. It's not a complicated thing, though. You don't have to get all crazy with it if you don't want/need to.
Go to http://developer.paypal.com and login there with your PayPal account. Once logged in click on Applications and then go to Sandbox Accounts.
Use the Create Account button to create at least 1 seller account and 1 buyer account. For the seller account just make it a business account. For the buyer account you can make it personal or business.
Launch your sandbox seller account and login to that. This is your fake PayPal account that you can use just like your own. From within that account you can create buttons just like you do from your live account, and you can place those buttons on pages to test with.
Then when you launch that page in a browser and click on the button it will send you over to sandbox.paypal.com instead of the regular paypal.com, but it will all look very similar to what a buyer would see during payment. You can use the buyer sandbox account you created to complete the purchase exactly as you would with a real account.
After that you can login to the seller or buyer account to see how things would look for each person in the transaction.