Does PayPal IPN used in a mobile app still require paypal approval? - mobile

I have a Unity Mobile app that has a web UI that we are using PayPal IPN. I was wondering if anyone knows if PayPal has to approve the app before it goes live if its using IPN and not the mobile SDK?

In order for you to use IPN, you do not need any approval from PayPal. All you need to have is a PayPal account and some integration with the IPN listener. From there you are good to go with the IPN. I hope I answered to your question.

Related

Facebook Messenger webhook in Bluemix

I am developing a chatbot in IBM Bluemix. When I try to integrate with Facebook Messenger, it asks about webhook.
I am just running a simple app, available on GitHub.
I want to know how to integrate Messenger with Watson conversation API.
The web hook is the API (GET and POST) in your application that Facebook, and your application, will use to handshake and send Messenger messages to your application.
Its not too difficult to set-up, there is a good set of instructions that come with a Node-RED node for Facebook messenger - https://www.npmjs.com/package/node-red-contrib-facebook-messenger-writer
Adding to that, you can also look at middleware plugin that allows developers to easily integrate a Watson Conversation workspace with multiple social channels like Slack, Facebook, and Twilio. https://github.com/watson-developer-cloud/botkit-middleware

Paypal payment for mobile web view

I have my android app and all paypal payment are being done from web view within my mobile app.
The problem is that the screens are not suitable for mobile view like payment and cancel subscription.
Does paypal have a web view mobile compatible screens?
Ziv
Depending on your integration, I think what you are looking for is Express Checkout on Mobile Devices this should give you a more mobile friendly payment page.

How to allow mobile apps to login with Facebook and Google to access web service on GAE?

This is in relation to my other question about the need to create a Facebook app.
I've been reading a lot about how to best approach login for mobile apps users (iOS and Android) that access my web service running on Google App Engine. I'm still not clear how to best do it as I would like to offer login with both Google and Facebook. The app and the web service does nothing with Facebook or Google other than I would like to piggyback on their login.
Having only login with Google for GAE is very easy and the same goes for using OpenIDConnect. Facebook unfortunately does not support this.
Reading an old question here on SO where someone wanted to do the same as I it looks like the app should do Facebook Login and then get a token that it passes to my backend which needs to be validated by contacting Facebook. Is this how to do it today?
I also found Google Identity Toolkit, which seem to be what I need. However, I do not have a website or just apps. I would need to have the apps do the Facebook login and somehow provide my web service with something so it can validate the login info.
Later on an app user should be able to log in using randomly Facebook, Google and my custom username/password. The app and the web service should know the user is logged in and authorize it to access the REST API.
How do I accomplish this? BTW, I'm using Go on GAE.
I would really appreciate if someone could explain if there are several options how to do this, pros and cons, and provide an overview of the best approach and what needs to be done.
Many thanks for any help with this!
UPDATE
OK, thanks a lot everyone for the help and pointers. I have successfully run the quickstart sample app for iOS for my GAE backend. Basically, created a Facebook app and permissions credentials on my web service on GAE so that the sample iOS app can log in.
A bit of a gap still before I have an authenticated user in the datastore and can authorize successive API calls.
Main open questions at this point:
how to get the gtoken in the iOS app after successful Facebook or Google login?
should I explicitly call an API on my web service to pass in the gtoken or is this somehow automatic with Gitkit API enabled?
Thanks for any help!
UPDATE
To answer #1 and #2 myself, there's a "successful sign-in url" that can be given in the app engine config so the app knows where to call with the gtoken. Then after that it's like explained in the answers.
Looks like you have an app and a backend on GAE.
If you are using google identity toolkit, it will allow you to signin with Facebook, Google, and email/password.
When user successfully signs in to your app using identity toolkit, your server should receive a gtoken. You have two options here:
Pass the gtoken to your app and save it there. When your app makes API calls to your backend, you app should attach the gtoken to every request. Your backend should verify the gtoken(https://developers.google.com/identity/toolkit/web/required-endpoints) for every API that needs authorization.
Verify the gtoken, generate a token that your backend can recognize/identify the user. Then pass the token to your app and everything else is the same as option 1.
If you do not want to use identity toolkit, you can implement facebook login on your app/backend and use facebook token to communicate between your app and backend.
Whatever your decision is, apps that use your API should pass you something that your backend can recognize/authorize the user.
The answer is about using Google Identity Toolkit (GIT). GIT itself is an identity provider, which would be integrated with your apps and backend. The flow works along these lines:
your app requests login via its GIT API
GIT will perform the federated login with Facebook or other 3rd party provider (transparent to your app) and returns a GIT token to the app (representing a unique user from your end-to-end system perspective, i.e. apps plus backend)
the app makes a request to the backend in which it passes the GIT token
the backend verifies the GIT token validity (using this go GIT client API, for example) and from it can extract the identity of the user and thus validate the request
You can find more detailed info about the backend token validation in the backent endpoint doc, look for these sections in particular:
Understanding the Identity Toolkit cookie/token
Getting information for users
Now the actual token validation on the backend may take a few seconds, so it might not be practical to do it for each and every REST request from the app. If so you'd need to somehow:
save the info that the user of that specific app instance is
authenticated in something like a "session" managed between your app and the backend
map a specific REST request received by the backend to a specific such authenticated "session"
But I'm not sure how exactly is this "session" functionality done in the apps+backend context, I didn't write any apps yet.

PayPal Mobile SDK, payment to other merchant account

Both Mobile Express Checkout and Adaptive Payments allow me to specify account for money receiving explicitly. I just need to set PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID for Express Checkout or receiverList.receiver(0).email for Adaptive Payments.
Is there same functionality for PayPal Mobile SDK? Looks like I can only create payment to my account (linked to client_id in PayPalConfiguration), not to other merchants accounts. Did I miss something?
Dave from PayPal here. You are correct: at this moment, the PayPal Mobile SDK does not allow you to choose at runtime the merchant who will be paid. We do expect that in the coming months this ability will be added to the PayPal REST APIs on which the Mobile SDK relies; when that happens, we'll definitely add this functionality to the SDK.

Design decisions for Google App Engine hosted app using Google Apps APIs

I never used Google technologies to develop webapps before, and I'm a bit overloaded and confused. A lot of information.
My scenario: Developing a webapp for, say, company.com, using Google App Engine (Python, Webapp2, Jinja2...). The domain company.com is Google hosted (e-mail and calendars are the important parts here). So, I want my GAE-based app to add events to the domain users' calendar, send them e-mails, etc. The basic flow is:
A user of this domain logs into the web app, using his/her mail: myname#company.com. (IMPORTANT: Users CAN'T use their private GMail accounts, or any other OpenID-based authentication. Just their domain accounts). I know this can be configurated from the admin console, when creating the app.
The user fills a form, and a new calendar event is created. This event is added to his/her calendar, and to his/her manager's calendar too. The user receives a confirmation e-mail (event created) and the manager a notification e-mail (someone invited you...).
I've been reading a lot about authentication, authorization, google app engine and google apps, but I still don't have a clear image about what technologies/libraries/apis I should use.
I've seen a lot of examples using oAuth and Calendar API v2, but oAuth is deprecated, and seems that I should use oAuth2. Calendar API v2 is deprecated too, and v3 is recommended... I see a lot of entry points in the documentation, and I don't know where to start.
Any piece of advice is strongly appreciated. Many thanks in advance.

Resources