7.21 PaymentCashlessDeviceType definition

7.21.1 Overview

The PaymentCashlessDeviceType provides information about a cashless payment taking for example credit cards. It is formally defined in Table 67.

7.21.2 ObjectType definition

Table 67 - PaymentCashlessDeviceType definition
Attribute Value
BrowseNamePaymentCashlessDeviceType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the StandalonePaymentDeviceType
0:HasComponentVariableUserId0:String0:BaseDataVariableTypeM
0:HasPropertyVariableMaxRechargePriceDataType0:PropertyTypeM
0:HasComponentVariableCurrentContentOnCardPriceDataType0:BaseDataVariableTypeM
0:HasComponentVariableApproveStatusOperationStatusEnum0:BaseDataVariableTypeM
0:HasComponentMethodApproveM
0:HasComponentMethodCancelApprovalM
0:HasComponentVariableRechargeStatusOperationStatusEnum0:BaseDataVariableTypeO
0:HasComponentMethodRechargeO
0:HasComponentVariableRefundLastStatusOperationStatusEnum0:BaseDataVariableTypeM
0:HasComponentMethodRefundLastM
0:HasComponentVariableIsEnabled0:Boolean0:BaseDataVariableTypeM
0:HasComponentMethodEnableOrDisableM
7Conformance Units
UnattendedRetail PaymentDevice Cashless

The UserId Variable indicates the UserId associated with the card or other identification used for the cashless payment device. If the UserId is null or an empty string, it implies that there is currently nothing associated to the cashless payment device and neither money can be taken nor recharged.

The MaxRecharge Variable indicates how much money can be recharged to the account of the current UserId. Null or an amount of 0 indicates that no recharge functionality is available.

The CurrentContentOnCard Variable indicates how much money can currently be used. This may be the amount on a rechargeable card, or a fixed value already pre-charged from a credit card. A null value indicates that the amount is unknown. When no UserId is available, the CurrentContentOnCard shall be null.

The ApproveStatus Variable indicates the status of the last call of the Approve Method (see 7.21.4). The DataType is defined in 8.26. The CancelApproval Method (see 7.21.5) may be called while the approval is still ongoing to cancel the approval and thereby effecting the ApproveStatus.

The optional RechargeStatus Variable indicates the status of the last call of the optional Recharge Method (see 7.21.6). The DataType is defined in 8.26.

The RefundLastStatus Variable indicates the status of the last call of the RefundLast Method (see 7.21.7). The DataType is defined in 8.26.

The IsEnabled Variable indicates if the cashless payment device is enabled ("true") or disabled ("false"). When the payment device is disabled, the Approve, Recharge and RefundLast Methods will fail. IsEnabled can be changed by calling the EnableOrDisable Method.

7.21.3 Relation to MDB / ICP state for cashless devices

MDB / ICP defines several states for cashless devices. How to receive this information from the PaymentCashlessDeviceType is described in the following.

Table 68 - Relation to MDB / ICP states
MDB / ICP stateStatus
(Available, Offline, OutOfOrder)
IsEnabled
(true, false)
UserId
(empty, value)
ApproveStatus
(Idle, Ongoing, SuccessfullyFinished, Failed)
RechargeStatus
(Idle, Ongoing, SuccessfullyFinished, Failed)
RefundLastStatus
(Idle, Ongoing, SuccessfullyFinished, Failed)
InactiveOffline, OutOfOrder-----
DisabledAvailablefalse----
EnabledAvailabletrueempty---
Session IdleAvailabletruevalueNot OngoingNot OngoingNot Ongoing
VendAvailabletruevalueOngoingNot OngoingNot Ongoing
RevalueAvailabletruevalueNot OngoingOne of them in Ongoing, the other not Ongoing.
Negative VendNot addressed in this version of the specification

7.21.4 Approve Method

The Approve Method is charging money from an account associated to the current UserId. It may also check if it is allowed to sell the selection to the user (e.g., based on age restrictions).

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the approve has been completed successful. Clients need to access the ApproveStatus Variable to get the information, if the approve successfully finished.

The signature of this Method is specified below. Table 69 and Table 70 specify the Arguments and AddressSpace representation, respectively.

Signature

	Approve (
	  [in]   PriceDataType            Value,
	  [in]   0:String                 UserId,
	  [in]   SelectionDataType        Selection,
	  [out]  0:Int32                    Status);
Table 69 - Approve Arguments
Argument Description
ValueThe value to be approved and charged from the account of the UserId.
UserIdThe UserId where the Value should be charged from the associated account.
SelectionSelection used to be bought. May be needed to check if selling the selection to the user is allowed (e.g., due to age restrictions).
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Invalid UserId - UserId unknown

-2 = Invalid UserId - Not the current UserId

-3 = Selection unknown

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 70 - Approve AddressSpace definition
Attribute Value
BrowseNameApprove
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.21.5 CancelApproval Method

The CancelApproval Method is cancelling the current approval triggered by calling the Approve Method.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

The Method shall return an Uncertain StatusCode and the Status -1 when the ApproveStatus is not in "Ongoing" while the Method gets executed.

If the Method returns successful, it does not indicate, that the cancelling has been completed successful. Clients need to access the ApproveStatus Variable to get the information, if the cancelling of the approval has successfully finished.

The signature of this Method is specified below. Table 71 and Table 72 specify the Arguments and AddressSpace representation, respectively.

Signature

	CancelApproval (
	  [out]  0:Int32                    Status);
Table 71 - CancelApproval Arguments
Argument Description
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Approval in a state that cannot be cancelled anymore

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 72 - CancelApproval AddressSpace definition
Attribute Value
BrowseNameCancelApproval
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.21.6 Recharge Method

The Recharge Method is recharging money to an account associated to the current UserId.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the recharge has been completed successful. Clients need to access the RechargeStatus Variable to get the information, if the recharge successfully finished.

The signature of this Method is specified below. Table 73 and Table 74 specify the Arguments and AddressSpace representation, respectively.

Signature

	Recharge (
	  [in]   PriceDataType              Value,
	  [in]   0:String                   UserId,
	  [out]  0:Int32                    Status);
Table 73 - Recharge Arguments
Argument Description
ValueThe value to recharged to the account of the UserId.
UserIdThe UserId where the Value should be recharged to the associated account.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Invalid UserId - UserId unknown

-2 = Invalid UserId - Not the current UserId

-3 = SelectionId unknown

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 74 - Recharge AddressSpace definition
Attribute Value
BrowseNameApprove
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.21.7 RefundLast Method

The RefundLast Method refunding the last successful operation executed with Approve. This is needed, for example, when a delivery cannot be executed but was already charged.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the approve has been completed successful. Clients need to access the RefundLastStatus Variable to get the information, if the approve successfully finished.

The signature of this Method is specified below. Table 75 and Table 76 specify the Arguments and AddressSpace representation, respectively.

Signature

	RefundLast (
	  [out]  0:Int32                    Status);
Table 75 - RefundLast Arguments
Argument Description
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = There was no previous successful approve execution

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 76 - RefundLast AddressSpace definition
Attribute Value
BrowseNameRefundLast
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.21.8 EnableOrDisable Method

The EnableOrDisable Method changing the state of the payment device either to be disabled or enabled.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the state change has been completed successful. Clients need to access the IsEnabled Variable to get the information, if the change successfully finished.

The signature of this Method is specified below. Table 77 and Table 78 specify the Arguments and AddressSpace representation, respectively.

Signature

	EnableOrDisable (
	  [in]   0:Boolean                  Enable,
	  [out]  0:Int32                    Status);
Table 77 - EnableOrDisable Arguments
Argument Description
EnableIndicates the new value to be set. False means to disable and true to enable the payment device.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Already in requested state

-2 = Cannot disable, currently internal operation ongoing

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 78 - EnableOrDisable AddressSpace definition
Attribute Value
BrowseNameApprove
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory