Interface PINPadInterface

All Superinterfaces:
JposBaseInterface
All Known Implementing Classes:
PINPadProperties

public interface PINPadInterface extends JposBaseInterface
Interface for methods that implement property setter and method calls for the PINPad device category. For details about properties, methods and method parameters, see UPOS specification, chapter PIN Pad. Further details about error handling can be found in introduction - Device Behavior Models - Errors.
  • Method Details

    • setAccountNumber

      void setAccountNumber(String accountNumber) throws jpos.JposException
      Final part of setting AccountNumber. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or accountNumber equals the previous value of AccountNumber.
      Parameters:
      accountNumber - Account number to be used for the current EFT transaction.
      Throws:
      jpos.JposException - If an error occurs.
    • setAmount

      void setAmount(long amount) throws jpos.JposException
      Final part of setting Amount. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • amount is not negative,
      • internal property AllowAlwaysSetProperties is true or amount equals the previous value of Amount.
      Parameters:
      amount - Amount of the current EFT transaction.
      Throws:
      jpos.JposException - If an error occurs.
    • setMaximumPINLength

      void setMaximumPINLength(int maximumPINLength) throws jpos.JposException
      Final part of setting MaximumPINLength. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • Property PINEntryEnabled is false,
      • maximumPINLength is greater than zero,
      • internal property AllowAlwaysSetProperties is true or maximumPINLength equals the previous value of MaximumPINLength.
      Parameters:
      maximumPINLength - Maximum acceptable number of digits in a PIN.
      Throws:
      jpos.JposException - If an error occurs.
    • setMerchantID

      void setMerchantID(String merchantID) throws jpos.JposException
      Final part of setting MerchantID. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or merchantID equals the previous value of MerchantID.
      Parameters:
      merchantID - Merchant ID, as known by the EFT Transaction Host.
      Throws:
      jpos.JposException - If an error occurs.
    • setMinimumPINLength

      void setMinimumPINLength(int minimumPINLength) throws jpos.JposException
      Final part of setting MinimumPINLength. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • Property PINEntryEnabled is false,
      • minimumPINLength is a positive value,
      • internal property AllowAlwaysSetProperties is true or minimumPINLength equals the previous value of MinimumPINLength.
      Parameters:
      minimumPINLength - Minimum acceptable number of digits in a PIN.
      Throws:
      jpos.JposException - If an error occurs.
    • setPrompt

      void setPrompt(int prompt) throws jpos.JposException
      Final part of setting Prompt. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • CapDisplay is one of DISP_PINRESTRICTED, DISP_RESTRICTED_LIST or DISP_RESTRICTED_ORDER,
      • If CapDisplay is DISP_PINRESTRICTED, PINEntryEnabled is true,
      • prompt equals one of the values specified in property AvailablePromptsList,
      • internal property AllowAlwaysSetProperties is true or prompt equals the previous value of Prompt.
      Parameters:
      prompt - Identifies a predefined message to be displayed on the PIN Pad.
      Throws:
      jpos.JposException - If an error occurs.
    • setPromptLanguage

      void setPromptLanguage(String promptLanguage) throws jpos.JposException
      Final part of setting PromptLanguage. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • CapLanguage is not LANG_NONE,
      • If CapLanguage is LANG_ONE, promptLanguage equals the default value of PromptLanguage,
      • If CapLanguage is LANG_PINRESTRICTED, PINEntryEnabled is false,
      • promptLanguage specifies one of the languages specified in property AvailableLanguagesList,
      • internal property AllowAlwaysSetProperties is true or promptLanguage equals the previous value of PromptLanguage.
      For example, if AvailableLanguagesList contains the language specification "EN,US", both, "EN,US" and "EN" would be valid language specifications, but "US" would be invalid because "US" specifies a country, not a language. However, if the service supports multiple English variants, e.eg "EN,US" and "EN,UK", it is up to the service which variant will be used if only "EN" will be specified.
      Parameters:
      promptLanguage - Holds the "language definition" for the message to be displayed.
      Throws:
      jpos.JposException - If an error occurs.
    • setTerminalID

      void setTerminalID(String terminalID) throws jpos.JposException
      Final part of setting TerminalID. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or terminalID equals the previous value of TerminalID.
      Parameters:
      terminalID - Terminal ID, as known by the EFT Transaction Host.
      Throws:
      jpos.JposException - If an error occurs.
    • setTrack1Data

      void setTrack1Data(byte[] track1Data) throws jpos.JposException
      Final part of setting Track1Data. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or track1Data equals the previous value of Track1Data.
      Parameters:
      track1Data - Decoded track 1 data from the previous card swipe or an empty array.
      Throws:
      jpos.JposException - If an error occurs.
    • setTrack2Data

      void setTrack2Data(byte[] track2Data) throws jpos.JposException
      Final part of setting Track2Data. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or track2Data equals the previous value of Track2Data.
      Parameters:
      track2Data - Decoded track 2 data from the previous card swipe or an empty array.
      Throws:
      jpos.JposException - If an error occurs.
    • setTrack3Data

      void setTrack3Data(byte[] track3Data) throws jpos.JposException
      Final part of setting Track3Data. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or track3Data equals the previous value of Track3Data.
      Parameters:
      track3Data - Decoded track 3 data from the previous card swipe or an empty array.
      Throws:
      jpos.JposException - If an error occurs.
    • setTrack4Data

      void setTrack4Data(byte[] track4Data) throws jpos.JposException
      Final part of setting Track4Data. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • internal property AllowAlwaysSetProperties is true or track4Data equals the previous value of Track4Data.
      Parameters:
      track4Data - Decoded track 4 (JIS-II) data from the previous card swipe or an empty array.
      Throws:
      jpos.JposException - If an error occurs.
    • setTransactionType

      void setTransactionType(int transactionType) throws jpos.JposException
      Final part of setting TransactionType. Can be overwritten within derived classes, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is opened,
      • EFT transaction has not been started,
      • transactionType is one of TRANS_DEBIT, TRANS_CREDIT, TRANS_INQ, TRANS_RECONCILE or TRANS_ADMIN,
      • internal property AllowAlwaysSetProperties is true or transactionType equals the previous value of TransactionType.
      Parameters:
      transactionType - Type of the current EFT Transaction.
      Throws:
      jpos.JposException - If an error occurs.
    • beginEFTTransaction

      void beginEFTTransaction(String pinPadSystem, int transactionHost) throws jpos.JposException
      Final part of BeginEFTTransaction method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • EFT transaction has not been started,
      • pinPadSystem equals one of the predefined values, see PINPadProperties, property SupportedPINPadSystems.
      Parameters:
      pinPadSystem - Name of the desired PIN Pad Management System.
      transactionHost - Identifier of an EFT transaction host to be used for this transaction.
      Throws:
      jpos.JposException - If an error occurs.
    • computeMAC

      void computeMAC(String inMsg, String[] outMsg) throws jpos.JposException
      Final part of ComputeMAC method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • EFT transaction has been started,
      • CapMACCalculation is true,
      • PINEntryEnabled is false,
      • inMsg is not null,
      • outMsg is a String array with length 1.
      Parameters:
      inMsg - The message that the application intends to send to an EFT Transaction.
      outMsg - Reformatted message that may actually be transmitted to an EFT Transaction Host.
      Throws:
      jpos.JposException - If an error occurs.
    • enablePINEntry

      void enablePINEntry() throws jpos.JposException
      Final part of EnablePINEntry method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • EFT transaction has been started,
      • PINEntryEnabled is false,
      • MaximumPINLength ≥ MinimumPINLength.
      Throws:
      jpos.JposException - If an error occurs.
    • endEFTTransaction

      void endEFTTransaction(int completionCode) throws jpos.JposException
      Final part of EndEFTTransaction method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • EFT transaction has been started,
      • completionCode is EFT_NORMAL or EFT_ABNORMAL.
      The default implementation should be called within derived methods to ensure that the property PINEntryEnabled is updated as expected.
      Parameters:
      completionCode - The completion code.
      Throws:
      jpos.JposException - If an error occurs.
    • updateKey

      void updateKey(int keyNum, String key) throws jpos.JposException
      Final part of UpdateKey method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • EFT transaction has been started,
      • key consists of an even number of hexadecimal digits (0-9 and A-F).
      Parameters:
      keyNum - A key number.
      key - A Hex-ASCII value for a new key.
      Throws:
      jpos.JposException - If an error occurs.
    • verifyMAC

      void verifyMAC(String message) throws jpos.JposException
      Final part of VerifyMAC method. Can be overwritten in derived class, if necessary. This method will be called only if the following plausibility checks lead to a positive result:
      • Device is enabled,
      • CapMACCalculation is true,
      • EFT transaction has been started,
      • PINEntryEnabled is false,
      • message is not null.
      Parameters:
      message - A message received from an EFT Transaction Host.
      Throws:
      jpos.JposException - If an error occurs.