My Profile_

Best Practices

  1. Please note that although there is no size and value validation on request variables (e.g. order_id and cust_id), in future revisions these values will be enforced and we are not responsible for any issues this may cause.

  2. It is recommended that your application has a controlled Administrative section that gives a merchant the abilities to set and view configuration settings as well as the following functionalities:
    1. Separate abilities to call the Initialize and the KeyExchange (or Initialization) methods of the Terminal object. The Initialize method is called to set up the COM port communication with the PINpad and the KeyExchange method is called to set up encryption keys in the PINpad.
      1. The Initialize method needs to be called only once as long as the Terminal object still exists and is not closed. If a new COM port or a new PINpad is required to be set up, calling this method is required without having to close the Terminal object.
      2. The Initialization method only needs to be called once, even after the Terminal object has been previously closed. However, due to business reasons the PINpad profile may change at the Moneris host or when there is a new PINpad installation, this method needs to be explicitly called. These scenarios can be determined by examining the response ErrorCode and ErrorMessage fields as explained in the Error Codes section above.
      3. Calling this method will cause the PINpad to initiate the process of exchanging keys and account configuration with the Moneris host, which may take up to 2 minutes while the PINpad displays the “PLEASE WAIT” message.
    2. Close a batch on the Terminal object. Closing a batch will produce a response from Moneris showing the Host totals for each tender type. These totals could be used to reconcile with the application’s internal totals.

  3. Your POS application must provide the ability to chronologically log activities and messages inside call-backs and even handlers such as (terminal_Ready, initializationReceipt_Ready, financialReceipt_Ready, terminal_SpedPowerUpEvent, & terminal_SpedDisplayEvent) from our sample application. These logs may be used for debug purposes.

  4. In some installation, the computer boot process and/or the POS application’s start-up may complete before the PINpad is able to complete its’ boot-up process and displaying the “WELCOME” ready screen. If the POS application is designed to automatically call the Initialize method during it’s’ start-up process, delay for the PINpad to be ready must be considered in the design. This is to avoid the POS application from attempting to perform Initialize while the PINpad is not in a ready state. The Terminal Ready callback should be used to set a flag to indicate the state of the PINpad.

  5. To avoid any disconnection from the PINpad and the Moneris Host, it is recommended that the computer running your POS application has its’ Sleep Mode and Power-save turned off or disabled.

  6. The following diagram illustrates the various transaction flows and PINpad states;