question

jc340 avatar image
jc340 asked jc340 answered

Error: The current order has been deleted

Hi,
So having created an order on our own system through my android app I am trying to open the Register app with:
Intent cloverpay = new Intent(Intents.ACTION_START_REGISTER);
and passing the order ID with:
cloverpay.putExtra(Intents.EXTRA_CLOVER_ORDER_ID, orderId);
The order ID is not null.
Register opens and immediately gives a dialog with the message:
Error
The current order has been deleted

I get the following error:

06-26 14:56:01.766 17075-17075/? E/PointOfSaleActivity: getOrderAndRun(OrderAppCompatActivity.java:403): order is null, will not run


and eventually:

06-26 14:56:56.570 2101-21659/? E/ActivityThread: Failed to find provider info for com.clover.android.device.attributes


Does anyone know what the problem is here or how to proceed? How is the order null when the id and amount have been given?


OrdersClover Android SDKApp MarketRemote Pay Android
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.

Jeffrey Blattman avatar image Jeffrey Blattman ♦♦ commented ·

How did you create the order?

0 Likes 0 ·
jc340 avatar image jc340 commented ·
Sorry, I should have been more clear.
Up until this intent it is all our own Android app and an API attached to out online ticketing system. We are trying to integrate our existing system with Clover EPOS.
So we are creating the order though our API and an Android app on a Clover Mini. We then want to switch over to the Register app on Clover to handle the payment.
The order ID comes from our system.
0 Likes 0 ·
Jeffrey Blattman avatar image
Jeffrey Blattman answered
The order ID which you pass to Register must be a Clover order ID for an order that exists in Clover's system.

It's not clear what you are attempting to accomplish so it's hard to give you a useful answer here. It sounds like your system has already created it's notion of the order. I'd assume either 1) you want to use Clover to pay for the order only and don't care if the order actually exists in Clover or 2) you want to create an order in Clover to match your notion of the order.

If it's (1), you want to start Payments, not Register. Register is for building orders. See ACTION_CLOVER_PAY in the Clover Android SDK. Note that you'll still need to at least create an Clover order and give it one line item that matches the amount of your order. Alternatively, if you just want to accept card payments, you can call Secure Payments directly. See ACTION_SECURE_PAY for that one. In that case, per the docs, you can omit an order ID. An empty order will still be created in the Clover backend but you don't need to worry about ot.

If it's (2), you need to use the Clover SDK class OrderConnector to create an order and populate it to match your notion of the order. You can then use either ACTION_CLOVER_PAY or ACTION_SECURE_PAY (see above).
10 |2000

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

jc340 avatar image
jc340 answered
Thanks you for the reply. I haven't had a chance to check this out yet as I have run into a deffirent problem which I'll have to solve first. Thanks again.
10 |2000

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