Android App that can do the following in a POC implementation.
1. Configure few parameters as global application setup.
1.1 Store Application Center number.
1.2 Store symmetric key in phone key store (supplied in pem format).
1.3 PIN/Password for transaction execution.
2. Should have access to the phone book.
3. Should have access to the SMS's sent and received.
4. Generate SMS's based on actions required by the user, encrypt them using AES/stored key. General SMS message format should be "SMTF01,". Ciphertext should be as follows based on use-cases described.
4.1 SMS for payment initiation with user interface should generate this message - "PMT00,,,"
=An ID to trace responses received later.
=Recipient selected from the contact.
4.2 SMS for balance inquiry - "INQ00,"
5. Parse and respond to SMS's received in store. They follow the same syntax described in 4 and should be process if it has come only from Application Center number. Decrypt using AES/stored key.
5.1 Status of payment done (4.1) as SMS - "CNF00,," for success and "CNF01,," for failure.
5.2 Status of payment received as SMS - "RCP00,,,,".
5.3 Status of account balance received as SMS - "STM00,,". This should be related with inquiry (4.2).
Assume that all communications should happen using single SMS messages in format of "SMTF01,", no concatenation required. More focus should be on functionality than aesthetics.
Should run on Android ICS and above ideally on non-rooted devices.