question

Robin Walmsley avatar image
Robin Walmsley asked ·

Refund Option not available on Manual Transaction App

I have a Dev Station and a Live/Production Station. On the Dev station when I select Manual Transaction App, I can see both Refund and Charge options. If I do this on the Live station I can only see the Charge button which is full width.
Ive checked the permissions and to be sure, I made all roles able to do everything. Still no joy.
Our web app calls the Manual Transaction app on a Station to allow the user to perform a refund. None of our clients (merchants) have reported this error, so I'm thinking there is a setup issue with my own Live station.
The Live station is not connected to a Mini, although I do have one spare I could connect.
Any ideas?
Cheers
Robin
Refund
10 |2000 characters needed characters left characters exceeded

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

1 Answer

· Write an Answer
Jeffrey Blattman avatar image
Jeffrey Blattman answered ·
AFAICT there are two things that can affect this:

1. The PERFORM_MANUAL_REFUND permission, which can be changed in the employees app.
2. Whether your merchant gateway supports refunds (aka "naked credit").

The latter isn't something you can set directly it's a property of the payment gateway configuration.

How does your web app "call" the Station? Do you have an app on the Station that you call into?

EDIT: Seems like you need to be able to discover if refunds are supported. One possibility. The caveat here is that this is really not documented, and I haven't tried it myself.

To get the "supports naked credit", call the "/v3/merchants/<merchant ID>?expand=properties". There should be a support in their "merchant gateway" that has a field "supports naked credit".

For the permission check unfortunately that's not something you can query. Permissions are not a public interface and you do not have any way to query them.
3 comments Share
10 |2000 characters needed characters left characters exceeded

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

The Javascript portion of our App calls an Android Java method below
@JavascriptInterfacepublic void processRefund(Long amt)
   Intent intent = new Intent();
   try {
      intent = new Intent("com.clover.intent.action.START_MANUALTRANSACTION");
    } catch (Exception e) {
       myWebView.loadUrl("javascript: alertMessage('Device not supported, please load Manual Transaction manually.', 0, 0, 0)");
   }
}
This works fine on our Sandbox device but not the Live device, and works fine on all our Merchant's live devices. There isn't a problem with this code, I am not offered a refund option even if I load Manual Transaction manually from the Android home page, without using our app.
Your option 1. can't be the solution because I have give all roles permission to do everything.
Which leaves option 2. How do we configure the payment gateway?
Thanks
0 Likes 0 · ·

Jeffrey thanks for your continued input, however ignoring the code side of things, the fact remains I cannot manually create a refund on the Clover Station. When I say "manually" I literally mean using my finger on the till. If I select Manual Transaction from the main Android home page, the only option available to me is the Charge button, which is full width across the bottom of the input area, underneath Note and Total. On our Dev equipment this area is split into two buttons .. Refund and Charge.

I had thought this might be something to do with having a Mini connected to the Station, which is the case with our dev kit but not the live kit. So I disconnected the Mini but no change on either station.

0 Likes 0 · ·
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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

Welcome to the
Clover Developer Community