Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
724ee2e
refactor(php): rename solana/pay-sdk -> solana/pay-kit + layout per D…
EfeDurmaz16 May 27, 2026
8200b7e
feat(php/PayKit): umbrella value-object surface (Phase 2)
EfeDurmaz16 May 27, 2026
f87f73e
feat(php/PayKit): PSR-15 middleware + MPP adapter + x402 stub (Phases…
EfeDurmaz16 May 27, 2026
8859c28
feat(php/PayKit): Laravel adapter + tests + README (Phases 6, 10, 11)
EfeDurmaz16 May 27, 2026
82167ba
feat(php/PayKit/x402): full 11-rule structural verifier + cosign + br…
EfeDurmaz16 May 27, 2026
707387a
fix(php): cs-fixer pass + phpstan config + Signer::base58 SDK shim
EfeDurmaz16 May 27, 2026
897bb6a
ci(php): adjust coverage gate to 60% pending follow-up adapter tests
EfeDurmaz16 May 27, 2026
28d30e2
refactor(php): apply Ludo's PR #145 review comments
EfeDurmaz16 May 28, 2026
743cd16
feat(php/PayKit): close caveats #4 + #5 from PR #142 / Lua PR #141
EfeDurmaz16 May 28, 2026
72d44d6
feat(php): close parity gaps - dual-protocol harness + 55 new tests +…
EfeDurmaz16 May 28, 2026
534c375
test(php): push coverage to 90.15%, raise gate to 90
EfeDurmaz16 May 28, 2026
985a158
feat(harness,rust,php): unlock x402 cross-server portability + idempo…
EfeDurmaz16 May 28, 2026
3fe6a8c
fix(harness): keep x402 portability/idempotent on ts-stub pairs only …
EfeDurmaz16 May 28, 2026
db7976d
ci(php): add composer validate + audit steps to match Ruby workflow
EfeDurmaz16 May 28, 2026
dd2995c
test(php): add Preflight autofix coverage, raise gate to 91
EfeDurmaz16 May 28, 2026
3d30bd5
test(php): add RpcGateway abstraction + handler internals coverage
EfeDurmaz16 May 28, 2026
67ea6ee
fix(php): RequirePayment auto-wires X402 adapter + simple-server stat…
EfeDurmaz16 May 28, 2026
67ddf12
refactor(php): apply Ludo's second-round review comments
EfeDurmaz16 May 28, 2026
3ab27e0
refactor(php): move MPP-only PayCore files into Protocols/Mpp/Core
EfeDurmaz16 May 28, 2026
d18b4a2
test(php): drop the X402 -> MPP cross-import in tests/Protocols/X402/…
EfeDurmaz16 May 28, 2026
300d645
feat(php): advertise network slug in MPP challenge for pay --mpp sett…
EfeDurmaz16 May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ jobs:
- name: Install dependencies
working-directory: php
run: composer install --no-interaction --no-progress
- name: Validate composer.json
working-directory: php
run: composer validate --strict
- name: Audit composer dependencies
working-directory: php
run: composer audit --no-dev
- name: Run PHP linter
working-directory: php
run: composer run lint
Expand Down Expand Up @@ -69,6 +75,9 @@ jobs:
- name: Build Rust interop client
working-directory: rust
run: cargo build -p solana-mpp --bin interop_client
- name: Build Rust x402 interop client
working-directory: rust
run: cargo build -p solana-x402 --bin interop_client
- name: Install interop harness
working-directory: harness
run: pnpm install --frozen-lockfile
Expand All @@ -92,3 +101,17 @@ jobs:
MPP_INTEROP_CLIENTS: rust
MPP_INTEROP_SERVERS: php
MPP_INTEROP_SCENARIOS: charge-basic,charge-split-ata

# Dual-protocol proof: one e2e run drives MPP charge scenarios
# (typescript client) and x402 exact (rust-x402 client) against
# the same PHP adapter binary. Mirrors the lua + ruby interop
# steps.
- name: Run PayKit interop smoke (mpp charge + x402 exact)
working-directory: harness
env:
MPP_INTEROP_CLIENTS: typescript
MPP_INTEROP_SERVERS: php,typescript
MPP_INTEROP_INTENTS: charge,x402-exact
X402_INTEROP_CLIENTS: rust-x402
X402_INTEROP_SERVERS: ""
run: pnpm exec vitest run test/e2e.test.ts --testNamePattern "php server" --testTimeout 180000
Loading
Loading