question

mikecimi avatar image
mikecimi asked Sukhbir Singh commented

Intents - Secure Pay

Hi,

We are using intents to communicate with the Secure Pay app (like in this example https://github.com/clover/android-examples/tree/ma...

I had a few questions
1) We are setting the tip mode to prompt before the transaction and nothing seems to happen. We have tips enabled in the settings.
2) Is there really no way to refund, void or adjust a tip without a user manually doing it? We tried these intent actions (ACTION_ADD_TIP and ACTION_REFUND) but there doesn't seem to be an app that can handle them. We also tried using the ACTION_START_TRANSACTION_DETAIL action. This bring up the transaction but the refund and tip buttons are grayed out.

A busy restaurant can have hundreds of tip adjustments at the end of the night, requiring them to do each manually just seems really cumbersome. Any thoughts/insights you can offer would be appreciated.

Our serial number is C041UQ72820654 if that help at all.

Thanks
RefundIntents
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Greg avatar image
Greg answered Sukhbir Singh commented
Hi @mikecimi,
I do see a sandbox device with that serial number, but it is not attached to any Clover sandbox merchant. Have you set up your device following Set up your DevKit? You would need to have a merchant ID, and enable tipping at the gateway level.

The new PaymentConnector object has all the actions you are interested in (refund, void, tipAdjust), and it is recommended to use this in the application that is on the Clover device. In the PaymentConnector file of the sdk, you can see tipAdjustAuth, voidPayment, refundPayment methods.

Hope that helps,

Greg
8 comments
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

mikecimi avatar image mikecimi commented ·
We did setup the dev kit and under the Dev Kit tab, it has Test Merchants associated with the Serial numbers (W9FYK****W) I blocked out a bit of the merchant id as I'm not sure it's ok to post it. I can run a sale and get an approval though which I would think means it's tied to a mid#.

I tried to add a merchant with the ID number from the Dev Kit tab but it wouldn't let me, how can I fix this?

Will intents still let us do all of the different transaction types? Our app already works with intents so it works out better for us.

thanks
0 Likes 0 ·
Greg avatar image Greg commented ·

Hi @mikecimi,

Could you provide me the MID using a private comment (visible to only moderators)? Normally when a sandbox is set up properly I would see that serial number connected to a merchant on my end. That will help me figure out why you're not seeing the tip screen.

As for manual intents, intents like ACTION_SECURE_PAY work, but there may not be a third-party API to process all the actions you are looking for. We released the PaymentConnector recently to make it easier for developers as it is essentially a wrapper for what was previously manual intents, as well as encompassing what the Clover device was intended to handle.

To receive updates and better support, I would strongly suggest moving to the Payment Connector and calling the connector methods, passing in the correct request objects. The methods work identical to our remote-pay SDKs (example for javascript here). Please let me know if you need any assistance in getting this working. Thanks!

Greg

0 Likes 0 ·
mikecimi avatar image mikecimi Greg commented ·

Thanks Greg - we have tried a factory reset, disassociate, go through setup again and have the same problem. I'll send you the mid shortly.

We will move to the payment connector. We did try a sample app and found this in the logs, so maybe it's related:

04-04 03:23:56.244 18872-18872/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.clover.payment.builder.pay, PID: 18872 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.clover.remote.terminal.action.V1_START_REMOTE_TERMINAL_KIOSK (has extras) } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) at android.app.Activity.startActivityForResult(Activity.java:3439) at android.app.Activity.startActivityForResult(Activity.java:3400) at com.clover.payment.connector.PaymentConnectorControllerActivity.runSecurePayments(PaymentConnectorControllerActivity.java:280)

<snipped>

0 Likes 0 ·
Greg avatar image Greg mikecimi commented ·

Can you clarify which "sample app" you mean? If it can't find the activity then it would have do with how the app was installed the Clover device.

0 Likes 0 ·
Show more comments
justina avatar image
justina Deactivated answered justina Deactivated commented
@mikecimi

Concerning the ActivityNotFoundException you are running into, it looks as if the device in question was missing the requisite "Pay Display" application needed to launch Payments using PaymentConnector. I have pushed it to the test merchant on the device.

Please let me know if you are still experiencing any issues.
-- Justin
1 comment
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

madmyke avatar image madmyke commented ·

Hi @justin.a,

We are experiencing the exact same issue as @mikecimi and are unable to install the Pay Display app via the store. We tried to install the Cloud Pay Display app as well as the USB Pay Display app. Both display "Failed to install Pay Display app, please check your network connection and try again." when trying to open them (see Logcat output below). Would you please push the requisite "Pay Display" application our test merchant?

Our serial numbers are: C021UQ71130216, C031UQ80430035 and C031UQ80430101.

Thank you,

W/AbstractEnsureActivity: doInBackground(AbstractEnsureActivity.java:146): Failed to install com.clover.remote.terminal.kiosk app com.clover.http.HttpResponseException{StatusCode=499, ReasonPhrase='Application error', ErrorBody={"code":999,"message":"Please supply an app subscription id."}} at com.clover.http.CloverRequester.handleResponse(CloverRequester.java:422) at

1 Like 1 ·

Welcome to the
Clover Developer Community