Skip to content
This repository has been archived by the owner on Jun 11, 2021. It is now read-only.

Integrating PayPal Android SDK into kiosk #1

Closed
ffaridi1 opened this issue May 17, 2013 · 13 comments
Closed

Integrating PayPal Android SDK into kiosk #1

ffaridi1 opened this issue May 17, 2013 · 13 comments

Comments

@ffaridi1
Copy link

Hi,
I am trying to develop an application for a Kiosk for a non-profit organization where donors can come and donate using their credit cards and once payment has been successful, my application can update the back end system (running on a hosted server) for the donor info etc for book keeping.
I have 2 choices
1- Use paypal newly released android SDK which can scan the card using card.io SDK and process the payment
2- Use paypal here card reader, and using the sideloader API , start the HERE application and take payment .

My question is, since it is a kiosk , users will not have paypal credentials and in paypal here application we need to enter username/passwd all the time . Is it true for the Android SDK solution too ?
Also, does the card.io based SDK works with front facing cameras (Nexus 7) ?

Please provide expert advice .

@josharian
Copy link
Contributor

Does the card.io based SDK work with front facing cameras (Nexus 7)?

It does not right now, no. Our user testing suggested that this was very awkward.

I'll let someone else weigh in on the rest of your question.

@burnto
Copy link
Contributor

burnto commented May 17, 2013

It sounds like neither fits your needs.

The Android SDK (this repo) is really only designed for one user per device. As far as your use case is concerned, the limitation is that if the user logs in with PayPal once, that user remains logged into PayPal on subsequent uses of that app unless she explicitly logs out. Similarly, if the user pays with a credit card in the app, she can pay later within that same app with that same stored card information. We don't currently support a developer option to suppress this feature.

@ffaridi1
Copy link
Author

Thanks for the reply !
Do you guys suggest me what could be the best solution for my Kiosk ?
Just a brief use case of my application is below
Donor (Scans Credit Card) -> Android App <-> Paypal (card.io)
..................................................|
.................................................V
...........................................Web Server
Do you mean that if a Donor scans CC in my App and leave, the next Donor will some how re-use previous CC ?

@ffaridi1
Copy link
Author

One quick addition:
If I create a user in my paypal profile which can only accept payments and if I log in to this user from my application and keep it logged in, can't this full fill my need and cover the kiosk use case?

@burnto
Copy link
Contributor

burnto commented May 17, 2013

HI @ffaridi1

Do you guys suggest me what could be the best solution for my Kiosk ?

At the moment, your use case isn't well covered by our drop-in tools! I've noted the limitation in our SDK, and we'll discuss internally.

What I'd suggest right now is that you integrate card.io (which is very quick) to provide UI for obtaining the user's credit card info, and then use the PayPal REST API directly from your app.

Do you mean that if a Donor scans CC in my App and leave, the next Donor will some how re-use previous CC ?

Yes, that's correct.

If I create a user in my paypal profile which can only accept payments and if I log in to this user from my application and keep it logged in, can't this full fill my need and cover the kiosk use case?

This doesn't address the basic issue outlined above. In the mobile SDKs, the logged in user is the payer, not the payee.

@ffaridi1
Copy link
Author

This is quite different than the Paypal "Here" application where payer does not have to log in to swipe his/her card.
This will be a big issue to lot's of developers as normally the Payer is not supposed to have a paypal ID to make a payment (not even in web based paypal standard API structure) .

Just so we are on the same page , I am all referring to this SDK:
https://www.paypal-forward.com/innovation/paypal-launches-android-sdk-for-developers/

Please confirm.
Really appreciate the responses !!!

@ffaridi1
Copy link
Author

My whole assumption was based on this tutorial from paypal developers website:
https://developer.paypal.com/webapps/developer/docs/integration/mobile/android-integration-guide/
"
How it works
The PayPal Android SDK…
Takes care of the UI to gather payment information from the user.
Coordinates payment with PayPal.
Returns to you a proof of payment.
Your code…
Receives proof of payment from the PayPal Android SDK.
Sends proof of payment to your servers for verification.
Provides the user their goods or services."

@burnto
Copy link
Contributor

burnto commented May 18, 2013

That flow is correct. The customer does not have to log in to use a credit card.

@ffaridi1
Copy link
Author

In that case, if my Application is running on kiosk and I have entered my paypal credentials in my application, it could do what I want it to do , (i.e. get CC info of payer, authenticate from paypal , notify my app , and then my app will take care of rest of the stuff) .

@burnto
Copy link
Contributor

burnto commented May 18, 2013

Yes, but there is no option in our SDK to disable PayPal as a customer payment method, nor is there an option to disable reuse of customer payment credentials. For these reasons, the SDK will not work for your use case. But rather than continue to discuss here ad nauseum, you're welcome to give it a try and see for yourself. It should only take a few minutes for you to download the SDK, review the API, and run the sample app.

@ffaridi1
Copy link
Author

Hi,
I have done all sort of research and experiments and I am back to what you have suggested (i.e. get CC info using card.io and then REST APIs to send them to Paypal).
Could you please provide some guidance on how to integrate REST APIs in android I did download jar file from MVN
http://mvnrepository.com/artifact/com.paypal.sdk/rest-api-sdk/0.6.0
but when I try to use the API calls some class definitions (e.g. Links.class) are completely missing from library ?

Is there a working example available which I could use as a reference?

@burnto
Copy link
Contributor

burnto commented May 31, 2013

@ffaridi1: The other SDKs are outside our area of expertise, but @prannamalai and team may have some advice over at https://github.com/paypal/rest-api-sdk-java (and do check out the readme). Hope this helps.

@tomwhipple
Copy link
Contributor

This SDK is not designed to be used in a kiosk as the security concerns for that application are quite different.

Please note that implementing a kiosk without prior approval by PayPal could cause your account and those of all prior users of the kiosk to be locked.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants