Skip to content

Harden payment and refund idempotency - #2

Merged
mdabubakkarhq merged 1 commit into
mainfrom
fix/release-hardening-v1.0.0
Sep 15, 2026
Merged

mdabubakkarhq merged 1 commit into
mainfrom
fix/release-hardening-v1.0.0

Conversation

@mdabubakkarhq

Copy link
Copy Markdown
Contributor

Summary

  • Fail closed when an atomic payment-settlement claim is unavailable, and repeat duplicate/reuse checks after acquiring the claim.
  • Preserve authoritative foreign-currency capture data when a remote transaction refresh returns only sparse fields.
  • Distinguish intentional equal-value partial refunds from incomplete retries, and recover an already-completed full refund before checking the remaining balance.
  • Inspect the existing ledger schema before widening columns so normal requests do not repeat DDL.

Validation

  • Private regression suite: 101/101 passed (the temporary test harness is intentionally excluded from the public release).
  • PHP syntax: 19/19 files passed on PHP 8.3.
  • GitHub Actions workflow: actionlint passed.
  • Scoped code review: all five release-review findings addressed; no new Critical, Important, or Minor findings.
  • Release archive: 26 entries / 25 files, 44,362 bytes.
  • SHA-256: 9DF622EB9F5C46472FB52A7D61D00E890D9987EEA52F8417CD3F3451C8ECBF7D.

Release scope

  • Version remains 1.0.0 under the MIT License.
  • The public repository remains a focused runtime distribution; tests/, scripts/, internal review files, and generated archives are not included.

@mdabubakkarhq
mdabubakkarhq merged commit 94868b4 into main Sep 15, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant