Skip to main content

Device Management

Event Notifications

Last updated: 19-Feb-2024

Overview 

You can use Device Management Notifications to receive webhooks and e-mail notifications regarding specific events, such as when a new payment device is boarded, activated or deleted or any other status update regarding a device. This feature allows you to get status updates on certain events/actions you subscribe to, which are then posted to the hosted web endpoint of your choice. 

Events

Events are the topics a notification would be 'listening' to. The notifications will be triggered as soon as there is an event happening for one of the selected topics. 

Event Type 

Description 

Details 

EstateDeviceStatusUpdated 

Status of Device is Changed 

 

Any change in the status of the device. 

See more details in the Device Status section.

EstateDeviceDeleted 

Device is Deleted 

The Device is deleted temporarily (SOFT) or permanently (HARD). 

In the case of a SOFT deletion, the device is no longer displayed in Device Management. The data can be retrieved by undeleting the device.

EstateDeviceSwapped 

Device is Swapped 

An existing device at the merchant is swapped with a new device.  

EstateDeviceActivated 

New Device is Activated 

A new device is registered and is actively managed on the Device Management System (DMS).

EstateDeviceBoarded 

New Device is Boarded  

A new device is configured on the DMS.  

Note: The physical device is not yet registered with DMS.

 

EstateDevicePaired 

Device is Paired  

A new device with a specified Serial Number is paired with a device configured on DMS. 

  1. The new device is configured on DMS identified by Device Id. The Device Id is a logical identifier of a device, i.e., associated with the merchant.

  2. Once the physical device arrives at the merchant store, as part of the initial setup, the merchant/operator specifies the Device Id assigned to the merchant and initiates the registration of the Device with DMS.

  3. The Device registers with DMS.

  4. The physical device identified using a Serial Number is paired with Device configured on DMS.

 

EstateDeviceParametersUpdated 

Device Parameters are Updated 

Parameters of the device are changed. 

Parameters could be added, updated or deleted on the GUI portal, using APIs or updated on the physical device. 

 

EstateDeviceRebooted 

Device has Rebooted 

The Device has rebooted. 

rebootType indicates the reason/source initiating the reboot:

  • PCI - Device is rebooted automatically by the system as part of PCI compliance. 
  • AGENT - Device is rebooted by the DMS Agent. 
  • SYSTEM - Device is rebooted automatically by the Operating system.

 

EstateDeviceTampered 

Device is Tampered 

The security of the Device is compromised. This could be a physical tamper (someone trying to open the case) or a soft tamper (invalid security keys or temperature out of normal range).

EMVVersionMismatch 

EMV Version Mismatch 

The EMV Version of Payment device and PINpad do not match 

EstateDeviceHierarchyUpdated 

Device Hierarchy is Changed  

The Device is moved to a different Hierarchy   

EstateDeviceGroupUpdated 

Device Group is Changed  

The Device is added or moved to one or more groups.

The Device is removed from one or more groups. 

 

SoftwareVersionUpdated 

New software version is available 

or 

An existing software version is not available anymore 

A new software package is uploaded to DMS and is available for use. 

or  

An existing software package is deleted.

 

HierarchyUpdated 

New hierarchy is added  

A new hierarchy is added. 

GroupDeleted 

Device Group is deleted  

The Device Group is deleted. 

EstateDeletedDeviceContacting 

Deleted Device is trying to communicate with DMS

Devices deleted from DMS are marked as Deleted. 

Such devices are expected to be out of service and no longer in use for any transactions. Any communication from deleted devices indicates potential malicious activity. 

 

EstateDeviceMissing 

Device missing  

The Device has not communicated with the DMS for quite some time ( > 2 times heartbeat interval). 

E.g., The Device is expected to send heartbeats to the server once every 15 mins and device hasn't sent any communication in last 30 minutes. 

EstateDeviceUpdated 

Device updated  

One or more of the device attributes have been changed: 

  • Device IP Address 

  • Location 

Events Specifications 

Every event payload contains the following: 

  • A set of standard attributes that are common across all events
  • A set of attributes specific to the event that has occurred - part of the ‘content’ section

Standard attributes

Attribute

Description

eventId 

Unique identifier of the event, used for audit and logging purposes.

eventDateTime 

The date and time when the event occurred, usually set at local time. 

itemId 

Unique identifier of the object that the event is related to. 

Note: This may be a JSON object if the item has a composite key. If the item has a single key, then the key should be used directly.

entityUid 

Unique identifier of the entity for which event is generated. Assigned by Verifone. 

eoEntityUid 

Unique identifier of the owner/customer/merchant of the event. Assigned internally by the merchant. 

source 

Name of the source application sending the event

component 

The source component sending the event

received 

Date and time (per UTC time zone) when the event notification sent by the device was received by the server. This is only set when the event is received and is not provided by the merchant. 

eventType 

String naming the type of the event

objectType 

DeviceEvent or StandardEvent

content 

The associated event data. Optional and varies according to event type.

 

userUid 

Unique identifier of the user that triggered this event (if applicable) 

Needed only if it is relevant.

deviceType 

Device model

estateManagementId 

Terminal device ID

serialNumber 

Device serial number

estateManagementHierarchyId 

The Hierarchy ID of the terminal in the device management system

Event Parameters and Sample Payloads

Event 

Parameter 

Type 

Description 

Sample payload 

Status of Device is Changed 

 

 

newStatus 

String 

New status of the device 

{
    "content": {
        "newStatus": "Active",
        "oldStatus": "Inactive"
    },
    "eventType": "EstateDeviceStatusUpdated",
    "objectType": "DeviceEvent"
}



 

oldStatus 

String 

Old status of the device 

Device Is Deleted 

Type 

String 

Indicates the mode of device deletion: 

  • SOFT - Soft deleted 
  • HARD - Permanently deleted 
{
    "content": {
        "type": "SOFT",
        "certificates": [
            {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAg+O0a7haOHtNAoRS0GTNLsick982I\n-----END CERTIFICATE-----\n"
            },
            {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAg+O0a7haOHtNAoRS0GTNLsick982I\n-----END CERTIFICATE-----\n"
            }
        ]
    },
    "eventType": "EstateDeviceDeleted",
    "objectType": "DeviceEvent"
}

 

Device is Swapped 

newDeviceModel 

String 

Device model name of the new device 

{ 

    "content": { 
        "oldSerialNumber": "123-459-789", 
        "oldDeviceModel": "CM5P", 
        "newSerialNumber": "111-111-111", 
        "newDeviceModel": "CM5P" 
    }, 
    "eventType": "EstateDeviceSwapped", 
    "objectType": "DeviceEvent" 
}

 

 

newSerialNumber 

Serial number of the new device   

oldDeviceModel 

Device model name of the device being replaced 

oldSerialNumber 

Serial number of the device being replaced 

New Device is Activated 

hierarchy 

String 

 

Hierarchy path of the device 

{ 
    "content": { 
        "hierarchy": "Root >> Region >> City >> Store", 
        "newStatus": "Active", 
        "oldStatus": "PendingRegistration" 
    }, 
    "eventType": "EstateDeviceActivated", 
    "objectType": "DeviceEvent" 
} 

 

newStatus 

New status of device 

oldStatus 

Old status of device 

New Device is boarded 

hierarchy 

String 

Hierarchy path of the device 

{ 
    "content": { 
        "hierarchy": "Root >> Region >> City >> Store " 
    }, 
    "eventType": " EstateDeviceBoarded", 
    "objectType": "DeviceEvent" 
} 

 

Device is paired 

serialNumber 

String 

 

Serial number of the device 

{ 
    "content": { 
        "serialNumber": "111-111-111", 
        "deviceId": "111-111-111", 
        "deviceModel": "CM5P" 
    }, 
    "eventType": "EstateDevicePaired", 
    "objectType": "DeviceEvent" 
} 

 

deviceId 

Device ID of the device 

deviceModel 

Model name of the device 

Device Parameters are updated 

applicationName 

String 

 

Application name 

{ 
    "content": { 
        "applicationVersion": "5.330.40", 
        "applicationName": "com.android.settings", 
        "parameters": { 
            "value": { 
                "Main": [ 
                    { 
                        "tip": "false" 
                    } 
                ] 
            }, 
            "operation": "update" 
        } 
    }, 
    "eventType": "EstateDeviceParametersUpdated", 
    "objectType": "DeviceEvent" 
} 

 

applicationVersion 

Version of the application 

parameters 

Modified parameters of the application.  

For more details refer to the Device parameters updated sample payload section.

 

Device has rebooted 

rebootType 

String 

 

Possible values: 

  • PCI - Device is rebooted automatically by the system as part of PCI compliance. 
  • AGENT - Device is rebooted by the DMS Agent. 
  • SYSTEM - Device is rebooted automatically by the Operating system 

 

{ 
    "content": {"rebootType":"SYSTEM"}, 
    "eventType": "EstateDeviceRebooted", 
    "objectType":"DeviceEvent" 
} 

 

Device is tampered 

N/A

N/A 

N/A 

{ 
    "content": null, 
    "eventType": "EstateDeviceTampered", 
    "objectType": "DeviceEvent" 
} 

 

EMV Version mismatch 

N/A 

N/A 

N/A 

{ 
    "content": null, 
    "eventType": "EMVVersionMismatch", 
    "objectType": "DeviceEvent" 
}

 

 

Device Hierarchy is changed 

N/A

N/A 

N/A

{ 
    "content": null, 
    "eventType": "EstateDeviceHierarchyUpdated", 
    "objectType": "DeviceEvent" 
} 

 

Device Group is changed 

groupId 

String 

Comma separated list of all the Group IDs that the Device belongs to after the change.

{ 
    "content": { 
        "groupId":"10,11" 
    }, 
    "eventType": "EstateDeviceGroupUpdated", 
    "objectType": "DeviceEvent" 
} 

 

New software version available 

Or 

An existing software version no more available 

 

applicationName 

String 

Name of the package 

{ 
    "content": { 
        "version": "3.2.16-653", 
        "deviceModel": "", 
        "softwareType": "EngageAgent", 
        "status": "Updated", 
        "osType": "VOS2", 
        "applicationName": "" 
    }, 
    "eventType": "SoftwareVersionUpdated", 
    "objectType": "StandardEvent" 
} 

 

version 

Package version 

deviceModel 

Comma separated list of device models compatible with the Package. 

softwareType 

Software type of the package, e.g.: Android, Engage, etc. 

status 

status = Updated - a new package is added 

status = Deleted - an existing package is removed.

 

osType 

Package OS type, e.g., VX, VOS, VOS2, VOS3.

New hierarchy is added 

parentHierarchyId 

String 

Parent Hierarchy Id of the hierarchy 

{ 
    "content": { 
        "parentHierarchyId": "6465", 
        "hierarchyId": "6466" 
    }, 
    "eventType": "HierarchyUpdated", 
    "objectType": "StandardEvent" 
} 

 

hierarchyId 

Hierarchy Id of the newly added hierarchy 

Device Group is deleted 

groupId 

String 

Group Id of the deleted Group 

{ 
    "content": { 
        "groupId":"10" 
    }, 
    "eventType": "GroupDeleted", 
    "objectType": "StandardEvent" 
} 

 

Deleted Device is trying to communicate with DMS   

N/A 

N/A 

N/A 

{ 
    "content": null, 
    "eventType": "EstateDeletedDeviceContacting", 
    "objectType": "DeviceEvent" 
} 

 

Device missing   

N/A

N/A 

N/A 

 

{ 
    "content": null, 
    "eventType": "EstateDeviceMissing", 
    "objectType": "DeviceEvent" 
}

 

Device updated 

delta 

Object 

IP Address Change:

It's an object that has details of IP Address. 

{ 
    "content": { 
        "delta": { 
            "ipAddress": { 
                "old": "xx.xx.xx.xx"
                "new": "yy.yy.yy.yy" 
            }, 
            "location": { 
                "old": "North Kennedy Bvld", 
                "new": "East Kennedy Bvld" 
            } 
        } 
    }, 
    "eventType": "EstateDeviceUpdated", 
    "objectType": "DeviceEvent" 
}

 

Location Change:

It's an object that has details of location. 

How to register for webhook events

To receive notifications on device management related events via webhooks, follow these steps:

  1. Log a support ticket with Verifone support with these details:
    1. Organization name
    2. List of Events
    3. HTTPS Web endpoint URL to receive the notifications
      1. Authorization headers to be included (if any)
  2. Verifone support will help you with the setup.
  3. You will receive the webhook events at the URL of the Web endpoint.
  4. You can verify the authenticity and integrity of the webhook event. For more details, read more on the  Notifications  documentation. 

References 

Device Status 

This section is relevant to Status of Device is Changed event, listing the possible values of newStatus and oldStatus attributes. 

The device status can have the following values: 

  • Pending Registration: Indicates the device was not registered with the server. When the devices are pre-boarded, by default, the devices are placed in Pending Registration  

  • Pending Hierarchy Assignment: Indicates the device is not successfully assigned to hierarchy after the registration. When the device is attached to the incorrect hierarcy or the hierarchy was not assigned during the key exchange process, the device can still be active but will be placed in Pending Hierarchy Assignment status.  

  • Active: Indicates the device was successfully registered and assigned to hierarchy and can be used. The device will be in active status once the key exchange is performed successfully.  

  • Inactive: Indicates a disabled device. The device is physically present in the system but is not in an active mode.  

  • Deleted Devices: Indicates the device was (soft) deleted. On undeleting, the device wiil be placed into its previous status. Note: Permanently deleted devices cannot be undeleted. 

Device parameters updated sample payload

The following logical operations can be used to add, update or delete parameters: 

  • parameters > Operation = add  - indicates that parameters are added. Value indicates the set of newly added parameters. 

  • parameters > Operation = update - indicates that parameters are updated. Value indicates the set of updated parameters. 

  • parameters > Operation = delete - indicates that parameters are deleted. Value indicates the set of deleted parameters. 

{ 
   "CONTENT":{ 
      "applicationName":"com.verifone.settings", 
      "applicationVersion":"1.0", 
      "parameters":[ 
         { 
            "operation":"add", 
            "value":{              
                "Merchant":[ 
                    { 
                        "MerchantId":"1", 
                        "MerchantSurcharge":[ 
                            { 
                                "MaxSurchargeableAmount":"0", 
                                "SurchargeValue":"0", 
                                "MaxSurchargeAdjAmount":"0", 
                                "SurchargeValueInternational":"0" 
                            } 
                        ] 
                    } 
                ]         
            }            
         }, 
         { 
            "operation":"update", 
            "value":{ 
               "Terminal":[ 
                  { 

                     "ChipMaxTriesBeforeFallback":"3", 
                     "MsrMaxTriesBeforeFallback":"3", 
                     "SAFEnabled":"1", 
                     "SettlementContinueOnSAFQueueFlushFailure":"0", 
                     "EmvCtlsTerm":[ 
                        { 

                           "TerminalType_9F35":"", 
                           "ToneVolume_DF62":"" 
                        } 
                     ] 
                  } 
               ] 
            } 
         }, 
         { 

            "operation":"delete", 
            "value":{ 
               "Acquirer":[ 
                  { 
                     "AcquirerId":"1" 
                  }, 
                  { 
                     "AcquirerId":"2" 
                  } 
               ] 
            } 
         } 
      ] 
   } 
} 

 

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo