Handle communication issues

United States
Canada
Europe

Confirm the device connection

Before transmitting a payment request, you can check the connection using the /v1/device/ping endpoint. If the connection attempt is successful, the device returns a 200 status code and the following message:

{
    "connected": true
}

If the Cloud or REST Pay Display app is not available to process the request or is unreachable, the device returns an error message.

Handle communication interruptions

During transaction processing, a network issue may interrupt the connection between the POS and the device. Depending on various factors, one of the following may occur:

  • The request times out and the welcome screen appears.
  • The app invokes the /v1/device/cancel endpoint to clear the current request.

You can repeat the original charge request, including the same Idempotency-Key header, to check the status of the in-progress transaction.

  • If the transaction is completed, the charge response is returned.
{
  "amount": 2000,
  "captured": true,
  "created": 1584653944903,
  "id": "PK1XR2GWRSS4Y",
  "metadata": {
    "CARD_PRESENT_SIGNATURE": "{\"data\":\"base64signature\",\"gzip\":false,\"signatureFormat\":\"JPG\"}",
    "POTENTIAL_DUPLICATE": "false"
  },
  "order": "RD2SFSAZ0CW0Y",
  "outcome": {
    "network_status": "approved_by_network",
    "risk_level": "normal",
    "risk_score": 10,
    "type": "authorized"
  },
  "paid": true,
  "refunded": false,
  "source": {
    "address_line1_check": "unavailable",
    "address_zip_check": "unavailable",
    "brand": "VISA",
    "id": "",
    "last4": "0010",
    "name": "Cardholder Name"
  }
}
  • If the transaction is canceled on the device, an error message is returned.
{
    "code": "processing_error",
    "message": "The payment request was canceled",
    "type": "api_error"
}
  • If the transaction is incomplete but can be resumed, the device displays the start screen and allows the customer to attempt the transaction again.