Paypal with Single Page Apps in 2018 - paypal

So, whats the current state of using paypal payments with a SPA? Is it still mandatory to use a new popup window, or is it possible now (in 2018) to do without, i.e. keep my user on my SPA / PWA all the time?

Related

PayPal - Redirect to checkout page from server side instead of smart button

I'm relatively new to payment integrations.
I'm just wondering if, it is possible for me to redirect customers to PayPal's checkout page by returning a url for the checkout page from the backend, instead of using PayPal's Smart button?
Tbh, I am having a hard time looking at their documentations. So please bear with me.
It can be possible, but it is an old integration pattern. For current web checkouts, pairing the smart button with a server-side integration is a superior UX in every respect. Here's the code to use for the approval flow: https://developer.paypal.com/demo/checkout/#/pattern/server
This way you never have to redirect away to another (possibly unfamiliar) site and back; your site stays loaded contextually in the background at every moment. Also it has an incline "Debit or Credit Card" button you can include as desired.

Paypal app. From sandbox to live

I implemented paypal sandbox in my application and after hours of headaches with their documentation, I managed to implement a working app that uses their RestAPI. Now I want to go live with the application.
In their documentation the steps to go live with the app are as follows:
1. Ensure your application adheres to the PayPal Application Policies and Guidelines.
2. Update the Sandbox API credentials in your PayPal calls to those assigned to a live PayPal account.
3. Update your PayPal endpoints from the Sandbox to the PayPal production servers.
4. Register your application with PayPal.
5. If your application makes use of Adaptive operations, obtain a live AppID.
6. Go Live!
I don't understand how can I register my application with PayPal (point 4). In the documentation, it says that my app needs to be approved by PayPal and that's it. How do I do that ? How do I submit my app for reviewing ?
If I understand correctly, point 1, 2 and 3 affect only my code, registering the new credentials, right ?
Finally, I need an appID, but I guess that comes as soon as the app has been approved by PayPal to go live.
The full documentation I followed is here.
Thank you.
As Per Paypal Documentation : Registering your application with PayPal :
Submitting your application
To submit your website or mobile application to PayPal:
Log into the PayPal Developer website using the credentials of the
PayPal account registered to the application owner.
Note: The PayPal account associated with the application must be a
verified Premier or verified Business account. Click Dashboard at the
top of the page to open the My Apps & Credentials page. (Alternately,
you can go directly to the My Applications page by navigating to the
My Apps & Credentials page on the Developer website.)
Registering a REST API app
In the REST API apps section, click Create app. See creating an app
for more information. Registering an NVP/SOAP API app
Click Dashboard at the top of the page to open the My Apps &
Credentials page. Click the Create and manage NVP/SOAP API apps link
at the bottom of the page. Click New App on the left nav bar to access
the App Information form. Complete the form and click the Submit App
button. To ensure the fastest possible application review, supply as
much information as possible when completing the submittal form. Tip:
When filling out the application, be sure to provide the e-mail
address that corresponds to the PayPal account that is used make API
calls. The type of API operations used in your application dictates
the review process applied to your application. PayPal divides
applications into three distinct review categories:
Merchant APIs include Express Checkout, Website Payments Pro, Button
Manager, Mass Pay, Recurring Payments, and all of the Informational
APIs. Adaptive APIs include Adaptive Payments, Adaptive Accounts, the
Permissions Service, and the Invoicing Service. Calls to these APIs
require an AppID value. Mass Pay includes only the MassPay operation
As per 2020
PayPal developer guideline, you just have to mail them all the required things that they want to register your app.
Login to http://developer.paypal.com.
Click on the Dashboard menu item at the top.
Under the REST API Apps section, click the Create App button.
Proceed with the steps to create the app.

Cannot edit settings on exisitng approved Classic API application

I have recently taken over development of a web application which communicates with paypal to do Adaptive Payments using the paypal Classic API.
I was debugging an issue I found in which paypal disallows all transactions which include a chain-payment.
I logged into developer.paypal.com and navigated through the "Create and Manage Classic API Apps" link to find the old apps management interface.
I see my application in the list, and in the application settings the Chain Payments checkbox is unselected. I guess that is the reason that the transactions which include a chain payment are not allowed to be completed.
My problem is that I cannot edit any of the settings for the application. All of the fields in the form are set to readonly, and if I force the form to submit I get message "This application is not in an editable state".
The app was only submitted and approved in February 2015, so its not like it is that old. Is there a limitation that the application cannot be changed after it is approved? How can I enable chain payment permissions on this existing app?
It is not possible to update/edit, if your application is approved. You will need to submit a new app at www.paypal-apps.com.

PayPal Adaptive Payments without a popup or lightbox

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/

PayflowPro Recurring Billing - How To Update Payment Info in Subscription Profile

When using PayPal Advanced, the API allows the creation of a subscription profile by converting a single payment (using PNREF as ORIGID).
We are testing this using the embedded IFRAME to capture CC information. (Sandbox & Test Accounts).
Now, in the PayflowPro Recurring billing API - December 2012 documentation the "MODIFY" action is explained. We have tested this (MODIFY) action for most subscription parameters.
How can we update the PAYMENT information, say user wants to use a diff CC, for whatever reason. Since the original info was captured by PP using the embedded IFRAME, we do not keep payment info on-record at our system. One reason to use PP-Advanced is so we do NOT have to capture sensitive info on OUR servers. The MODIFY action (NVP) supports the direct update of (sensitive) CC information. This kinda defeats the purpose of using PayPal Advanced.
QUESTION: How do we update (using the API) the payment info for an existing subscription profile that was converted using the "conversion" method. Using PAYPAL ADVANCED with the RECURRING BILLING option.
Thx, Doc
Mon, 02/25/2013 - 10:59
Unfortunetly there is not a way to do this using PayPal's hosted pages. This may be something that is avaialble in the future, but at this time it is not. The only options you would have at this time is using the API and performing the updates from your website (not using the hosted pages), or cancel the profile and send them back through the sign up flow to create a new profile once their information (credit card info) changes or expires.