investec-card-cli v1.1.0
CLI Programmable Card Code Emulator
Write and test programmable card code in a safe environment.
Table of Contents
- About
- Templates
- Installation
- DevContainer (VSCode)
- Docker
- Usage
- Testing
- Contributing
- License
- Contact
- Acknowledgments
- Other Projects
About
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
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 nothingpetrol_card
- A template for a petrol cardrooty
- A template for a sending a slack message after a transactiontelegram
- A template for sending a telegram message after a transactionpostman-echo
- A template for sending a transaction to Postman Echo
Installation
Before installing, download and install Node.js.
git clone https://github.com/devinpearson/programmable-banking-card-issuer.git
cd programmable-banking-card-issuer
npm install
DevContainer (VSCode)
VS Code will automatically detect the .devcontainer
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.
docker-compose -f .devcontainer/docker-compose.yml up
Docker
docker build -t card-emu .
docker run card-emu -t petrol_card
Usage
Commands: run filename run your code locally fetch-cards list cards fetch cardkey fetches your saved code fetch-published cardkey fetches your published code fetch-env cardkey fetches your environmental variables upload cardkey uploads your code to saved code publish cardkey filename publishes your saved code upload-env cardkey publishes your environmental variables toggle cardkey enable/disable card code executions cardkey card execution logs
Options: -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 version
To 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:
npm test
Contributing
Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Contact
For inquiries, please open an issue.