question

kdm2020 avatar image
kdm2020 asked kdm2020 commented

Bugs in Clover's "void" and "reverse" implementations.

Hello, we think we have identified some bugs in Clover's "void" and "reverse" implementations.


We created a custom tender, and we need it to have either "void" capability or "reverse" capability. But neither option works.


The worst issue is where a user is given a "payment voided" success message when the payment is not actually voided. The user is told by Clover that the money has been returned to the customer, but it has not been returned to the customer!


Some specific details:


When I complete payment using my custom tender in the sale app, the void button is enabled. This contradicts various discussion threads that I have encountered here in this forum:

Void/Reversal Flow

Void a transaction programmatically

Void buttons in Sale and Register apps

As per the above, voiding a transaction should not be possible for customer tenders.


The void button is nonetheless enabled, however, and when I press the button, I am allowed to "void" the transaction. I receive a "payment voided" message, telling me that the "void" was successful. As a user, I think that the payment is voided, when it is not. This is very bad!


In fact, there is no way that it is voided, because my custom tender has no way to subscribe to this void event. (That is, at least as far as I know. The developer docs do not seem to list any public intents or broadcast receivers related to voiding a transaction.)


Below is a flowchart of screens illustrating the problem:

f1.png


After this, when I go to the Transactions app to see the transaction history, the earlier transaction which was "voided" is still not voided, and the refund button is not activated.


Below is a flowchart of screens illustrating this problem:

f2.png


In fact, the refund button is never enabled in the software, even when I don't press void in the first place. The documentation seems to indicate that refunds are possible for custom tenders, but I have not seen any instructions as to how to turn this "refund" button on.


All of the above does not seem like it should be expected behavior. Is there something obvious that I am missing here? How can I turn the "void" button OFF and the "refund" button ON?


There must be a way to void or reverse a custom tender transaction, right?

RefundCustom TendersSale
f1.png (217.6 KiB)
f2.png (161.4 KiB)
10 |2000

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

David Marginian avatar image
David Marginian answered kdm2020 commented

Can you provide some context on where you are seeing this behavior? Devkit? Emulator?

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.

I am using an emulator.

0 Likes 0 ·
David Marginian avatar image
David Marginian answered kdm2020 commented

Have you seen ACTION_REFUND? - https://community.clover.com/questions/2474/action-refund-reference-to-original-payment.html.. I haven't tested if this works for just refunds or voids as well. The other option to consider is using an Order connector listener which should trigger on void/refund.

2 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.

Hi @davidmarginian, ACTION_REFUND intent doesn't work when voiding the payments like the one I have done in my first pic.

0 Likes 0 ·
@ Do you know why the Refund button is disabled in second pic? Thanks.
0 Likes 0 ·

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