paypal / PayPal-iOS-SDK

Accept credit cards and PayPal in your iOS app
Other
974 stars 369 forks source link

Support for PayPal Here card reader #1

Closed samalone closed 11 years ago

samalone commented 11 years ago

It would be nice to have support for the PayPal Here card reader in addition to the card.io camera input.

josharian commented 11 years ago

We left that out intentionally, on the grounds that most users don't carry around card readers with them. What is the use case that you envision?

samalone commented 11 years ago

We run a non-profit sailing school in Rhode Island. Parents sign up their kids for summer classes on our web site starting in March, and we encourage them to pay immediately via PayPal. But inevitably some don't pay until they show up with their kids, and there's a line of parents and rambunctious young'uns waiting to check in. We're interested in using the SDK to pull their account balance from our web site, charge their credit card, and post their payment back to our web site.

I guess the reasons I was hoping for card reader support are: to speed checkout, to work with original iPads without cameras (which we have), and because we just got this new PayPal Here reader in the mail and it seems like we should be using it for something. :)

You're welcome to convince me otherwise. The card.io camera reader is pretty slick...

josharian commented 11 years ago

I think the best fit for you is actually the PayPal Here SDK, which is designed exactly for this. I'll get you more info on that shortly.

djMax commented 11 years ago

So we have a couple ways you can do this, in various states of readiness. You can call a URL (paypalhere://takepayment) with order details and then it will redirect back to you after success or cancellation. There's also a true SDK that would allow you to embed it all in your app. It's not quite ready for primetime, but if you want to be one of the first (and are willing to deal with the pain that entails :) ), then let me know.

https://dl.dropbox.com/u/15602144/PPH_phone_app_getting%20started%20guide.pdf https://dl.dropbox.com/u/15602144/PayPal%20Here%20Mobile%20Apps%20API%20-%20Payment%20flow%20Example.pdf

JulianSmulian commented 10 years ago

Any word on the PayPal here SDK. I have an app that uses the PayPal SDK with card.io or manual options to enter credit card information but it could really use a credit card swipe option. At times, my users are selling products fast with the app and the side loader option is another step that makes the overall experience slower than should be for a credit card transaction. Would really love to see that SDK.

djMax commented 10 years ago

We do have several partners piloting the SDK. We're still making improvements and haven't made it generally available yet. Send me an email describing your use case if you would, and I'll try and work it through the channels. Nothing long or fancy needed. ma at x dot com. If I was writing a spam bot, I guess I'd just recognize that pattern to. But spambot writers are often not very smart, so I guess I'll just leave it that way :)

glaidler commented 10 years ago

Hi, we are hoping to roll this out in a new product. Will be for collecting payment from people while our employees are out and about. A few questions have come up:

  1. The return url opens in a new browser window (at least on iOS) - is it possible to use the existing browser window that called the paypalhere app - I can just see users getting confused as more and more browser windows open..
  2. I didn't receive any email notifications when putting through some dummy "cash" payments - how are these configured and formatted - I have all notifications enabled in my account settings.
  3. In the paypalhere:// url, there is a parameter called "step", with a value of choosePayment in the sample javascript - what are the available options for this?
  4. How frequently do users have to log into the paypal here app.
  5. A potential SHOWSTOPPER is that it doesn't appear to support android tablets - only phones. Are there plans to expand device coverage to include tablets??
  6. Is there any way of pre-populating the field for email / SMS receipt?
glaidler commented 10 years ago

Apologies - may have wrong area - above is referring to Paypal Here - explicitly using the sideloader api.

dgoldman-pdx commented 10 years ago

@glaidler Yup, wrong area.

I'm not sure of the best for you to ask your questions about using PayPal Here. This is probably a good starting point.

djMax commented 10 years ago
  1. I don't know of a way to do this. It's an iOS thing as far as I could tell. Now you could theoretically close that window (in JS) and hope that the previous window is next in line... Or close the window on the way out and bring it back up on the way back? Let me know if anything shows promise.
  2. Cash transactions aren't balance affecting, so there are no notifications. They are paid invoices, but we don't send notifications for PPH invoices as it would (for 99% of users) be a painful experience. You could certainly hit our APIs to get that info, though I know it'd be nice if we had WebHooks, which we don.t 3, choosePayment (and blank) are the only valid values. Leaving it blank will just load the cart and stop there.
  3. Every 8 hours. But you can't have two devices logged into the same primary account at the same time. If this is logging you out, then setup multiuser (either in app or on paypal.com) for each device. In fact, if you setup multiuser and give them limited permissions, you can pass the user/password arguments on the URL and it will auto log them in (theory being that there isn't really anything a bad actor can do with this user/password other than collect money on your behalf. Not that I'd go pasting it on a billboard, but internal iOS workings on secure devices would be "good enough for me")
  4. Yes, there are plans. Don't hold your breath, I think all I can say is it will have "2014" at the end.
  5. Yes - pass payerPhone at the top level for SMS, and just set payerEmail per the invoicing API spec for email.

I get notifications for this post it seems, so feel free to continue the convo here.

glaidler commented 10 years ago

Thanks for the detailed reply!

  1. I will play with various - main thing is to get a "dummy" txn up and running for a demo on Monday - as long as it looks slick, we can engineer better later.
  2. Ok, understood. Not a problem, we'll fire off the notification for non CC payments.
  3. I am still getting prompted to log in each time. If I have a Paypal account of anon@anon.com, and I have set up a user within my account called FEECOLLECTOR with just enough permissions, which one should be passed - assuming the FEECOLLECTOR - don't want everyone logging in with my global paypal account.

Also, at which level should the username and password be passed - within the paypayhere:// uri or within the invoice object? Are they all lowercase? Is there some docs I am missing?

  1. Tried setting payerPhone within the invoice object and the url params of the paypalhere:// uri, but it's not pre-populating SMS nor Email receipt input boxes. The payerEmail appears if I want to create new Contact within the app, but not as a recipient for the receipts. This will save quite a bit of fiddly typing if you can point me in the direction of making it work.

G

djMax commented 10 years ago

Let’s take this offline - I’m m a (at the domain) x dot com

On Dec 4, 2013, at 6:59 AM, Graham Laidler notifications@github.com wrote:

Thanks for the detailed reply!

I will play with various - main thing is to get a "dummy" txn up and running for a demo on Monday - as long as it looks slick, we can engineer better later.

Ok, understood. Not a problem, we'll fire off the notification for non CC payments.

I am still getting prompted to log in each time. If I have a Paypal account of anon@anon.com, and I have set up a user within my account called FEECOLLECTOR with just enough permissions, which one should be passed - assuming the FEECOLLECTOR - don't want everyone logging in with my global paypal account.

Also, at which level should the username and password be passed - within the paypayhere:// uri or within the invoice object? Are they all lowercase? Is there some docs I am missing?

Tried setting payerPhone within the invoice object and the url params of the paypalhere:// uri, but it's not pre-populating SMS nor Email receipt input boxes. The payerEmail appears if I want to create new Contact within the app, but not as a recipient for the receipts. This will save quite a bit of fiddly typing if you can point me in the direction of making it work. G

— Reply to this email directly or view it on GitHub.

zeryab commented 10 years ago

Hey! Our company was able to get in touch with PayPal late last year and obtain details for the PPH API. We've managed to launch the new feature in our app, Taxi 24/7 (iOS).

I was wondering what would be the best channel to enter into the Pilot program and obtain the SDK? We already have the API so I think it would be appropriate for us to upgrade to a more seamless experience for our US users.

Happy to share more if needed!

Regards, Zeryab

romk1n commented 10 years ago

@zeryab I believe @djMax should be able to help :)

Mcmtechnologies commented 10 years ago

We want to integrate Paypal Here into our POS application. Where can I sign up for the SDK? Any help would really appreciate... When can we expect it to be available?

nhouse commented 9 years ago

Is the PayPal here SDK available yet? I can't seem to find any information on it.

I am looking into using either a Square or PayPal Here for mobile POS credit card processing. We would have around 18 POS operations around the country and would use the card reader with iPads (iOS). Ideally we would be able to use PayPal Here in conjunction with a custom iOS app we write for our checkout system, but that would be dependent upon whether there's a way for our app to interface with the card reader and PayPal for processing.

djMax commented 9 years ago

https://github.com/PayPal-Mobile/ios-here-sdk-dist

djMax commented 9 years ago

You have two choices here - first is side loader which is discussed in this thread - easy integration, EMV capable, etc. The second is the SDK which puts you in more control at the cost of having to implement the rest of the "point of sale" parts.