v1.0.0-beta.1
Pre-release
Pre-release
First beta — the API surface is now considered stable for 1.0. The alpha series deliberately made its breaking changes early; no further BC breaks are planned before v1.0.0, and remaining work is feedback, polish and documentation.
Where the SDK stands
- Scope: the
paymentsresource (create/read/list/update + authorize/capture/refund/cancel), the/pinghealth check, the payment-window link flow, and callback (webhook) verification — deliberately narrow and typed. - Contracts verified against the live API, not the docs: required request fields are required constructor arguments (
orderId/currencyon create,amounton links and operations, all fiveBasketItemfields);Address/Shippingverified lenient; response quirks (e.g.is3d_securereturning a boolean) modeled from real responses. - Async operations documented honestly: without
?synchronizedthe API answers 202 with a queued-operation snapshot — the docblocks explain what you can and cannot read from it, and the client-widesynchronizedconstructor flag sets the default once. - Callback verification is deliberately un-mockable:
CallbackHandler/CallbackValidatorarefinalwith no interfaces; the README's new "Testing your callback endpoint" section (#7, the one change since alpha.4) documents the intended pattern — a real handler with a test key andvalidator()->sign()-forged signatures. - Quality gates: 109 tests across PHP 8.1–8.5 × lowest/highest, PHPStan level max, mutation score MSI 85% / covered 85% (gate 70), plus a committed real-API e2e harness (
examples/e2e/).
Changed since v1.0.0-alpha.4
- README: "Testing your callback endpoint" section (#7). Docs only — no code changes.
Full changelog: v1.0.0-alpha.4...v1.0.0-beta.1