question

ryanm avatar image
ryanm asked ·

Make custom tender not appear to duplicate payment when app backend completes the transaction using the APIs.

To explain, my app creates a custom tender so our users can pay with their cell phones. On our backend we use the MerchantID, OrderID, and Auth token, to complete the transaction using your apis on the card that is saved in our mobile app. The problem is how can I say it was closed out using the api, in the custom tender? If I pass the full amount in EXTRA_AMOUNT It shows up as paid twice in Orders and Transactions. If I pass $0 or something similar it says nothing was paid unless the merchant manually refreshes. How do I tell the Sale/Register app that a custom tender transaction was closed out using the APIs?
API TokenCustom Tenders
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.

zgreathouse avatar image
zgreathouse answered ·
As it is right now, there is not a straightforward way to accomplish what you are trying to do here. The solution with the least amount of hurdles would be through the use of a Modify Order button. This is if your goal is to launch an activity during register app/ payments app flow which presents the customer with a code. However as pointed out earlier, this is a merchant facing feature meaning you would need to turn the screen to face the customer to present the code. If you cannot do it this way, then I'm afraid what you are trying to do is not possible within our platform at this time.

An additional problem is that even with the best case scenario flow (modify order button) there are known issues surrounding running Dev Pay API and attempting to close out the order through the payments app at the same time. (To be clear, the payments app is where you are directed to when you select "Pay" in the Register App).
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.

zgreathouse avatar image
zgreathouse answered ·
You do not want to use a custom tender for this. Custom Tenders are used to utilize gift cards or rewards programs as payment. Additionally when closing out a custom tender, there needs to be a status. When closed with Status_Ok, a custom tender payment record is created. When closed with any other status, the customer display will show a payment declined message.

If your goal is simply to launch an activity which presents the user with a QR code, then rather than using a custom tender try utilizing a Modify-Order button. ( See code example here)

Modify-Order is implemented almost exactly like a Custom Tender, however doesn't have to be closed with a status. It is however merchant facing, so the Merchant would need to turn the device to present the customer with the QR code to be scanned.
12 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.

In the linked example there is nothing in the Main activity to initialize a button. An equivelent to TenderConnector.checkAndCreateTender(). I could also not find an equivalent in orderConnector. How do I initialize an activity meant to be accessed by <action android:name="clover.intent.action.MODIFY_ORDER"/>?

0 Likes 0 · ·

Check the Android Manifest file. (Its not an actual button you make, its set up much like a custom tender)

0 Likes 0 · ·

I have done that. How does the merchant select to modify an order with my app from the register or sale apps?

0 Likes 0 · ·
Show more comments

Welcome to the
Clover Developer Community