The RMS receives an applyPayment command when a tender for a check approves. In the event of a partial approval, the terminal will continue to request additional tender until the check is paid in full. The RMS receives an applyPayment command for each leg of a partial approval. With each applyPayment, the RMS updates remainingAmount and tableRemainingAmount. When tableRemainingAmount equals zero, the check is paid in full.
Request Structure
ELEMENT
TYPE
DESCRIPTION
SIZE
REQUIRED
terminalId
String
Terminal ID request originated from
V8
Required
merchantId
String
Merchant ID of requestor
V13
Required
apiVersion
String
API version number
V20
Required
requestId
String
A unique identifier for this request
V50
Required
requestTimestamp
String
Date and time of the request
F19
Required
action
String
Transaction type – “applyPayment”
V24
Conditional
data
Object
Data applicable to this transaction type
–
–
server
Object
–
–
–
serverId
String
Server ID entered on the terminal
V50
Optional
trackData
Object
–
–
–
Track1
String
Track 1 from server card swiped
V50
Optional
Track2
String
Track 2 from server card swiped
V50
Optional
Track3
String
Track 3 from server card swiped
V50
Optional
check
Object
–
–
–
tableId
Object
Table ID for internal use by system
V50
Required
checkId
String
Check ID for internal use by system
V50
Required
payment
String
Check ID for internal use by system
V50
Required
tenderType
Object
–
–
–
card
String
Payment Type: Card, Cash etc
V50
Required
cardType
Object
–
–
–
authNumber
String
Authorization number of payment
V50
Required
referenceNumber
Number
Reference number of payment
V50
Required
lastDigits
Number
Last four digits of the PAN
V4
Required
paidAmount
Number
Payment amount received / approved
V9
Required
tipAmount
Number
Tip amount entered by user
V9
Optional
error
Object
Present if the terminal detects an error in the previous response. Applicable to all actions.
Integration configuration code provided by Moneris
V25
Required
requestId
String
A unique identifier for this request
V50
Required
requestTimestamp
String
Date and time of the request
F19
Required
status
String
RMS status code
F3
Required
statusDesc
String
RMS status code description
V50
Required
data
Object
Data applicable to this transaction type
–
–
table
Object
–
–
–
tableId
String
Primary key, used in subsequent requests to address particular table
V50
Required
tableTotalAmount
Number
The total amount for the table.
V9
Required
tableRemainingAmount
Number
Amount due for the table. Reduced by the approved amount each time a payment is approved.
V9
Required
check
Object
–
–
–
checkId
String
Check ID for internal use by system.
V50
Required
checkName
String
Check name for display in terminal user interface
V50
Optional
totalAmount
Number
Total transaction amount
V9
Required
preTaxAmount
Number
Transaction Amount Before Taxes
V9
Optional
gratuity
Number
Service charges. This is a charge the restaurant may automatically add to a bill. For example, some restaurants add a gratuity for large parties or groups.
V9
Optional
remainingAmount
Number
The amount due after a partial approval (total amount + tip - amount(s) partially approved)