Terminal Not Working

Hi

I have a couple terminals set up for using terminal checkout - they were working, now when I create a terminal checkout, nothing happens on the device until the checkout times out.

  "id": "XXXXXXXX",
  "amount_money": {
    "amount": 528550,
    "currency": "AUD"
  },
  "reference_id": "Invoice 30148",
  "note": "Invoice 30148",
  "device_options": {
    "device_id": "XXXXXXXX",
    "tip_settings": {
      "allow_tipping": false
    },
    "skip_receipt_screen": true
  },
  "status": "PENDING",
  "created_at": "2020-08-11T05:56:09.165Z",
  "updated_at": "2020-08-11T05:56:09.165Z",
  "app_id": "XXXXXXXX",
  "deadline_duration": "PT5M",
  "payment_type": "CARD_PRESENT"
}

Device ID etc is all correct.

Anyone have any ideas?

Just to clarify: it stopped working on all terminals (more than one)? Are they still signed in? Could you provide your Square app id here so I can take a look at the logs?

It’s actually just 1 terminal at the moment - just found out the other 2 were never set up due to this issue. I will call the guys in those showrooms and test today.

I have restarted the device, logged out and generated a new device id, factory reset (new ID again) and it just doesn’t work at all. Was working for a few days then has made us look a bit silly in front of customers since.

sq0idp-lLBK12KALMpyHIexjoKZHg

Have just tried with another new terminal straight out of the box - once software was updated it signs in, sits on the “Ready to take a payment” screen and does nothing.

Last successful payment was on 30 July.

Looking up the logs, it looks like you’re passing the device_code id rather than the device_id. You need to get the device_id once the device has successfully been paired (either with GetDeviceCode or ListDeviceCodes).

Hi, that did seem to fix the problem this time - though it was working for a week or 2 before I started testing, so this wasn’t the original cause/problem.

Side note, shouldn’t createTerminalCheckout return an error if you use a device_id that doesn’t exist / isn’t a device_id?

Also, a couple questions:

  1. Is there any way to clean up old devices set up? I have duplicates when I list device codes that say PAIRED, but they aren’t any more.
  2. Why can’t an in progress checkout be cancelled by the seller? What if I wanted to cancel and change the amount without having to get the terminal and cancel then come back to the requesting device?

Yes, you’re correct, it seems it should return an error; I’ll share that with the Terminal API team to see if that can get added.

  1. No, I don’t believe there is a way to remove device codes currently.
  2. This has been a request for awhile, and most likely being worked on, but I do not have an ETA on when/if it’s coming, unfortunately.