{"id":51115161,"url":"https://github.com/faisalaffan/snapsharp","last_synced_at":"2026-06-24T21:01:15.190Z","repository":{"id":365605426,"uuid":"1272856839","full_name":"faisalaffan/snapsharp","owner":"faisalaffan","description":"Zero-dependency .NET SDK for BI SNAP — Indonesia's National Open Payment API Standard. Supports transfer, VA, QRIS, direct debit \u0026 more.","archived":false,"fork":false,"pushed_at":"2026-06-18T03:30:30.000Z","size":2583,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-06-18T05:18:01.769Z","etag":null,"topics":["aspnetcore","bank-indonesia","bi-snap","csharp","dotnet","financial","fintech","fintech-indonesia","indonesia","nuget","open-api","open-banking","open-payment","payment","payment-api","payment-gateway","qris","sdk","snap","virtual-account"],"latest_commit_sha":null,"homepage":"https://showcase.faisalaffan.com/snapsharp","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/faisalaffan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"faisalaffan","custom":["https://saweria.co/faisalaffan"]}},"created_at":"2026-06-18T02:01:16.000Z","updated_at":"2026-06-18T03:30:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/faisalaffan/snapsharp","commit_stats":null,"previous_names":["faisalaffan/snapsharp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/faisalaffan/snapsharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faisalaffan%2Fsnapsharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faisalaffan%2Fsnapsharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faisalaffan%2Fsnapsharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faisalaffan%2Fsnapsharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faisalaffan","download_url":"https://codeload.github.com/faisalaffan/snapsharp/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faisalaffan%2Fsnapsharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34749211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["aspnetcore","bank-indonesia","bi-snap","csharp","dotnet","financial","fintech","fintech-indonesia","indonesia","nuget","open-api","open-banking","open-payment","payment","payment-api","payment-gateway","qris","sdk","snap","virtual-account"],"created_at":"2026-06-24T21:01:14.987Z","updated_at":"2026-06-24T21:01:15.163Z","avatar_url":"https://github.com/faisalaffan.png","language":"C#","funding_links":["https://github.com/sponsors/faisalaffan","https://saweria.co/faisalaffan"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/02_BANNER.png\" alt=\"SnapSharp Banner\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/01_LOGO.png\" alt=\"SnapSharp Logo\" width=\"100\"\u003e\n\u003c/p\u003e\n\n# SnapSharp\n\n**.NET SDK for BI SNAP** (Standar Nasional Open API Pembayaran)\n\n[![.NET](https://img.shields.io/badge/.NET-8.0-512BD4)](https://dotnet.microsoft.com)\n[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n[![NuGet](https://img.shields.io/badge/nuget-coming_soon-blue)](https://www.nuget.org/)\n\n\u003e Open-source, zero-dependency .NET SDK untuk integrasi aplikasi dengan standar BI SNAP yang ditetapkan oleh Bank Indonesia.\n\n## Service Coverage\n\n| Service Category | Endpoint | Status |\n|-----------------|----------|--------|\n| Keamanan | Access Token B2B | ✅ |\n| Keamanan | Access Token B2B2C | ✅ |\n| Administrasi | Account Registration Inquiry | ✅ |\n| Informasi Saldo | Balance Inquiry | ✅ |\n| Riwayat Transaksi | Transaction History | ✅ |\n| Transfer Kredit | Credit Transfer (Internal \u0026 Interbank) | ✅ |\n| Transfer Debit | Direct Debit Registration | ✅ |\n| Transfer Debit | Direct Debit Payment | ✅ |\n| Virtual Account | Create VA | ✅ |\n| Virtual Account | VA Inquiry | ✅ |\n| Virtual Account | Payment Notification | ✅ |\n| QRIS | QRIS Generate | ✅ |\n| QRIS | Payment Notification | ✅ |\n\n## Quick Start\n\n```bash\ndotnet add package SnapSharp.Core\n```\n\n```csharp\nusing SnapSharp;\n\nvar options = new SnapSharpOptions\n{\n    BaseUrl = \"https://sandbox.bank.co.id\",\n    ClientId = \"your-client-id\",\n    PrivateKeyPem = File.ReadAllText(\"private-key.pem\"),\n    ChannelId = \"95221\",\n    PartnerId = \"your-partner-id\"\n};\n\nusing var client = new SnapSharpClient(options);\nvar token = await client.Auth.GetAccessTokenAsync();\n```\n\n## Projects\n\n| Project | Description |\n|---------|-------------|\n| `SnapSharp.Core` | SDK utama — authentication, service clients, models |\n| `SnapSharp.Cli` | CLI tool (`snapsharp`) untuk sandbox testing |\n| `SnapSharp.ReferenceApp` | ASP.NET Core Minimal API reference implementation |\n\n## Features\n\n- 🔐 **Auto-signing**: RSA-SHA256 request signing transparan\n- 🔄 **Token auto-refresh**: Refresh 30 detik sebelum expiry\n- 🧵 **Thread-safe**: Concurrent request aman dengan double-check locking\n- ⚡ **Async-first**: Semua API async dengan sync wrapper opsional\n- 📦 **Zero dependency**: Hanya `System.Text.Json` (built-in .NET 6+)\n- 🛠️ **CLI tool**: Sandbox testing tanpa menulis kode\n- 📖 **Swagger UI**: Reference app dengan dokumentasi interaktif\n\n## CLI Usage\n\n```bash\n# Install\ndotnet tool install -g SnapSharp.Cli\n\n# Generate RSA keys\nsnapsharp keygen -o ./keys\n\n# Validate config\nsnapsharp validate -c snapsharp.json\n\n# Test endpoints\nsnapsharp sandbox token -c snapsharp.json\nsnapsharp sandbox balance -a 1234567890\nsnapsharp sandbox transfer --to 0987654321 --amount 10000 --bank 002 --name \"Penerima\"\n\n# Debug signature\nsnapsharp sign --method POST --path /v1.0/balance-inquiry \\\n  --body request.json --key private-key.pem\n```\n\n## Documentation\n\n- [Getting Started](docs/getting-started.md)\n- [Authentication](docs/authentication.md)\n- [Balance Inquiry](docs/services/balance-inquiry.md)\n- [Credit Transfer](docs/services/credit-transfer.md)\n- [Virtual Account](docs/services/virtual-account.md)\n- [QRIS](docs/services/qris.md)\n\n## Running Reference App\n\n```bash\ndocker compose up\n# Buka http://localhost:8080/swagger\n```\n\n## Build\n\n```bash\ndotnet build\ndotnet test\n```\n\n## Roadmap\n\n- [x] v0.1.0 — Project setup, authentication module\n- [x] v0.2.0 — Core services (balance, transfer, history)\n- [x] v0.3.0 — Extended services (VA, QRIS, direct debit)\n- [x] v0.4.0 — CLI tool \u0026 reference app\n- [ ] v1.0.0 — NuGet publish, full docs\n\n## License\n\nMIT © Muhammad Faisal Affan\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaisalaffan%2Fsnapsharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaisalaffan%2Fsnapsharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaisalaffan%2Fsnapsharp/lists"}