{"id":26285400,"url":"https://github.com/firmngin/firmnginkit","last_synced_at":"2025-06-20T14:13:23.413Z","repository":{"id":281506694,"uuid":"945486657","full_name":"firmngin/firmnginKit","owner":"firmngin","description":"This library integrates payment systems directly into your IoT devices with simple and secure communication, opening new monetization opportunities for your system 💰.","archived":false,"fork":false,"pushed_at":"2025-03-10T01:25:53.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T02:44:42.875Z","etag":null,"topics":["arduino","esp32","iot"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firmngin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-09T14:41:58.000Z","updated_at":"2025-03-10T01:25:40.000Z","dependencies_parsed_at":"2025-03-10T02:44:46.018Z","dependency_job_id":null,"html_url":"https://github.com/firmngin/firmnginKit","commit_stats":null,"previous_names":["firmngin/kit","firmngin/firmnginkit"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firmngin%2FfirmnginKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firmngin%2FfirmnginKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firmngin%2FfirmnginKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firmngin%2FfirmnginKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firmngin","download_url":"https://codeload.github.com/firmngin/firmnginKit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243633602,"owners_count":20322637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","iot"],"created_at":"2025-03-14T19:24:09.368Z","updated_at":"2025-03-14T19:24:10.042Z","avatar_url":"https://github.com/firmngin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Firmngin-Kit Library\n\nThis library make easy flow payment systems to your IoT devices with simple and secure communication, opening new monetization opportunities for your system 💰.\n\nCheck this out [kit.firmngin.cloud](https://kit.firmngin.cloud) for more information and try for free\n\n## Features\n\n- ESP8266 and ESP32 support\n- Auto reconnect to server\n- Event-driven callback system\n\n## Installation\n\n1. Make sure you're using an ESP8266 or ESP32 board\n2. Search library \"firmnginKit\" on Library Manager and install. [Click here to Learn how to install Arduino Library](https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/)\n3. Install required library dependencies:\n   - ArduinoJson\n   - PubSubClient\n\n## Example Basic Usage\n\n```cpp\n#include \"firmnginKit.h\"\n\n#define DEVICE_ID \"YOUR_DEVICE_ID\"\n#define DEVICE_KEY \"YOUR_DEVICE_KEY\"\n\nFirmnginKit fngin(DEVICE_ID, DEVICE_KEY);\n\nvoid callback(Callback\u0026 cb) {\n  cb.on(WAIT, [](Payload payload) {\n    // Handle WAIT event\n  });\n\n  cb.on(IDLE, [](Payload payload) {\n    // Handle IDLE event \n  });\n\n//   other events\n}\n\nvoid setup() {\n  // Connect WiFi first\n  fngin.setCallback(callback);\n  fngin.setDebug(true);\n  fngin.begin();\n}\n\nvoid loop() {\n  fngin.loop();\n}\n```\n\n## Event States\n\nThe library supports several event states:\n\n- `WAIT` - Device is in waiting status, user start transactions and wait for paid\n- `IDLE` - Device is idle ready for accept transactions\n- `OK` - Operation successful\n- `HOLD` - Device is on hold\n- `START_SESSION` - Session started, User successfully paid\n- `END_SESSION` - Session ended\n- `ERROR` - Error occurred\n\n## Payload Data\n\nEach event callback receives a Payload object containing:\n\n- `referenceId` - Transaction reference ID\n- `EventName` - Current event name\n- `ActiveSessionID` - Active session ID\n- `Amount` - Transaction amount\n- `MessageId` - Message ID (Will generated every message sent from server)\n- `Optionname` - Menu Option name\n- `Metadata` - Additional data from users in JSON format\n\n## Configuration\n\n```cpp\n// Set timezone (default is +7 Indonesia)\nfngin.setTimezone(7);\n\n// Enable/disable debug mode\nfngin.setDebug(true);\n\n// Set callback event\nfngin.setCallback(callback);\n```\n\n## Troubleshooting\n\n1. Ensure device ID and key are valid\n2. Check if WiFi connection is stable\n3. Enable debug mode for detailed logs\n4. Restart device if connection issues persist\n\n## License\n\nMIT License\n\n## Contributing\n\nFeel free to open issues, ideas or submit pull requests. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirmngin%2Ffirmnginkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirmngin%2Ffirmnginkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirmngin%2Ffirmnginkit/lists"}