After the order was created and paid we call Print method in Clover SDK
Here is the code example:
StaticReceiptPrintJob.Builder().order(orderWithCustomer).build().print(this@OrderActivity, account, printer)
So it’s just a simple print receipt method call.And it works correct when we print orders paid by any combinations of Tenders (partial or full payments) except full payment by credit card.
When you fully pay the order by Credit card and call this method it prints TWO order receipts.
We researched this bug many days really thought that it’s our issue or possible result of incorrect multi-threading calls. But now we can tell that the reason is really somewhere in clover SDK. I saw it myself when staid on this line in Debugger: Nothing was printed before this line but right after the line I received duplicate receipt.
We met this bug in both Sandbox and Production environments.
Example Sandbox orders which print OK:
NM7JSY8PWYDPE
WY5GASRMREXF8
3HCMBGKNRJTTC
Example Sandbox orders which print TWICE:
ETBHYX6CXG9DP
1EQ0AFTA716HA
9QMHBWZZBYD3T