An emulator for the Programmable Card Code Lamda function
npm install investec-card-cliWrite and test programmable card code in a safe environment.

While exploring Programmable Banking Cards, I found it difficult to test my code. I wanted to be able to write code and test it in a safe environment. I also wanted to be able to share my code with others. This project is an attempt to solve these problems.
Templates are the code that is run by the emulator. They are written in JavaScript and can be found in the templates directory. The template that is run by default is empty. This template does nothing and is a good starting point for writing your own templates.
Current Templates:
- empty - Does nothing
- petrol_card - A template for a petrol card
- rooty - A template for a sending a slack message after a transaction
- telegram - A template for sending a telegram message after a transaction
- postman-echo - A template for sending a transaction to Postman Echo
``bash`
git clone https://github.com/devinpearson/programmable-banking-card-issuer.git
cd programmable-banking-card-issuer`bash`
npm install.devcontainerDevContainer (VSCode)
VS Code will automatically detect the folder and prompt you to open the project in a container. This will set up the environment for you to run the server in a Docker container. `bash`
docker-compose -f .devcontainer/docker-compose.yml up
bash
docker build -t card-emu .
docker run card-emu -t petrol_card
`
$3
Commands:
run [filename] run your code locally
fetch-cards list cards
fetch [cardkey] [filename] fetches your saved code
fetch-published [cardkey] [filename] fetches your published code
fetch-env [cardkey] [filename] fetches your environmental variables
upload [cardkey] [filename] uploads your code to saved code
publish [cardkey] [codeid] [filename] publishes your saved code
upload-env [cardkey] [filename] publishes your environmental variables
toggle [cardkey] [enabled] enable/disable card code
executions [cardkey] [filename] card execution logsOptions:
-h, --help Show help [boolean]
-v, --version Show version number [boolean]

Options:
-e, --environment [environment] The environment to use-a, --amount [amount] The amount of the transaction-c, --currency [currency] The currency of the transaction--mcc [mcc] The merchant category code of the transaction-m, --merchant [merchant] The merchant name of the transaction-i, --city [city] The city of the transaction-o, --country [country] The country of the transaction-h, --help Display help for command-v, --version Display the current versionTo run a transaction against a template, run the following command:
`
node . main.js -e env.json --amount 60000 --currency ZAR --mcc 0000 --merchant "Test Merchant" --city "Test City" --country ZA
`
Testing
To run the tests, use the following command:
`bash
npm test
``Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.
This project is licensed under the MIT License - see the LICENSE.md file for details
For inquiries, please open an issue.