{"id":25158288,"url":"https://github.com/gbburleigh/quick-gateway","last_synced_at":"2026-04-18T00:31:58.498Z","repository":{"id":275877035,"uuid":"922281783","full_name":"gbburleigh/quick-gateway","owner":"gbburleigh","description":"This repository implements a mock payment gateway in Go, simulating transaction processing without connecting to real financial institutions. It supports various transaction types, including charges, refunds, and voids. This project serves as a demonstration of payment processing concepts and software architecture.","archived":false,"fork":false,"pushed_at":"2025-02-05T02:57:08.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T18:08:23.792Z","etag":null,"topics":["finance","fintech","gateway","go","payments","processor","settlements","transactions"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gbburleigh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-25T19:41:54.000Z","updated_at":"2025-02-05T02:57:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"140b3781-6f28-466a-96e1-6a79d7ca740e","html_url":"https://github.com/gbburleigh/quick-gateway","commit_stats":null,"previous_names":["gbburleigh/quick-gateway"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gbburleigh/quick-gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbburleigh%2Fquick-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbburleigh%2Fquick-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbburleigh%2Fquick-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbburleigh%2Fquick-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbburleigh","download_url":"https://codeload.github.com/gbburleigh/quick-gateway/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbburleigh%2Fquick-gateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31951278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["finance","fintech","gateway","go","payments","processor","settlements","transactions"],"created_at":"2025-02-09T01:49:36.943Z","updated_at":"2026-04-18T00:31:58.445Z","avatar_url":"https://github.com/gbburleigh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quick Gateway\n\nQuick Gateway is a simple gateway for processing payments. It is designed to be easy to use and integrate with existing systems.\n\n## Getting Started\n\n### Installation\n\n```bash\ngo get github.com/gbburleigh/quick-gateway\n```\n\n\n### API\n\n`quick-gateway` relies on a client-gateway-processor architecture. Transactions are created at the client level, to emulate a POS system such as a terminal. The client is responsible for creating the transaction and sending it to the gateway. The gateway is responsible for processing the transaction, normalizing and logging it as necessary, and sending it to the processor. The processor is responsible for processing the transaction and returning the result to the gateway. Most processors use proprietary APIs and require subscriptions to integrate with them, so `quick-gateway` is designed with a simple mock processor that simulates these services for us.\n\n### Usage\n\n#### Create a Client\n\n```go\nclient := client.NewClient(\"terminal_id\", \"secret_key\", \"environment\", \"gateway_id\")\n\n// TODO: Hook into POS to read transaction data and trigger client to create transaction\nconst transaction_data = \u003cRead from POS, API, etc\u003e\n\nconst Transaction = client.CreateTransaction(\n    transaction_data.Type,\n    transaction_data.Amount,\n    transaction_data.CardPresent,\n    transaction_data.ACH,\n    transaction_data.Method,\n)\n\nclient.SendTransaction(Transaction)\n```\n\n#### Receive a Transaction\n\n```go\n\nconst Transaction = \u003cTransaction from Client\u003e\n\nconst Gateway = gateway.NewGateway(client)\n\nGateway.HandleTransaction(Transaction)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbburleigh%2Fquick-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbburleigh%2Fquick-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbburleigh%2Fquick-gateway/lists"}