No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Humphrey Drummond fdc76a8a22 Migrate module path from github.com to codeberg.org
Codeberg is the primary source; GitHub is a mirror.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 23:02:27 +00:00
client add reconciliation API 2026-03-18 00:45:10 +00:00
cmd/server Migrate module path from github.com to codeberg.org 2026-03-26 23:02:27 +00:00
docs add reconciliation API 2026-03-18 00:45:10 +00:00
fpsevents Migrate module path from github.com to codeberg.org 2026-03-26 23:02:27 +00:00
internal Migrate module path from github.com to codeberg.org 2026-03-26 23:02:27 +00:00
.gitignore add reconciliation API 2026-03-18 00:45:10 +00:00
CHANGELOG.md Update CHANGELOG for v0.1.3 2026-03-18 00:46:55 +00:00
go.mod Migrate module path from github.com to codeberg.org 2026-03-26 23:02:27 +00:00
go.sum Implement mock FPS server for Form3 Faster Payments API testing 2026-02-08 16:16:46 +00:00
index.md add reconciliation API 2026-03-18 00:45:10 +00:00
mock-fps.code-workspace Adding stnd in 2026-03-08 21:28:44 +00:00
PLAN.md Adding stnd in 2026-03-08 21:28:44 +00:00
README.md Adding documentation 2026-03-17 08:05:27 +00:00
ROADMAP.md Adding documentation 2026-03-17 08:05:27 +00:00
task-plus.yml add reconciliation API 2026-03-18 00:45:10 +00:00
Taskfile.yml add reconciliation API 2026-03-18 00:45:10 +00:00

mock-fps

A Go mock server simulating the Form3 Faster Payments Service (FPS) API. Returns realistic JSON:API responses with async lifecycle status transitions, stand-in mode, and webhook notifications.

Quick start

task build
task run

The server starts on :8080 by default.

Configuration

Variable Default Description
PORT 8080 HTTP listen port
LIFECYCLE_STEP_DELAY_MS 500 Delay between status transitions
WEBHOOK_WORKERS 4 Concurrent webhook delivery workers
WEBHOOK_BUFFER_SIZE 1000 Webhook notification queue size

API overview

All endpoints are under /v1 and follow JSON:API conventions (application/vnd.api+json).

  • PaymentsPOST/GET /v1/transaction/payments
  • SubmissionsPOST/GET .../submissions
  • AdmissionsPOST/GET/PATCH .../admissions
  • ReturnsPOST/GET .../returns and .../returns/{id}/submissions
  • RecallsPOST/GET .../recalls, .../submissions, .../decisions
  • ReversalsPOST/GET .../reversals and .../reversals/{id}/submissions
  • SubscriptionsCRUD /v1/notification/subscriptions
  • HealthGET /health
  • AdminGET/PUT /admin/standin (stand-in mode control)

Documentation

  • FPS Events Reference — Complete inbound payment lifecycle, all possible outcomes, settlement cycles, stand-in, and reconciliation

Tasks

task build    # Build binary
task run      # Build and run
task fmt      # Format Go source
task vet      # Run go vet
task lint     # Run golangci-lint
task test     # Run tests with -race
task check    # fmt + vet + test + clean
task clean    # Remove build artifacts
Source (Codeberg) https://codeberg.org/hum3/mock-fps
Mirror (GitHub) https://github.com/drummonds/mock-fps

License

See LICENSE.