The Mandate payment system is an electronic cheque payment system and as such account-based. The cheques along with the information on account numbers etc. is kept on a "document-carrier". At the moment this is simulated in the Mandate system by saving the information on e.g. a floppy. The document-carrier (dc) has a unique deviceID and holds the ID of the issuing bank. Each cheque has an unique ID made up of the bank ID, the device ID along with a reference number.
_sempconfig) with the variable name
... #semper.payment.mandate.DCfile c:\MANDATE\DC.MDT
c:\MANDATE\DC.MDTis taken as default.
In addition to the default value specified in the configuration file, each purse can specify its own DC file location.
GenerateDC.exe, located in the
semper/payment/mandatedirectory, is used to generate the file. Simply call the program as
GenerateDC.exe <OwnerId> <DC_ID (4 chars)>
<AccountNo> <DCpasswd> <filename>
<OwnerId>: Short string identifying the owner of the DC
<DC_ID>: At most 4 chars identifying the DC uniquely
<AccountNo>: The account number in the issuing bank, that this DC corresponds to
<DCpasswd>: An initial password needed to access the DC. The user can change the password from within SEMPER
<filename>: Where to store the DC file. A good location would be
C:\MANDATE\DC.MDT, as this is where a
MANDATE purse by default looks for the DC file.
Note: The DC generation takes a few seconds (up to half a minute on a slow machine), since the program is generating a digital signature from the issuing bank.
semper/payment/mandate directory, there is a
DC.MDT file, generated with parametres
Test 1234 12345678 a DC.MDT
To create a MANDATE purse, in SEMPER choose "Purse Management | create a new purse | MANDATE", and set the required information.
In the MANDATE system, a given Document Carrier can only issue cheques in a given currency. However, it can receive cheques in any currency. To adapt to Semper (where to "support" a currency means both pay and receive payment in that currency), we have chosen to let a MANDATE Purse publish only the given currency as "supported", even though cheques can be received in any currency. At the moment, the supported currency is fixed to XEU. Only integer amounts are currently supported by the cheque encoding
At this point, the payment manager should be able to select the MANDATE purse for a payment -- given that each entity (buyer and seller) supports MANDATE, and that the payment is done in the currency XEU.
Upon reception of a cheque, the cheque is stored in the (simulated) DC, rather than in the SEMPER purse structure.