Download the PHP package selectwin/sdk without Composer
On this page you can find all versions of the php package selectwin/sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download selectwin/sdk
More information about selectwin/sdk
Files in selectwin/sdk
Package sdk
Short Description Official Selectwin PHP SDK — payments (card, PIX, boleto), subscriptions, webhooks.
License MIT
Homepage https://selectwin.io/docs
Informations about the package sdk
selectwin/sdk (PHP)
Official Selectwin PHP SDK — payments (credit card, PIX, boleto), subscriptions, wallets, webhooks and more.
Status: early / work in progress (
0.1.0). Generated core (openapi-generator, Guzzle) + a hand-written DX shell (typed exceptions, retries, idempotency, pagination, webhook verification).
Quickstart
Every resource exposes Concise aliases (create, retrieve, update, list,
delete, plus verbs like $sw->subscriptions->pause('subs_…')). The full generated API is
always reachable via ->raw():
Pagination
Top-level list() returns a Paginator — iterate every item across pages, grab the first
page, or collect into an array:
Webhooks
Selectwin\WebhookEvents::ALL is the authoritative catalog; WebhookEvents::isValid($type)
validates a value. $sw->webhooks also manages endpoints/events/dispatches.
What the SDK adds over the raw generated client
The package is a generated core (from the OpenAPI v2.0.0 spec, namespace Selectwin\Api
/ Selectwin\Model) + a hand-written DX shell:
- Typed client —
new SelectwinClient($key)→$sw->transactions,$sw->subscriptions, … - Concise aliases per resource accepting an array or a generated model;
->raw()for the full generated surface. - Typed exceptions by HTTP status /
error.code:CardException(402,getDisplayMessage()/isReversible()),ValidationException(getParams()),RateLimitException(getRetryAfter()),AuthenticationException,PermissionDeniedException,NotFoundException,ConflictException,ApiErrorException,ApiConnectionException. - Auto-retries (429/5xx/network) with backoff honouring
Retry-After(Guzzle handler stack). - Idempotency — an
X-Idempotency-Keyis added to every mutation. - Pagination —
Paginator(iterate,first(),toArray(),pages()). - Webhook verification —
constructEvent(HMAC-SHA256 of the raw body, constant-time).
Auth is the selectkey header; the environment (sandbox/production) is resolved from the key
prefix (sk_test_ / sk_live_).
Architecture
lib/ and src/ share the Selectwin\ namespace via two PSR-4 directories. Cross-cutting
concerns are injected once into the Guzzle client + Configuration, so every endpoint inherits
them and new endpoints work automatically on regen.
Development
Publishing (Packagist)
Packagist serves versions straight from git tags — nothing is uploaded. One-time setup:
- Sign in to https://packagist.org with GitHub and Submit the repo URL
(
https://github.com/selectwin/sdk-php). Packagist installs a webhook so every pushed tag becomes a new version automatically. git tag v0.1.0 && git push origin v0.1.0.
.github/workflows/release.yml runs the test suite on each tag and (optionally, if the
PACKAGIST_USERNAME / PACKAGIST_API_TOKEN secrets are set) pings Packagist to refresh
immediately — otherwise it relies on the webhook.
Roadmap
- Packagist release (above) once the API stabilises; a Laravel package (
selectwin/laravel) on top.
All versions of sdk with dependencies
ext-json Version *
ext-mbstring Version *
guzzlehttp/guzzle Version ^7.4
guzzlehttp/psr7 Version ^2.0