investec-card-cli
v1.0.3
Published
An emulator for the Programmable Card Code Lamda function
Downloads
265
Maintainers
Readme
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 run your code locally fetch-cards List cards fetch [cardkey] [filename] fetches your code fetch-env [cardkey] [filename] fetches your environmental variables upload [cardkey] [filename] pushes your code upload-env [cardkey] [filename] pushes your environmental variables
Options:
-e, --environment [environment]
The environment to use
-a, --amount [amount]
The amount of the transaction
-c, --currency [currency]
The currency of the transaction
-e, --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.