Skip to content

feat(gateways): add Unifonic SMS gateway (beta) - #142

Merged
kzamanbd merged 2 commits into
feat/sms-gatewaysfrom
feat/gateway-unifonic
Oct 22, 2026
Merged

kzamanbd merged 2 commits into
feat/sms-gatewaysfrom
feat/gateway-unifonic

Conversation

@kzamanbd

Copy link
Copy Markdown

What

Adds the Unifonic SMS gateway (Texty\Gateways\Unifonic, registry key unifonic), marked Beta.

  • Gateway class on the shared foundation (AbstractGateway, normalized Result, SendOptions, metadata)
  • Secrets declared as password (masked in the UI, redacted from SMS logs)
  • validate() per provider spec (live auth check where the provider has a side-effect-free endpoint)
  • Provider logo in assets/images/gateways/
  • PHPUnit tests + fixtures in tests/fixtures/gateways/unifonic/ (each fixture notes its docs source; "inferred" where docs give no example)
  • Registered in Gateways::all()

Why

Part of getdokan/texty-pro#37 (20 new gateways), built on the foundation from getdokan/texty-pro#36.

How tested

  • PHPUnit tests written; not yet run — run npx @wordpress/env start && npm run test:php before merge.
  • No live smoke test yet; gateway stays Beta until one passes.

Backward compatibility

Additive only: new class, new fixtures, one new line in Gateways::all(). No hooks, options or REST fields changed.

Notes

  • Merges into feat/sms-gateways; every gateway PR adds one line at the same spot in Gateways::all(), so expect a trivial conflict there when merging several.

Adds Texty\Gateways\Unifonic (registry key 'unifonic') on the shared
gateway foundation: normalized Result, live or format-only validate(),
password-masked secrets, metadata, logo, PHPUnit tests and fixtures.

Refs getdokan/texty-pro#37
@kzamanbd
kzamanbd merged commit 3910b46 into feat/sms-gateways Oct 22, 2026
1 of 2 checks passed
@kzamanbd
kzamanbd deleted the feat/gateway-unifonic branch October 22, 2026 06:48
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