PayPal Server SDK for PHP

PayPal's official PHP SDK for integrating with the PayPal REST APIs

SDK
Composer
v2.3.0
62stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
41/100Fair
Development Activity52
Maintenance8
Community40
Maturity44
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
74/100Good
Architecture75
Code Quality72
Innovation70
Learning Curve78

PayPal Server SDK for PHP (paypal/paypal-server-sdk) is PayPal’s official server-side SDK for integrating with the PayPal REST APIs. It provides a typed, configurable API client with controllers for Orders, Payments, Subscriptions, Payment Method Tokens (Vault), and Transaction Search, so PHP applications can accept and manage payments without hand-rolling HTTP requests and OAuth handshakes.

The client handles OAuth 2 client-credentials authentication, sandbox and production environments, configurable retries with exponential backoff, request logging, and proxy configuration out of the box. Request and response payloads are represented as model classes, giving developers structured access to PayPal’s API surface.

What You Get

  • A configurable PaypalServerSdkClient built via a fluent client builder
  • Controllers for Orders, Payments, Subscriptions, Vault tokens, and Transaction Search
  • Built-in OAuth 2 client-credentials authentication handling
  • Sandbox and production environment switching
  • Configurable retries, backoff, logging, and proxy support

Common Use Cases

  • Creating and capturing PayPal orders in an e-commerce checkout
  • Managing recurring billing through the Subscriptions API
  • Storing payment method tokens with Vault and reconciling via Transaction Search

Under The Hood

Architecture - The SDK centers on PaypalServerSdkClient constructed through PaypalServerSdkClientBuilder, with configuration surfaced via ConfigurationInterface and ConfigurationDefaults. API calls are grouped into Controllers, request/response payloads live under Models, and authentication is handled by ClientCredentialsAuth in the Authentication namespace. Environment and Server types select sandbox vs production, while Http, Logging, Proxy, and Exceptions namespaces cover transport concerns.

Tech Stack - Pure PHP supporting PHP 7.2 through 8.x, requiring the json and curl extensions. It is generated on top of APIMatic’s tooling, depending on apimatic/unirest-php, apimatic/core, and apimatic/core-interfaces for HTTP and serialization plumbing.

Code Quality - The codebase follows PSR-4 autoloading and enforces style with PHP_CodeSniffer (phpcs-ruleset.xml) and static analysis with Phan. As an APIMatic-generated SDK, structure and naming are highly consistent across controllers and models, though it currently covers only a subset (5) of PayPal’s endpoints.

API Design - The client uses a builder pattern for configuration and cleanly separated controllers per API domain, which keeps calls discoverable. The README and the doc/ directory provide extensive per-controller and per-model documentation, and sensible defaults (sandbox environment, retry policy) lower the barrier to a first successful call.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search