square / reader-sdk-android-quickstart

Reader SDK Quick Start Sample Android App
https://docs.connect.squareup.com/payments/readersdk/quickstart
Apache License 2.0
25 stars 13 forks source link

How does Manual Card Entry (Reader SDK) really work? #22

Closed davenotdavid closed 4 years ago

davenotdavid commented 4 years ago

As opposed to using Square Readers, I was wondering how manual card entries really work under the hood as part of the Reader SDK. To be exact, adding a manual card entry option - the AdditionalPaymentType.MANUAL_CARD_ENTRY enum - into the checkout params (as a Set arg instead) during the checkout process.

Based on the screenshots below, you'll see that a "Card Swiped" message appears at the top with it not really outputting any results (i.e. logs nor it appearing as a transaction within the Square dashboard - whereas other payment types like cash, check, and etc. show up) - is this message really only intended, or do I have to hit a certain API for this to fully process and see actual results?:

Screenshot_20200124-101208 Screenshot_20200124-101217 Screenshot_20200124-101449

StephenJosey commented 4 years ago

If you're wanting to swipe a credit card, you should do so prior to clicking "Manual Card Entry". Manual Card Entry is mainly used for literally typing the card out. If you swipe on the main payment screen (your first screenshot), it should automatically process the payment (unless the card is declined etc), and will show up in your dashboard like any other payment.

However, maybe I misunderstood. Are you saying you see the "Card swiped" message without actually swiping a card?

davenotdavid commented 4 years ago

@StephenJosey Oh no, I'm totally assuming here that the manual card entry is independent of swiping and will charge the card once I press the "Charge" button with the "Card Swiped" message displayed as a result. Or, would that be a part of a different Square technology?

StephenJosey commented 4 years ago

Hmmm, I'm not sure I'm following, sorry. If you choose to manually enter a card, and then click "Charge", it should take you to a "Transaction Complete" screen (not show "Card Swiped"), and the card will be charged, you'll see it in your dashboard etc. Are you saying it currently just shows "Card Swiped" when you hit "Charge" and nothing happens?

davenotdavid commented 4 years ago

@StephenJosey Correct, and no swiping nor card readers from the start - just trying to exclusively get manual credit card entries to charge a transaction. I tried both test and real cards, but to no avail resulting in what you said - "Card Swiped" message displays after pressing "Charge", and that's it

davenotdavid commented 4 years ago

@StephenJosey - I should also probably mention that a transaction over the phone would serve as a good use case here.

And now, I'm starting to wonder if a manual card entry checkout process is supposed to occur via a separate Square app as mentioned in this article here?

P. S. - I also activated my Square account to take credit card payments, but still same results

StephenJosey commented 4 years ago

Hi @DaveNOTDavid sorry for the delay. I've not been able to replicate this issue. I just tested using this quickstart on an Android device and using "Manual Card Entry". Once I click "Charge" it does successfully charge my card (after authorizing it), and then prints out a success message.

Regarding your latter question, the POS API is the one that occurs in a separate Square app. ReaderSDK allows you to take payments within your own app.

Just as a test - what happens if you choose "Cash" instead? Does it go through successfully?

davenotdavid commented 4 years ago

@StephenJosey - Thanks for getting back! Soooo it turns out to be working now for some reason (I didn't do anything differently, so maybe a change from the back-end?). Thanks a lot!

I also did notice that the "Manual Card Entry" text doesn't seem grayed out anymore (compared to the screenshot of this original post) even though I was authorized since the first attempt: Screenshot_20200129-145315

Screenshot of accepted card screen prior to taking me to the signature screen and etc.: Screenshot_20200129-145547